迭代模型

本人目前所在的公司,所有的项目基本都是采用的迭代模型。常常是客户给的需求并不是很明确,开发好一部分功能后给用户看,根据用户给的反馈调整、细化,上线一个版本后,再进入下一个版本的迭代开发。


迭代模型(stagewise model)(也被称作迭代增量式开发或迭代进化式开发)

是一种与传统的瀑布式开发相反的软件开发过程,它弥补了传统开发方式中的一些弱点,具有更高的成功率和生产率。即所有功能一起开发,从粗到细,逐步求精。迭代模型适用于需求不甚明确、难度比较大的软件开发。(成功率体现在一次性全部开发完成后再给客户看,若与客户实际想要的产品有出入时,要付出的代价将会很大,而迭代开发在每一个版本后都可以和客户进行确认、得到反馈;生产率体现在每一次的迭代开发都只需要专注于一部分功能或者业务逻辑的开发,产出会较高)

  在迭代式开发方法中,整个开发工作被组织为一系列的短小的、固定长度(如3周)的小项目,被称为一系列的迭代每一次迭代都包括了需求分析、设计、实现与测试。采用这种方法,开发工作可以在需求被完整地确定之前启动,并在一次迭代中完成系统的一部分功能或业务逻辑的开发工作。再通过客户的反馈来细化需求,并开始新一轮的迭代。

  教学中,对迭代和版本的区别,可理解如下: 迭代一般指某版本的生产过程,包括从需求分析到测试完成; 版本一般指某阶段软件开发的结果,一个可交付使用的产品。

  与传统的瀑布模型相比较,迭代过程具有以下优点:

  1)降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。因拆分成了多个小项目,每个小项目完成都测试。

  2)降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。因客户看过并反馈过每个迭代。

  3)加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。因每次都专注于当前迭代。

  4)由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。因此复用性更高

猜你喜欢

转载自blog.csdn.net/loner_fang/article/details/85696768