经典的瀑布模型是基本的软件开发生命周期模型。它非常简单,但理想主义。以前这种模型非常受欢迎,但现在它没有被使用。但这非常重要,因为所有其他软件开发生命周期模型都基于经典的瀑布模型。
经典的瀑布模型将生命周期划分为一组阶段。此模型认为在完成上一阶段后可以启动一个阶段。也就是说,一个阶段的输出将是下一阶段的输入。因此,可以将开发过程视为瀑布中的顺序流。在这里,这些阶段彼此不重叠。经典瀑布模型的不同顺序阶段如下图所示:
现在,让我们简要了解一下每一个阶段:
可行性研究:此阶段的主要目标是确定开发软件在财务和技术上是否可行。
可行性研究涉及了解问题,然后确定解决问题的各种可能策略。根据这些不同确定的解决方案的优缺点进行分析,选择最佳解决方案,并按照此解决方案策略执行所有其他阶段。
需求分析和规范:需求分析和规范阶段的目的是了解客户的确切需求并正确记录它们。此阶段由两个不同的活动组成。
设计:此阶段的目标是将 SRS 中获取的需求转换为可以用编程语言编码的格式。它包括高级和详细的设计以及整体软件架构。软件设计文档用于记录所有这些工作 (SDD)
编码和单元测试:在编码阶段,使用任何合适的编程语言将软件设计转换为源代码。因此,每个设计的模块都是编码的。单元测试阶段的目的是检查每个模块是否正常工作。
集成和系统测试:不同模块的集成在编码和单元测试后不久进行。各种模块的集成通过多个步骤逐步进行。在每个集成步骤中,将先前计划的模块添加到部分集成的系统中,并对生成的系统进行测试。最后,在所有模块都成功集成和测试后,获得完整的工作系统并对其进行系统测试。
系统测试由三种不同的测试活动组成,如下所述:
维护: 维护是软件生命周期中最重要的阶段。用于维护的精力占开发完整软件所花费总工作量的60%。基本上有三种类型的维护:
经典的瀑布模型是软件开发的理想主义模型。它非常简单,因此可以将其视为其他软件开发生命周期模型的基础。以下是此SDLC模型的一些主要优点:
经典的瀑布模型存在各种缺点,基本上,我们不能在实际项目中使用它,但是我们使用其他基于经典瀑布模型的软件开发生命周期模型。以下是此模型的一些主要缺点:
无反馈路径: 在经典的瀑布模型中,软件从一个阶段到另一个阶段的演变就像一个瀑布。它假设开发人员在任何阶段都不会犯任何错误。因此,它不包含任何纠错机制。
难以适应变更请求: 此模型假设所有客户需求都可以在项目开始时完全正确地定义,但实际上客户的需求会随着时间的推移而不断变化。在需求规范阶段完成后,很难适应任何更改请求。
阶段无重叠: 此模型建议新阶段只能在前一阶段完成后启动。但在实际项目中,这是无法维持的。为了提高效率并降低成本,各个阶段可能会重叠。