欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

玩转信息系统项目!一起探索‘迭代模型’的生命周期

最编程 2024-08-06 09:24:56
...

在多数传统的生命周期中,阶段是以其中的主要活动命名的:需求分析、设计、编码、测试。传统的软件开发工作大部分强调一个序列化过程,其中一个活动需要在另一个开始之前完成。在迭代过程中,每个阶段都包括不同比例的所有活动。实质上,它类似小型的瀑布式项目。RUP认为,所有的阶段都可以细分为迭代。每一次的迭代都会产生一个可以发布的产品,这个产品是最终产品的一个子集。

迭代开发模型

迭代开发模型,如上图所示,水平方向为时间维度,从组织管理的角度描述整个软件开发生命周期,分四个阶段:初始、细化、构造、移交,可进一步描述为周期、阶段、迭代。核心工作流从技术角度描述迭代模型的静态组成部分,包括:业务建模、需求获取、分析与设计、实现、测试、部署。图中的阴影部分描述了不同的工作流,在不同的时间段内工作量的不同,几乎所有的工作流在所有时间段内均有工作量,只是大小不同而已。各阶段的主要任务:

  1. 初始化阶段:系统地阐述项目的范围,选择可行的系统构架,计划和准备业务案例。
  2. 细化阶段:细化构想,细化过程和基础设施,细化构架并选择构件。
  3. 构造阶段:资源管理、控制和过程最优化,完成构件的开发并依评价标准进行测试,依构想的验收标准评估产品的发布。
  4. 移交阶段:同步并使并发的构造增量集成到一致的实施基线中,与实施有关的工程活动(商业包装和生产、人员培训等),根据完整的构想和需求集的验收标准评估实施基线。

优点

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

  1. 降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个迭代的花费。
  2. 降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
  3. 加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。
  4. 由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代这种模式适应需求的变化会更容易些。

使用条件

  1. 在项目开发的早期需求可能有所变化。
  2. 分析设计人员对应用领域很熟悉。
  3. 高风险项目。
  4. 用户可不同程度地参与整个项目的开发过程。
  5. 使用面向对象的语言或统一建模语言(Unified Modeling Language,UML)。
  6. 使用CASE(Computer Aided Software Engineering,计算机辅助软件工程)工具,如Rose(Rose是非常受欢迎的物件软体开发工具。)。
  7. 具有高素质的项目管理者和软件研发团队。

推荐阅读