1.瀑布模型
瀑布模型:最早提出的软件开发的过程模型。
存在的问题: ①强调时间顺序的严格执行。前阶段不完成,后阶段不开始。
②将测试放在了编码之后。没有体现出测试贯穿软件生命周期的原则。可以避免需求的问题一直延续到代码完成才暴露或者被发现。
优缺点:
优点
- 为项目提供了按阶段划分的检查点。
- 当前一阶段完成后, 只需要去关注后续阶段。
缺点:
1)各个阶段的划分完全固定,阶段之间产生大量的文档。极大地增加了工作量。
.2) 线性开发,用户等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3)瀑布模型不适应用户需求的变化
2.螺旋模型
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。
引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。螺旋模型更适合大型的昂贵的系统级的软件应用。
3.迭代模型
迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入
在某种程度上,开发迭代是一次完整地