常用的4种开发模式
1. 瀑布式开发
瀑布式开发是由W.W.Royce在1970年提出的软件开发模型,是一种比较老的计算机软件开发模式,也是典型的预见性的开发模式。在瀑布式开发模式中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进度的方法,例如需求规格、设计文档、测试计划和代码审阅等。瀑布式开发最早强调系统开发应有完整的周期,且必须完整地经历每个周期内的每个开发阶段,并系统化地考量分析所涉及的技术、时间与资源投入等。
瀑布式开发的主要问题是它的严格分级导致自由度降低,项目早期即作出承诺会导致对后期需求的变化难以调整且代价很大,这在需求不明晰并且在项目进行过程中可能有变化的情况下基本上是不可行的。瀑布式开发如下图所示。
2. 迭代式开发
迭代式开发也被称为迭代增量式开发,是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式的一些弱点,有更高的成功率。在迭代式开发中,整个开发工作被组织为一系列短小的、固定长度的小项目,每次迭代都包括需求分析、设计、实现与测试。采用迭代式开发时,工作可以在需求被完整地确定之前启动,并在一次迭代种完成系统的一部分功能或业务,再通过客户的反馈来细化需求,并开始新一轮的迭代。迭代式开发如下图所示。