📅  最后修改于: 2020-12-13 14:31:32             🧑  作者: Mango
在迭代模型中,迭代过程从一小部分软件需求的简单实现开始,并迭代增强不断发展的版本,直到实现完整的系统并准备好进行部署为止。
迭代生命周期模型不会尝试从需求的完整规范开始。取而代之的是,开发仅从指定和实现软件的一部分开始,然后对其进行审核以识别进一步的需求。然后重复此过程,在模型的每次迭代结束时生成该软件的新版本。
迭代过程从简单实现一部分软件需求开始,并迭代增强不断发展的版本,直到实现整个系统为止。在每次迭代中,都会进行设计修改并添加新的功能。此方法的基本思想是通过重复循环(迭代)并一次以较小的部分(增量)来开发系统。
下图是迭代模型和增量模型的表示-
迭代开发和增量开发是迭代设计或迭代方法与用于开发的增量构建模型的结合。 “在软件开发过程中,可能同时正在进行一个以上的软件开发周期迭代。”此过程可以描述为“进化获取”或“增量构建”方法。”
在此增量模型中,整个需求分为各种构建。在每次迭代中,开发模块都会经历需求,设计,实施和测试阶段。该模块的每个后续发行版都向先前发行版添加函数。该过程将一直持续到按照要求准备好整个系统为止。
成功使用迭代软件开发生命周期的关键是对需求进行严格的验证,并在模型的每个周期内针对这些需求对软件的每个版本进行验证和测试。随着软件不断演变,必须重复测试并进行扩展以验证软件的每个版本。
与其他SDLC模型一样,迭代和增量开发在软件行业中具有某些特定的应用程序。此模型最常用于以下情况-
完整的系统要求已明确定义和理解。
必须定义主要要求;但是,某些功能或要求的增强可能会随着时间而发展。
市场有时间限制。
在项目开发过程中,开发团队正在使用和学习新技术。
具有所需技能的资源不可用,并且计划在合同基础上用于特定的迭代。
有些高风险功能和目标可能会在将来发生变化。
该模型的优点是在开发的早期阶段就存在系统的工作模型,这使得查找功能或设计缺陷变得更加容易。在开发的早期阶段发现问题可以在有限的预算内采取纠正措施。
这种SDLC模型的缺点是它仅适用于大型软件开发项目。这是因为很难将小型软件系统分解为其他较小的可用增量/模块。
迭代和增量SDLC模型的优点如下-
可以在生命周期的早期快速开发一些工作功能。
尽早定期获得结果。
可以计划并行开发。
进度可以衡量。
更改范围/要求的成本更低。
在较小的迭代过程中进行测试和调试很容易。
在迭代过程中识别并解决风险;并且每次迭代都是一个易于管理的里程碑。
风险管理更容易-高风险部分首先完成。
每次增加,都会交付可操作的产品。
从每个增量中识别出的问题,挑战和风险可以用于/应用于下一个增量。
风险分析更好。
它支持不断变化的需求。
初始操作时间更少。
更适合大型和关键任务项目。
在生命周期中,软件会尽早生产,以方便客户评估和反馈。
迭代和增量SDLC模型的缺点如下-
可能需要更多资源。
尽管更改成本较小,但是它不太适合更改需求。
需要更多的管理关注。
可能会出现系统体系结构或设计问题,因为并非在整个生命周期的开始都收集了所有要求。
定义增量可能需要定义整个系统。
不适合较小的项目。
管理复杂度更高。
可能不知道项目结束是有风险的。
风险分析需要技能娴熟的资源。
项目进度高度依赖于风险分析阶段。