架构杂谈《十》
架构杂谈《十》 常用开发模式 一、瀑布式开发 瀑布式开发是在1970年提出的软件开发模型,是一种较老的计算机软件开发模式,也是典型的预见性的开发模式,在瀑布式开发中,开发严格遵循预先计划的需求分析、设计、编码、集成、测试、维护的步骤进行,步骤的成果作为衡量进度的方法。瀑布式开发最早强调系统开发应有完整的周期,且必须完成完整地经历每个周期内的每个阶段,并系统化地考量分析所设计的技术、时间与资源等。 瀑布式开发的主要问题是它严格分级导致自由度降低,在需求不明确并且在项目进行过程中可能有变化的情况下基本上是不可行的。 (瀑布式开发模式图) 二、迭代式开发 迭代式开发也称迭代增量式开发,是一种与瀑布式开发相反的软件开发过程,它弥补了瀑布式开发方式的一些弱点,有更高的成功率。在迭代式开发中,整个开发工作被组织成一系列短小的、固定长度的小项目,每次迭代都包括需求分析、设计、实现与测试。采用迭代式开发时,工作可以在需求被确定之前启动,并在一次迭代中完成系统的一部分功能或业务,再通过客户的反馈来细化需求,并开始新一轮的迭代。 (迭代式开发模式图) 迭代式开发有以下的特点: 1)每次只设计和实现产品的一部分 2)一步一步地完成 3)每次设计和实现一个阶段,这叫作迭代 三、螺旋式开发 螺旋式开发兼顾了快速原型的迭代特征及瀑布模型的系统化和严格监控