迭代开发方法
上一篇原型方法只是一种需求验证的手段,如果将其思想运用到整个开发过程,使得每个阶段的任务经过反复多次,或者将分析、设计、实施的周期反复多次,通过一次次迭代,不断在原来的基础上完善和修正,越来越靠近目标,这样的开发方法称为迭代开发方法。
迭代开发方法有两种
一、增量迭代
增量迭代是将整个系统划分为多个小型的、功能相对孤立的小项目(子系统),被称为一系列的迭代或增量。每一次迭代都包括了分析、设计、实现和测试等一个完整周期,每个迭代周期完成一个增量,然后将它们集成。
二、进化迭代
进化迭代与增量迭代的区别是:每个迭代周期是对上一次迭代的演化和完善,比如可以将一个软件功能的编程划分为多个迭代周期,每个迭代是对该功能的补充和进化。
迭代开发方法是目前应用最为广泛的开发过程,它以功能递增或进化的方式进行软件开发,不仅可以较快的产生可操作的系统,改善测试效果,而且分析师、设计师和程序员等不同技术人员可以实现并行化作业。此外,每一次迭代中,都可以把用户或开发人员的经验结合到下一个迭代周期中,软件质量不断进步,降低开发总成本。
使用迭代开发方法其困难之处是:迭代的定义及迭代的长度。
进化型迭代或小型项目可以一周一次迭代,增量迭代或大型项目可以2~4周甚至更长。项目组需要有经验丰富的架构师,否则很难规划出每次迭代的内容和要到达的目标,相关的交付件的验证和过程控制也需要投入更多的精力。