第 2章 软件生命周期及软件开发模型学习要点:
软件生命周期表明软件从功能确定、设计,
到开发成功投入使用,并在使用中不断地修改、
增补和完善,直至被新的需要所替代而停止该软件的使用的全过程。
软件开发模型是从软件项目需求定义直至软件经使用后废弃为止,跨越整个生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。
第 2章 软件生命周期及软件开发模型
2.1 软件生命周期
2.2 软件开发模型退出软件生命周期:软件定义、软件设计、软件使用与维护三阶段,而又可以具体分成几个子阶段。
( 1)可行性研究
( 2)需求分析和定义
( 3)总体设计
( 4)详细设计
( 5)编码(实现)
( 6)软件测试、运行/维护图 2,1 软件生命周期退 役维 护调 试实 现详细设计需 求 分 析概要设计可 行 性 研 究
2.1软件生命周期
2。 2软件开发生命周期过程和活动软件生命周期过程的 IEEE( 美国电气电子工程师学会 IEEE) 标准描述了一系列活动和过程,对于 [IEEE
Std,1074-1995]的软件的开发和和维护来说这些活动是强制性的 。 它的目标是为开发生命周期模型建立一个通用框架 。 在这一节,我们描述由这一标准引入的主要过程和活动 。
过程是一系列朝着特定目标 ( 例如,需求,管理,
发布 ) 执行的活动 。 IEEE标准一共列出了 17个过程 (
见表 2.1) 。 把过程分组成更高层的抽象称为过程组 (
process group) 。
过程组的例子是项目管理,前期开发,开发和后期开发 。
表 2.1 IEEE 1074的软件过程
2。 2软件开发生命周期过程和活动
过程组 过程生命周期建模 选择生命周期模型项目管理 项目启动项目监控和控制软件质量管理前期开发 概念探讨系统配置开发 需求设计实现后期开发 安装操作和支持维护报废整体过程 验证并确认软件配置管理文档开发培训
2。 2软件开发生命周期过程和活动最早出现的软件开发模型是
1970年 W,Royce提出的瀑布模型,
而后随着软件工程学科的发展和软件开发的实践,相继提出了原型模型、
演化模型、增量模型、喷泉模型等。
问题计划开发时期运行时期图 2.2 瀑布模型问题定义可行性需求分析总体设计详细设计编码测试维护
2.2.1 瀑布模型
2.2.2 演化模型需求设计编码测试集成需求设计编码测试集成需求设计编码测试集成需求采集细化快速设计建造原型用户评价原型原型对原型加工产品样本停止开始
2.2.3 原型模型需求计划风险分析风险分析风险分析原型 1
原型 2
原型 3
可运行原型风险分析,
评价方案识别风险消除风险累计成本指定计划,
决定目标方案限制提交线评审生存期计划开发计划组装测试 客户评价软件需求需求确认设计确认验证软件产品设计实现验收测试编码组装测试单元测试实施工程,
开发、验 证形成产品
2.2.4 螺旋模型演化维护确认实现设计分析
2.2.5 喷泉模型关于 模型小结螺旋模型是由上面四个部分组成的迭代模型 。 螺旋模型的每一周期都包括需求定义,风险分析,工程实现和评审四个阶段 。 开发过程每迭代一次,螺旋线就增加一周,软件开发又前进一个层次,系统又生成一个新版本,而软件开发的时间和成本又有了新的投入 。 最后得到一个客户满意的软件版本 。
喷泉模型该模型表明软件开发活动之间没有明显的间隙,用于支持面向对象开发过程 。
由于对象概念的引入,使分析,设计,实现之间的表达没有明显间隙 。 并且,这一表达自然地支持复用 。