第二章--第一节:软件的生命周期和配置管理(软件构造学习笔记)
第二章:软件建设的过程和工具
第一节:软件的生命周期和配置管理
问题一:软件开发的生命周期
1.从无到有(从0到1)
2.从有到好(从1到n)
问题二:传统的软件过程模型
两种基本类型:
1.线性过程
2.迭代过程
存在的模型:
1.瀑布过程(线性)
2.增量过程(线性)
3.V字模型
4.原型过程 (迭代)
5.螺旋模型(迭代)
问题三:各个模型的含义及特点
1.瀑布模型(线性)
- 过程:线性推进、阶段划分清楚、整体推进、无迭代、管理简单、无法适应需求增加/变化
- 模式:
2.增量模型(线性)
- 过程:线性推进、增量式(多个瀑布的串行)、无迭代、比较容易适应需求的增加
- 模型:
3.V型(略)
4.原型(Prototyping)(迭代)
- 特点:在原型上持续不断的迭代发现用户变化的需求
- 迭代:开发出来之后由用户试用/评审,发现问题反馈给开发者,开发者修改原有的实现,继续交给用户评审。
- 循环往复这个过程,直到用户满意为止。时间代价高,但开发质量也高。
- 模型:
5.螺旋(迭代)
- 特点:多轮迭代基本遵循瀑布模式、每轮迭代有明确的目标,遵循“原型”过程,进行严格的风险分析,方可进入下一轮迭代
- 模型:
问题四:敏捷开发(Agile development)
含义:通过快速迭代和小规模的持续改进,以快速适应变化。(是增量模型和原型的综合)
特点:
- 极限的用和参与
- 极限的小步骤迭代
- 极限的确认/验证
模型: