
第二章软件工程过程模型Software Engineering第二章软件工程过程模型
第二章 软件工程过程模型 第二章 软件工程过程模型 ■Software Engineering

第二章软件工程过程模型主要内容软件生命周期M瀑布模型快速原型增量模型极限编程螺旋模型RUP
第二章 软件工程过程模型 ▪ 软件生命周期 ▪ 瀑布模型 ▪ 快速原型 ▪ 增量模型 ▪ 极限编程 ▪ 螺旋模型 ▪ RUP 主要内容

第二章软件工程过程模型2.1软件生命周期《计算机软件开发规范》(GB85668)软件生命周期包含:软件定义、软件开发、软件运行维护三个时期,并可以细分为可行性研究、项目计划、需求分析概要设计、详细设计、编码实现与单元测试、系统集成测试、系统确认验证、系统运行与维护等几个阶段
第二章 软件工程过程模型 2.1软件生命周期 ◼ 《计算机软件开发规范》(GB8566-8), 软件生命周期包含:软件定义、软件开 发、软件运行维护三个时期,并可以细 分为可行性研究、项目计划、需求分析、 概要设计、详细设计、编码实现与单元 测试、系统集成测试、系统确认验证、 系统运行与维护等几个阶段

第二章软件工程过程模型软件定义期要开发什么样的软件?■软件任务立项(项目立项报告)■项目可行性分析(可行性分析报告)制定项目计划(软件项目开发计划)■软件需求分析(软件需求规格说明书)以用户需求为基本依据,从功能、性能、数据、操作等多个方面,对软件系统给出完整准确、具体的描述,用于确定软件规格
第二章 软件工程过程模型 软件定义期 ◼ 要开发什么样的软件? ◼ 软件任务立项(项目立项报告) ◼ 项目可行性分析 (可行性分析报告) ◼ 制定项目计划 (软件项目开发计划) ◼ 软件需求分析(软件需求规格说明书) 以用户需求为基本依据,从功能、性能、数 据、操作等多个方面,对软件系统给出完整、 准确、具体的描述,用于确定软件规格

第二章软件工程过程模型软件开发期■软件概要设计(概要设计说明书)■软件系统的结构设计,用于从总体上对软件的构造、接口、全局数据结构和数据环境等给出设计说明■模块是概要设计时构造软件的基本元素,概要设计中软件也就主要体现在模块的构成与模块接口这两个方面,主要以模块的内聚、耦合性两个指标来进行评价
第二章 软件工程过程模型 软件开发期 ◼ 软件概要设计 (概要设计说明书) ◼ 软件系统的结构设计,用于从总体上对软件 的构造、接口、全局数据结构和数据环境等 给出设计说明 ◼ 模块是概要设计时构造软件的基本元素,概 要设计中软件也就主要体现在模块的构成与 模块接口这两个方面,主要以模块的内聚、 耦合性两个指标来进行评价

第二章软件工程过程模型(续)软件开发期详细设计(详细设计说明书)■概要设计为依据,用于确定软件结构中每个模块的内部细节(程序算法和模块内部的局部数据)■编码和单元测试(带注释的源代码)■编码必须按照“详细设计说明书”的要求逐个模块地实现■基本模块的单元测试也往往和编码结合在一起进行
第二章 软件工程过程模型 软件开发期(续) ◼ 详细设计(详细设计说明书 ) ◼ 概要设计为依据,用于确定软件结构中每个 模块的内部细节(程序算法和模块内部的局 部数据) ◼ 编码和单元测试(带注释的源代码) ◼ 编码必须按照“详细设计说明书”的要求逐 个模块地实现 ◼ 基本模块的单元测试也往往和编码结合在一 起进行

第二章软件工程过程模型(续)软件开发期■软件系统集成测试(测试报告)■软件系统组过程中,需要对整个软件系统进行集成测试,以确保软件系统在技术上符合设计要求,在应用上满足需求规格要求■软件系统确认验证(项目开发总结)■以用户为主体,以需求规格说明书中对软件的定义为依据,由此对软件的各项规格进行逐项地确认
第二章 软件工程过程模型 软件开发期(续) ◼ 软件系统集成测试(测试报告) ◼ 软件系统组过程中,需要对整个软件系统进 行集成测试,以确保软件系统在技术上符合 设计要求,在应用上满足需求规格要求 ◼ 软件系统确认验证(项目开发总结) ◼ 以用户为主体,以需求规格说明书中对软件 的定义为依据,由此对软件的各项规格进行 逐项地确认

第二章软件工程过程模型软件运行与维护期■软件不断进化升级的过程,以使软件系统更加持久地满足用户的需要改正性维护■适应性维护■完善性维护
第二章 软件工程过程模型 软件运行与维护期 ◼ 软件不断进化升级的过程,以使软件系 统更加持久地满足用户的需要 ◼ 改正性维护 ◼ 适应性维护 ◼ 完善性维护

第二章软件工程过程模型2.2建造一修补模型“边做边改”模型建造第一个版本修改直到客户满意1维护阶段开发维护退出使用
第二章 软件工程过程模型 2.2建造-修补模型 ◼ “边做边改”模型

第二章软件工程过程模型(续)建造一修补模型■优点■可以用于探索某个函数或类的用法■缺点:不能用于实际的软件开发■对没有规格说明和设计文档的产品进行维护相当困难,而且发生回归错误的可能性也相当大,从整个软件过程来说,特别是考虑到维护阶段的情况,实际上建造一修补模型的花费远远大于有正规的规格说明、经过详细设计的产品所需要的花费
第二章 软件工程过程模型 建造-修补模型(续) ◼ 优点 ◼ 可以用于探索某个函数或类的用法 ◼ 缺点:不能用于实际的软件开发 ◼ 对没有规格说明和设计文档的产品进行维护 相当困难,而且发生回归错误的可能性也相 当大 ◼ 从整个软件过程来说,特别是考虑到维护阶 段的情况,实际上建造-修补模型的花费远 远大于有正规的规格说明、经过详细设计的 产品所需要的花费