软件开发生命周期 - 迭代模型



在迭代模型中,迭代过程从软件需求的一小部分的简单实现开始,并迭代地增强不断发展的版本,直到整个系统实现并准备部署。

迭代生命周期模型不会尝试从完整的要求规范开始。相反,开发从指定和实现软件的一部分开始,然后对其进行审查以识别进一步的需求。然后重复此过程,在模型的每次迭代结束时生成一个新版本的软件。

迭代模型 - 设计

迭代过程从软件需求子集的简单实现开始,并迭代地增强不断发展的版本,直到实现完整系统。在每次迭代中,都会进行设计修改并添加新的功能。此方法的基本思想是通过重复循环(迭代)并一次开发较小的部分(增量)来开发系统。

下图是迭代和增量模型的表示 -

SDLC Iterative Model

迭代和增量开发是迭代设计或迭代方法和增量构建模型的结合。“在软件开发过程中,可能同时进行多个软件开发周期的迭代。”此过程可以描述为“演化式获取”或“增量构建”方法。”

在此增量模型中,整个需求被划分为各种构建。在每次迭代中,开发模块都经历需求、设计、实现和测试阶段。模块的每个后续版本都向先前版本添加功能。该过程持续进行,直到根据需求准备好完整的系统。

成功使用迭代软件开发生命周期的关键是对需求进行严格的验证,以及在模型的每个周期内针对这些需求验证和测试软件的每个版本。随着软件在连续周期中发展,必须重复并扩展测试以验证软件的每个版本。

迭代模型 - 应用

与其他 SDLC 模型一样,迭代和增量开发在软件行业中也有一些特定的应用。此模型最常用于以下场景 -

  • 完整系统的需求已明确定义并理解。

  • 必须定义主要需求;但是,某些功能或请求的增强功能可能会随着时间的推移而发展。

  • 存在上市时间约束。

  • 正在使用一项新技术,开发团队在项目中工作时正在学习该技术。

  • 所需的技能集的资源不可用,并计划在特定迭代中以合同为基础使用。

  • 存在一些可能在未来发生变化的高风险功能和目标。

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

迭代模型 - 优缺点

此模型的优点是在开发的非常早期的阶段就有一个系统的可工作模型,这使得更容易找到功能或设计缺陷。在开发的早期阶段发现问题能够以有限的预算采取纠正措施。

此 SDLC 模型的缺点是它仅适用于大型且庞大的软件开发项目。这是因为很难将一个小软件系统分解成更小的可服务增量/模块。

迭代和增量 SDLC 模型的优点如下 -

  • 可以在生命周期的早期快速开发一些可工作的功能。

  • 结果可以尽早并定期获得。

  • 可以计划并行开发。

  • 可以衡量进度。

  • 更改范围/需求的成本更低。

  • 在较小的迭代期间进行测试和调试很容易。

  • 在迭代期间识别并解决风险;并且每次迭代都是一个易于管理的里程碑。

  • 更容易管理风险 - 首先完成高风险部分。

  • 每次增量都会交付可操作的产品。

  • 可以将从每个增量中识别出的问题、挑战和风险用于/应用于下一个增量。

  • 风险分析更好。

  • 它支持更改需求。

  • 初始运行时间较短。

  • 更适合大型和关键任务项目。

  • 在生命周期中,软件会尽早生成,这有助于客户评估和反馈。

迭代和增量 SDLC 模型的缺点如下 -

  • 可能需要更多资源。

  • 尽管更改成本较低,但它不太适合更改需求。

  • 需要更多管理关注。

  • 可能会出现系统架构或设计问题,因为并非所有需求都在整个生命周期的开始时收集。

  • 定义增量可能需要定义完整系统。

  • 不适合较小的项目。

  • 管理复杂性更高。

  • 项目结束可能未知,这是一个风险。

  • 风险分析需要高技能的资源。

  • 项目的进展高度依赖于风险分析阶段。

广告