【补充】软件开发模式对比(瀑布、迭代、螺旋、敏捷)
【1】瀑布模式(Waterfall Model):
介绍:
- 瀑布模式是一种线性的开发模式,各个阶段按顺序依次执行,每个阶段严格依赖前一阶段的输出。
- 开发过程划分为需求分析、系统设计、编码、测试和运维等阶段。
- 每个阶段的结果都在下一个阶段开始之前独立完成。
优点:
- 明确定义和规划,适用于需求稳定的项目,能够对进度和成本进行较好的控制。
- 阶段清晰:从计划到开发最后到上线运行,三个阶段非常清晰。
- 时间顺序:每个阶段顺序必须是从上到下,严格按照时间先后进行。
- 环环相扣:在每一个阶段都必须有产出物然后才能进入到下一个阶段进行。
- 黑盒模式:每个阶段都有各自的角色和分工,各自只关心自己的任务。比如需求阶段开发人员无需关注。
缺点:
- 缺乏灵活性,无法应对需求变化,不利于及时反馈和快速迭代。
- 需求隔离:由于各阶段的人员只能接触到自己工作范围内的东西,所以对客户需求的理解程度高低不等,开发人员更像是定义为流水线上的工人。
- 变更代价大:既然叫做瀑布,就意味着不应该走回头路。否则如果出现返工,付出的代价会很大。需求变更,编码人员会很强的抵触情绪。<