- 瀑布模型:是一个经典的软件生命周期模型,也叫预测型生命周期模型、完全计划驱动型生命周期。在这个模型里,在项目生命周期的尽早时间,要确定项目范围以及交付此范围所需要的时间和成本。
- 一般将软件开发分为可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段。开发模式是线性的。
- 适用于:需求明确或很少变更的项目,如二次开发或升级型的项目,有利于大型软件开发人员的组织和管理;开发人员比较弱或缺乏经验。
- 以下情况优先选择瀑布模型:项目需求明确、充分了解拟交付的产品、有厚实的行业实践基础、或者整批一次性交付产品有利于干系人。
- 瀑布模型中每项开发活动具有以下特点:
- 从上一项开发活动接受其成果作为本次活动的输入;
- 利用这一输入,实施本次活动应完成的工作内容;
- 给出本次活动的工作成果,作为输出传给下一项开发活动;
- 对本次活动的实施工作成果进行评审。若其工作成果得到确认,则继续进行下一项开发活动;否则返回前一项,甚至更前的活动。
- 尽量减少多个阶段间的反复,以相对来说较小的费用来开发软件。
- 一般将软件开发分为可行性分析(计划)、需求分析、软件设计(概要设计、详细设计)、编码(含单元测试)、测试、运行维护等几个阶段。开发模式是线性的。
- 迭代模型:传统的软件开发工作大部分强调过程的串行执行,也就是一个活动需要在前一个活动完成后才开始,从而形成一个过程串,该过程串就组成了软件项目的生命周期。在迭代模型中,每个阶