SDLC - 瀑布模型

瀑布模型是第一个引入的流程模型。 它也称为线性顺序生命周期模型。 它非常易于理解和使用。 在瀑布模型中,每个阶段必须在下一阶段开始之前完成,并且阶段之间没有重叠。

瀑布模型是最早用于软件开发的 SDLC 方法。

瀑布模型说明了线性顺序流中的软件开发过程。 这意味着开发过程中的任何阶段只有在前一阶段完成后才会开始。 在这个瀑布模型中,阶段不重叠。


瀑布模型 - 设计

瀑布方法是第一个在软件工程中广泛使用以确保项目成功的 SDLC 模型。 在"瀑布"方法中,软件开发的整个过程被分成不同的阶段。 在此瀑布模型中,通常,一个阶段的结果按顺序充当下一阶段的输入。

下图展示了瀑布模型的不同阶段。

SDLC 瀑布模型

瀑布模型中的顺序阶段是 −

  • 需求收集和分析 − 要开发的系统的所有可能需求都在此阶段捕获,并记录在需求规范文档中。

  • 系统设计 − 本阶段研究第一阶段的需求规范,并准备系统设计。 此系统设计有助于指定硬件和系统要求,并有助于定义整体系统架构。

  • 实施 − 根据系统设计的输入,系统首先在称为单元的小程序中开发,这些小程序将在下一阶段集成。 每个单元都针对其功能进行开发和测试,这称为单元测试。

  • 集成和测试 − 在实施阶段开发的所有单元在每个单元测试后集成到一个系统中。 集成后对整个系统进行任何故障和故障测试。

  • 系统部署 − 完成功能和非功能测试后; 产品部署在客户环境中或投放市场。

  • 维护 − 客户端环境中出现了一些问题。 为了解决这些问题,发布了补丁。 还发布了一些更好的版本来增强产品。 进行维护以在客户环境中交付这些更改。

所有这些阶段都相互串联,在这些阶段中,进展被视为稳步向下流动(如瀑布)。 下一个阶段只有在为上一个阶段实现了定义的目标集并签署后才开始,因此名称为"瀑布模型"。 在这个模型中,阶段不重叠。


瀑布模型 - 应用

每个开发的软件都是不同的,需要根据内部和外部因素采用合适的 SDLC 方法。 最适合使用瀑布模型的一些情况是 −

  • 要求有很好的文档记录、清晰和固定。

  • 产品定义稳定。

  • 技术是可以理解的,而且不是动态的。

  • 没有模棱两可的要求。

  • 拥有充足的资源和所需的专业知识来支持该产品。

  • 项目周期很短。


瀑布模型 - 优势

瀑布式开发的优势在于它允许部门化和控制。 可以为每个开发阶段设置一个带有截止日期的时间表,并且一个产品可以一个一个地通过开发过程模型阶段进行。

开发从概念开始,经过设计、实施、测试、安装、故障排除,最后到操作和维护。 每个开发阶段都按照严格的顺序进行。

瀑布模型的一些主要优点如下 −

  • 简单易懂易用

  • 由于模型的刚性,易于管理。 每个阶段都有特定的可交付成果和审核流程。

  • 阶段被处理并一次完成一个。

  • 适用于要求很好理解的小型项目。

  • 明确界定阶段。

  • 理解里程碑。

  • 易于安排任务。

  • 过程和结果都有详细记录。


瀑布模型 - 缺点

瀑布式开发的缺点是不允许太多的反思或修改。 一旦应用程序处于测试阶段,就很难返回并更改在概念阶段没有很好记录或考虑的内容。

瀑布模型的主要缺点如下 −

  • 直到生命周期后期才生产出可用的软件。

  • 存在大量风险和不确定性。

  • 对于复杂和面向对象的项目来说,这不是一个好的模型。

  • 对于长期和正在进行的项目来说,模型很差。

  • 不适用于需求处于中度到高度变化风险的项目。 因此,此过程模型的风险和不确定性很高。

  • 很难衡量各个阶段的进展。

  • 无法适应不断变化的需求。

  • 在生命周期中调整范围可能会结束一个项目。

  • 集成在最后作为"大爆炸"完成,不允许及早发现任何技术或业务瓶颈或挑战。