一.软件生命周期
定义:
主要分为定义,开发,运行三个阶段。
可以更细致的分解为:问题的定义及规划->需求分析->软件设计->程序编码->软件测试->软件维护。
可行性研究
1.阶段性产品:可行性论证报告,初步的项目开发计划
2.内容:技术可行性,经济可行性,操作可行性,社会可行性
需求分析
1.阶段性产品:软件需求规格说明书SRS
概要设计
1.阶段性产品:概要设计规格说明书
数据库或数据结构设计说明书
集成测试计划
详细设计
1.阶段性产品:详细设计规格说明书, 单元测试计划
实现
1.阶段性产品:源程序代码
集成测试
1.任务:根据概要设计规格说明书
2.阶段性产品:生成满足概要设计要求,可运行的系统源程序和系统集成测试报告。
确认测试
1.任务:根据软件需求规格说明书
2.阶段性产品:可供用户使用的软件产品(文档,源程序)
二.软件过程模型/软件开发模型/软件生命周期模型
定义:软件开发的全部过程,活动和任务的结构框架
瀑布模型
结构化方法,阶段间具有顺序性和依赖性,推迟实现。
原型化瀑布模型
v模型
原型化模型:
允许需求或设计反复调查
阶段性模型
增量和迭代
螺旋模型
结合开发活动和风险管理
喷泉模型
支持面向对象开发
敏捷开发
极限编程,交流,简单,反馈,勇气
能力成熟度模型(cmm)
初始级–可重复级–已定义级–已管理级–优化级