曾经用对比举例的方式写过一篇通俗的敏捷开发介绍,虽然比较零基础,但确实内容不够丰富。这次就一次性总结下几个常见的模型。
1. 瀑布模型
按部就班一步一步地做,经典的计划设计实施的步骤。
前期需要完整的需求细节,否则后期变更成本很高。
过程:(可行性分析、需求分析)、(概要设计、详细设计)、编码、测试、运行维护
2. 原型模型
找一个类似的成品系统样例,通过修改这个原型向真实需求上去靠拢,如果过程中发现偏离需求,可更换原型再进行尝试。
当用户需求无法很清除地获得时,原型方法能有效节约成本,达到项目的目标愿景。
过程:
*用户需求不清晰原因:获取困难、需求模糊
3. 螺旋模型
结合了瀑布和原型的优点:瀑布的线性,原型的迭代
演化的过程、适用于庞大复杂高风险的情况
过程:制定计划、风险分析、实施工程、测试评估
4. 迭代模型
工作流:业务建模、需求获取、分析设计、实现、测试、部署
以上每个工作流都要经历:初始、细化、构造、移交 四个阶段。
进行的每个工作流都有阶段的对应侧重点。
5. 敏捷开发
快速迭代、开发测试人员参与需求
6. 测试V模型
单元测试、集成测试、系统测试、验收测试
编码实施、详细设计、概要设计、需求分析
一一对应,测试属于开发阶段,这是在瀑布模型的基础上进行的。
新型测试V模型
单元测试、集成测试、系统测试、验收测试
编码实施、详细设计、概要设计、需求分析、用户需求