§ 1.2 软件生存周期
1.2.1 软件生存周期
(Software Life Cycle)
软件产品或软件系统从设计、投入使用到被淘汰的全过程。
1.2.1 软件生存期的阶段划分
(1)可行性研究与计划
(2)需求分析
(3)总体设计 上游
(4)详细设计
(5)实现
(6)集成测试
(7)确认测试 下游
(8)使用和维护
(根据国标,计算机软件开发规范,)
只考虑编写程序涉及整个软件生存周期扩展到软件工作的范围
1.2.2 软件开发模型软件开发模型是软件开发全部过程、活动和任务的 结构框架 。它能直观表达软件开发全过程,明确规定要完成的主要活动、任务和开发策略。
软件开发模型也常称为:
软件过程模型软件生存期模型软件工程范型
1,瀑布模型 (线形顺序模型 )
可行性研究与计划需求分析设计编码运行维护测试定义阶段开发阶段维护阶段按照传统瀑布模型开发软件的特点
1.阶段间具有顺序性和依赖性。
2.推迟实现的观点。
3.每个阶段必须完成规定的文档 ;
每个阶段结束前完成文档审查,
及早改正错误。
2,原型模型 (快速成型模型)
建造 /修改原型用户测试运行原型听取用户意见原型范型采用原型模型的软件生存周期分析定义系统需求生成原型系统设计程序设计编码测试运 行和维护原型化含原型化的软件生存期
3,演化模型
3.1 增量模型 (递增模型 )
先完成一个系统子集的开发,
再按同样的开发步骤增加功能 (系统子集 ),如此递增下去直至满足全部系统需求。
系统的总体设计在初始子集设计阶段就应作出设想。
分析增量模型设计 编码 测试分析 设计 编码 测试分析 设计 编码 测试分析 设计 编码 测试增量 1
增量 2
增量 3
增量 n
增量 1
交付客户增量 2
交付客户增量 3
交付客户增量 n
交付客户日历时间
…..
3.2 螺旋模型 风险分析工程实施用户通信用户评估产品维护项目产品增强项目新产品开发项目概念开发项目计划建造及发布
“基于版本发布,的特点
V1.0功能时间
V2.0
V1.1
Trade-off Decision (折中决定 )
可 靠 性发布日期功 能最优 约束范围 可接受正确的 Trade-off 决定
4,面向对象模型
4.1 喷泉模型 进一步开发实现和集成阶段运行状态实现阶段面向对象设计阶段计划阶段面向对象分析阶段需求阶段维护期喷泉模型特点主要用于支持面向对象开发过程体现了软件创建所固有的迭代和无间隙的特征
4.2 可重用部件组装模型使用重用技术的软件工程模型
构件 (components):可重用的软件成份
可复用性 ( Reusability)
(可重用性)
集成化软件开发环境 ( ISEE)
可重用部件组装模型系统 A的软件构成系统 C的软件构成系统 B的软件构成可重用部 件可重用部 件软件生产线应用构件提取车间应用构件库构件生产车间构件库 组装车间领域
1
领域
2 应用系统
...
1
2
3
4
1基础构件,2功能构件3
接口构件,4用户界面构件