清华大学郑人杰殷仁昆教授软件工程讲义01.ppt
《清华大学郑人杰殷仁昆教授软件工程讲义01.ppt》由会员分享,可在线阅读,更多相关《清华大学郑人杰殷仁昆教授软件工程讲义01.ppt(38页珍藏版)》请在三一文库上搜索。
1、软件工程,1,软件工程 第一章 软件工程概念,授课老师:清华大学计算机系 殷人昆,软件工程,2,提示:设计与建模要点,结构化分析建模:数据流图、实体关系图、状态迁移图、数据字典 结构化设计建模:数据流图转换为系统结构图 结构化程序设计:程序流程图、N-S图、PAD 程序环路复杂性计算 测试用例设计:逻辑覆盖、循环测试、基本路径覆盖、因果图 可靠性分析:估算测试前程序中潜在错误 OMT建模:对象模型、动态模型(状态图、事件追踪图) UML建模:用例图、类图、顺序图、活动图,软件工程,3,软件的概念,软件的定义软件由计算机程序、数据及文档组成。 软件与硬件、数据库、人、过程等共同构成计算机系统。
2、软件按功能分类:应用软件、系统软件、支撑软件。 软件的发展经历了三个阶段:程序设计阶段、程序系统阶段、软件工程阶段。,软件工程,软件工程概念的出现源自软件危机。 软件危机的主要特征 软件价格在整个项目投入中的比例不断升高; 软件开发成本严重超标; 软件开发周期大大超过规定日期; 软件质量难于保证; 软件修改、维护困难; 失败的根本原因在于:开发人员写出的东西达不到用户要求 (人的问题、技术问题),软件工程,5,1968 年德国人 Bauer 在北大西洋公约组织会议上的定义: “建立并使用完善的工程化原则 , 以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法“。 1983 年 IE
3、EE 的软件工程定义: “软件工程是开发,运行 , 维护和修复软件的系统方法“。 1993 年 IEEE 的一个更加综合的定义: “将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中“。,软件工程定义,软件工程,6,软件工程框架,软件工程,7,软件工程框架给出了软件工程三个主要方面。 软件工程目标包括可用性、正确性和合算性,规定了软件工程实践的结果(即软件)应具有的基本性质; 软件工程过程包含的基本活动有需求、分析与设计、实现、确认与测试、维护与支持; 软件工程的四条原则-采用适宜的开发模型,使用恰当的开发方法,提供高质量的工程支持,实施有效的工程管
4、理,从四个方面指导每一项工程的活动,以实现软件工程目标。,软件工程,8,软件工程的知识结构,2001年5月ISO/IEC JTC 1发布了SWEBOK 指南 V0.95(试用版),即 Guide to the Software Engineering Body of Knowledge 。 SWEBOK 把软件工程学科的主体知识分为 10 个知识领域这 10 个领域包括:软件需求,软件设计,软件构造,软件测试,软件维护,软件配置管理,软件工程管理,软件工程过程,软件工程工具和方法,软件质量。,软件工程,9,软件工程的知识结构,2001年5月ISO/IEC JTC 1发布了 SWEBOK指南V0
5、.95(试用版),即 Guide to the Software Engineering Body of Knowledge。 SWEBOK把软件工程学科的主体知识分为10个知识领域。这10个领域包括: 软件需求 软件设计 软件构造 软件测试 软件维护 软件配置管理 软件工程管理 软件工程过程 软件工程工具和方法 软件质量,软件工程,10,ISO 9000定义:软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。 从软件开发的观点看,它就是使用适当的资源(包括人员、硬软件工具、时间等),为开发软件进行的一组开发活动,在过程结束时将输入(用户要求)转化为输出(软件产品)。,软件工程过程与软
6、件生存周期,软件工程,11,软件工程过程定义了: 方法使用的顺序、要求交付的文档资料、为保证质量和适应变化所需要的管理、软件开发各个阶段完成的里程碑。 软件工程过程包含四种基本的过程活动: plan : 软件规格说明 do : 软件开发 check : 软件确认 action : 软件演进,软件工程,12,软件生存周期包含三个阶段:软件定义、软件开发及软件运行维护。 软件生存周期模型是软件工程思想的具体化,是跨越软件生存周期的系统开发、运行、维护所实施的全部活动和任务的过程框架。 常用的软件生存周期模型有瀑布模型,演化模型,螺旋模型,增量模型,喷泉模型,快速应用开发( RAD )模型。,软件工
7、程,13,瀑布模型,各项活动按自上而下,相互衔接的固定次序,如同瀑布逐级下落,每项活动均处于一个质量环(输入-处理-输出-评审)中。 阶段间具有顺序性和依赖性。 推迟实现的观点。 每个阶段必须完成规定的文档;每个阶段结束前完成文档审查。,软件工程,14,软件工程,15,演化模型,演化模型是迭代的,软件必须经过不断演化才能完善。 演化模型先开发一个“原型”软件,完成部分主要功能,展示给用户并征求意见,然后逐步完善,最终获得满意的软件产品。 业务和产品需求在变化中,采用线性开发方式是不实际的。 快速实现和提交一个有限的版本,可以应付市场竞争的压力。,软件工程,16,软件工程,17,螺旋模型,螺旋模
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 清华大学 人杰 殷仁昆 教授 软件工程 讲义 01
链接地址:https://www.31doc.com/p-3217316.html