软件工程 |迭代瀑布模型
在实际的软件开发项目中,经典的瀑布模型很难使用。因此,迭代瀑布模型可以被认为是对经典瀑布模型进行必要的更改,以使其可用于实际的软件开发项目。它与经典的瀑布模型几乎相同,只是为了提高软件开发的效率而进行了一些更改。
迭代瀑布模型提供了从每个阶段到其前一个阶段的反馈路径,这是与经典瀑布模型的主要区别。
迭代瀑布模型引入的反馈路径如下图所示。
当在稍后的某个阶段检测到错误时,这些反馈路径允许纠正程序员在某个阶段提交的错误。反馈路径允许对提交错误的阶段进行返工,并且这些更改会反映在以后的阶段中。但是,没有反馈路径到阶段——可行性研究,因为一旦一个项目被拿走了,就不会轻易放弃这个项目。
最好在提交错误的同一阶段检测错误。它减少了纠正错误所需的工作量和时间。
错误的相位控制:
尽可能接近它们的承诺点检测错误的原则被称为错误的阶段包含。
迭代瀑布模型的优点:
- 反馈路径 –
在经典的瀑布模型中,没有反馈路径,因此没有纠错机制。但是在迭代瀑布模型中,从一个阶段到其前一阶段的反馈路径允许纠正已提交的错误,并且这些更改会反映在后面的阶段中。 - 简单的 -
迭代瀑布模型非常易于理解和使用。这就是为什么它是最广泛使用的软件开发模型之一。 - 具有成本效益 -
更改模型中的计划或要求具有很高的成本效益。此外,它最适合敏捷组织。 - 有条不紊——
在此模型中,记录文档所花费的时间更少,团队可以将更多时间用于开发和设计。
迭代瀑布模型的缺点:
- 难以合并变更请求 –
迭代瀑布模型的主要缺点是在开始开发阶段之前必须清楚地说明所有需求。客户可能会在一段时间后更改需求,但迭代瀑布模型不会留下任何空间来合并在开发阶段开始后提出的更改请求。 - 不支持增量交付 –
在迭代瀑布模型中,完整的软件在交付给客户之前已经完全开发和测试。没有任何中间交付的范围。因此,客户必须等待很长时间才能获得该软件。 - 不支持相位重叠 –
迭代瀑布模型假设一个阶段可以在前一阶段完成后开始,但在实际项目中,阶段可能会重叠以减少完成项目所需的工作量和时间。 - 不支持风险处理 –
项目可能会遭受各种类型的风险。但是,迭代瀑布模型没有风险处理机制。 - 有限的客户互动——
客户交互发生在项目开始时的需求收集时和项目完成时的软件交付时。由于最终开发的软件可能与客户的实际需求不同,因此与客户的这些较少的交互可能会导致许多问题。