软件生存周期模型之迭代模型

什么是迭代模型

迭代式模型是是RUP(Rational Unified Process,统一软件开发过程,统一软件过程)推荐的周期模型。在RUP中,迭代被定义为:迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他外围元素。所以,在某种程度上,开发迭代是一次完整地经过所有工作流程的过程:(至少包括)需求工作流程、分析设计工作流程、实施工作流程和测试工作流程。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段(需求及其它)都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。迭代的思想如图所示:

迭代和瀑布的区别

迭代模型同瀑布模型一样,项目也会遵循需求->分析->设计->开发->测试->发布的流程,但不同的是,在前期需求分析阶段,会将所有的需求按照核心功能点-模块-关联模块进行拆分并分期实现,然后以迭代的形式逐步完善功能,在每一次迭代完成后系统都是可以交付的原型,往往第一次迭代都是产品最核心的功能。

迭代和瀑布的最大的差别就在于风险的暴露时间上。“任何项目都会涉及到一定的风险。如果能在生命周期中尽早确保避免了风险,那么您的计划自然会更趋精确。有许多风险直到已准备集成系统时才被发现。不管开发团队经验如何,都绝不可能预知所有的风险。”  由于瀑布模型的特点(文档是主体),很多的问题在最后才会暴露出来,为了解决这些问题的风险是巨大的。"在迭代式生命周期中,您需要根据主要风险列表选择要在迭代中开发的新的增量内容。每次迭代完成时都会生成一个经过测试的可执行文件,这样就可以核实是否已经降低了目标风险。"

迭代模型周期主要阶段

 

优缺点

优点:
1)在需求分析阶段就给出了相对完成的架构设计方案,便于后面迭代的扩展和完善;
2)第一阶段核心功能交互用户后,可以及早获取反馈结果,对后期的迭代起到指导作用;
3)人员分配灵活,前期不用投入很多人力;
4)在前期能够很好的控制风险,并且解决难度系数较低,影响范围也较小。
缺点:
1)对项目需求明晰度要求很高;
2)对整个项目周期要求较宽裕,政治任务需排除。

posted on 2020-02-01 15:15  活着的虫子  阅读(2730)  评论(0编辑  收藏  举报

导航