定义
瀑布模型是将产品生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品。其过程是将上一项活动的输出作为该项活动的输入,利用这一输入实施该项活动应完成的内容,然后对当前活动的工作结果进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。上实际70-80年代早期,它一直是唯一被广泛采用的软件开发模型。
适用场景
- 当有一个稳定的产品定义和很容易被理解的技术解决方案时,纯瀑布模型特别合适
- 当你对一个定义得很好的版本进行维护或将一个产品移植到一个新的平台上,瀑布模型也特别合适
- 对于那些容易理解但很复杂的项目,采用纯瀑布模型比较合适,因为可以用顺序方法处理问题
- 在质量需求高于成本需求和进度需求的时候,它尤为出色
- 当开发队伍的技术力量比较弱或者缺乏经验时,瀑布模型更为适合
缺点
- 开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险
- 通过过多的强制完成日期和里程碑来跟踪各个项目阶段
- 不适应用户需求的变化
- 早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果
- 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
优点
- 纯瀑布模型能够降低管理费用,因为你可以预先完成所有计划
- 更好的达到质量预期
- 当前一阶段完成后,只需要去关注后续阶段
- 为项目提供了按阶段划分的检查瀑布模型查点