- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学出版社 第1章 软件工程和软件设计 内容提要 1.1 软件 1.1.1 软件的本质 1.1.2 软件神话 6 1.2 软件工程 1.2.1 软件工程 1.2.2 软件过程和软件工程实践 1.2.3 网络环境带来的影响 1.3 软件设计 1.3.1 软件工程中的设计 1.3.2 设计过程和设计质量 1.3.3 软件设计原则 1.4 软件体系结构 1.4.1 什么是软件体系结构 1.4.2 软件体系结构的内容 1.4.3 设计阶段的软件体系结构 1.5 小结 1.1 软件 1.1.1 软件的本质 计算机软件,是由专业人员开发并长期维护的软件产品。 软件科学成为了今天商业、科学、工程必需的技术,促进了新科技的创新和发展 但是,无论国外、国内,软件危机的达摩克利斯之剑,一直高悬在软件从业者头顶,至今挥之不去。 软件与信息转换 软件的特性 软件是设计开发的,而不是传统意义上生产制造的 软件不会磨损! 随着基于构件的构造模式发展,大多数软件需要根据实际的顾客需求定制 硬件和软件的失效曲线 计算机软件分类 系统软件 应用软件 嵌入式软件 科学和工程计算软件 产品线软件 人工智能软件 网络化软件 新的挑战 开放计算 网络资源 开源软件 软件的演变和认识过程 程序设计语言的发展有三个层面 以标准C语言簇为典型代表的面向过程的软件设计方法 以JAVA语言簇为典型代表的面向对象的软件设计方法 以XML语言为典型代表的面向构件的软件设计方法 人月神话 1.2 软件工程 1.2.1 软件工程 美国电气与电子工程师协会(IEEE)给出的: 软件工程是:(1)将系统化的、规范的、可量化的方法应用于软件的开发、运行和维护,即将工程化方法应用于软件。(2)在(1)中所述方法的研究。 软件工程层次图 软件工程与计算机科学的差别 1.2.2 软件过程和软件工程实践 一个通用的软件工程过程框架,通常包含5个活动: 沟通:在技术工作开始之前,和客户的沟通、协作极其重要 目的是理解利益相关者的项目目标,并收集需求,以定义软件特性、功能。 策划:软件项目好比是一个复杂的旅程,策划活动,就是创建一个使任何复杂的旅程都变得简单的地图,以指导团队的项目旅程,该地图称为软件。 建模:无论是庭园设计家、桥梁建造者、航空工程师、木匠还是建筑师,每天的工作都离不开模型。 他们会画一张草图,来辅助理解整个项目大的构想,包括体系结构、不同的构件如何结合,以及其它特征。 构建:包括手写的、自动生成的编码和测试,以发现编码中的错误。 部署:软件以全部、部分增量的形式交付给用户,用户对其进行评测,并给出反馈意见。 7条简单的原则 存在价值:软件系统因能给用户提供价值,而具有存在价值。所有的决定,都应基于该思想。 保持简洁:软件设计并不是随意的过程,软件设计中需要考虑很多因素。所有的设计,都应该尽可能简洁, 保持愿景:清晰的愿景,是软件项目成功的基础。没有愿景,项目将会有多种设计思想而永远不能结束。如果缺乏一致性, 关注使用者:有产业实力的软件系统,不是在真空中开发、使用的。通常,软件系统必定是由开发者以外的人员使用、维护和编制文档,等等,这就必须要让别人理解你的系统。因此,在需求说明、设计和实现过程时 面向未来:生命期持久的系统,具有更高的价值。在现在的计算环境中,需求规格说明随时会变 计划复用:复用既省时又省力。软件系统开发过程中,高水平的复用,是一个很难实现的目标。面向对象技术会给代码和设计复用带来好处 认真思考:这最后一条规则,可能最容易忽略。行动之前,清晰定位、完整思考,通常能产生更好的结果。仔细思考,可以提高做好事情的可能性 10个重要的软件工程思想 1.2.3 网络环境带来的影响 美国南加州大学的巴里·贝姆(Barry Boehm)教授,总结了国际上软件工程的发展历程: 20世纪50年代的类似硬件工程 60年代的软件手工生产、70年代的形式化方法和瀑布模型 80年代的软件生产率和可扩展性 90年代的软件并发和顺序进程 21世纪初的软件敏捷性和价值 软件工程在40年发展历程中关注域转向需求 40年来,软件工程的发展都是以系统为中心的,基于图灵计算模式,图灵计算时代,计算机软件是与计算机系统操作有关的程序、规程、规则及如何与之有关的数据结构和文档,即: 软件=程序+数据结构+文档 随着一个划时代的转变,人们开始推崇“软件即服务”的思想。 那么,计算机软件是与满足需求的信息及与之有关的服务工具,即: 软件=满足需求的信息+服务工具 Google的成功,就是一个现实的例子。 传统的与互联网时代的软件工程观比较 1.3 软件设计 朗曼字典里,对“设计”的解释包括: 描述某个事物如何被制造出来的图样或模式。 形成上述图样或模式的艺术。
您可能关注的文档
- 软件工程第三章课件要点.ppt
- 软件工程第8章要点.ppt
- 软件工程简答复习题要点.doc
- 软件工程试题2要点.doc
- 软件工程第四章-2(软件设计)要点.ppt
- 软件工程课件之第1章_软件工程学概述(第五版)(张海潘编著)要点.ppt
- 软件工程学2016年下半年第二次作业要点.docx
- 软件工程选择题大全(修改)要点.doc
- 软件工程概论实验报告要点.doc
- 软件工程详细设计要点.ppt
- 2025年湖南郴州市理工职业技术学校招聘3人考试备考题库及答案解析.docx
- 2025年度资阳市公开遴选(考调)公务员考试备考题库及答案解析.docx
- 2025上海建桥学院国际设计学院招聘9人(专任教师)考试备考题库及答案解析.docx
- 2025辽宁中国医科大学及附属医院招聘高层次和急需紧缺人才7人(第三批)考试备考题库及答案解析.docx
- 2025山东东营港经济开发区所属国有企业补充招聘优秀人才16人考试备考题库及答案解析.docx
- 2025湖北十堰市丹江口市妇联招聘公益岗人员1人考试备考题库及答案解析.docx
- 2025年度资阳市公开选调公务员考试备考题库及答案解析.docx
- 2025年7月重庆市綦江区万东镇公益性岗位招聘14人考试备考题库及答案解析.docx
- 2025年仙桃市选聘大学生村干部168人考试备考题库及答案解析.docx
- 2025年攀枝花市市直机关公开遴选(考调)公务员考试备考题库及答案解析.docx
最近下载
- 悦纳自己——爱自己的100种方式(课件)高一下学期心理健康课(通用版).pptx VIP
- 浙江省消防技术规范难点问题操作技术指南-2025修订稿(定稿).docx
- 再生医学技术:2025年关节软骨修复研究前沿报告.docx
- 《电梯监督检验和定期检验规则》(TSG T7001-2023).docx VIP
- T CNAS 32─2023 注射相关感染预防与控制.pdf VIP
- 罗宾斯组织行为学第18版中文ppt1.pptx VIP
- 浙商中拓(000906)公司2023年财务分析研究报告.pdf
- 食材食品质量问题退换货方案.docx VIP
- 智能找车系统(数字1对1)调试手册.doc VIP
- 工业智能控制.pdf VIP
文档评论(0)