瀑布模型

17 Mar 2025 | 5 分钟阅读

它是软件开发中使用的第一种方法和基本模型。它是一个简单易用且易于理解的模型。 执行按顺序进行,这意味着一个阶段的结果等于另一个阶段的输入。 因此,它也被称为线性顺序生命周期模型。

为了避免多个阶段的重叠问题,每个阶段都应在进入下一阶段之前完成。 瀑布模型的每个阶段都涉及前一阶段的可交付成果,例如将需求转移到设计阶段,将设计转移到开发阶段,依此类推。 当我们有生命攸关的(医院应用程序)和机器关键的(军事项目)时,我们将广泛使用瀑布模型。

瀑布模型分为以下几个阶段

  • 需求收集
  • 可行性研究
  • 设计
  • 编码
  • 测试
  • 安装
  • 维护

让我们逐一了解它们

需求收集

需求收集是瀑布模型的第一个阶段,业务分析师会将客户的所有信息或业务需求以需求文档的形式收集起来。并且该文档应清晰易懂,并且所有需求都已正确列出。

通过借助软件需求规范 [SRS]、客户需求规范 [CRS] 和业务需求规范 [BRS],生成 SRS 文档。 并且此 SRS 文档涵盖了应开发和设计的整个内容。

功能需求特性

  • 它应该用简单的语言编写,以便易于理解。
  • 规范应以适当的流程进行。
  • 要求应该是可计数的。
Waterfall model

可行性研究

可行性研究基于项目的需求,许多人(人力资源、业务分析师、架构师)评估该项目是否可以完成。 为了开发一个好的项目,我们应该遵循各种特征,这些特征基于客户的要求

方面描述
Legal公司是否可以处理网络法和其他监控协议方面的项目?
技术检查现有机器是否支持该软件?
运营可行性公司应该能够生成客户提供的运营?
经济公司是否能够在给定的预算内完成产品?
调查表项目应该在给定的时间表内完成。

设计

完成可行性研究后,我们将进入下一个阶段,即设计。 在此,我们将在一些基本工具的帮助下创建产品的体系结构,例如不同的软件和硬件的组合、各种编程语言(PHP、Java、.Net 等)、数据库(MySQL、Oracle)。 然后,设计人员准备好应用程序的计划,该计划可以分为两个不同的部分

  • 高级设计
  • 低级设计

高级设计 [HLD]

在此,设计人员将仅专注于决策树、流程图、决策表、流程图、数据字典等模型,架构师会这样做。

低级设计 [LLD]

在此,设计人员将专注于用户界面 (UI) 等组件,开发经理会这样做。

编码

完成设计阶段后,我们就可以开发应用程序了。 为此,开发人员将根据他们的编程语言知识开始编写代码,它可以是任何语言,例如 Python、C、Java、C#、C++ 等。 而后端开发人员将根据所需的操作进行后端编码,前端开发人员将开发有吸引力的 GUI。

测试

代码编译完成后,将移交给相关的测试工程师。 之后,测试工程师将根据客户端的需求开始测试应用程序的功能。

在测试应用程序时,他们可能会遇到应用程序中的一些缺陷或错误(未按照客户的需求工作),并将这些错误连同适当的理由发送给开发人员。 然后开发人员将验证给定的错误是否有效。 如果正确,开发人员将对其进行修复,并用新的错误替换。 之后,测试人员将重新测试并验证该错误是否已修复。

安装

应用程序测试完毕后,我们将进入下一个阶段(安装)。 在此,该过程将一直保持到软件稳定或没有错误并满足所有客户要求为止。 当应用程序稳定时,它将被安装到客户端的环境中以供他们使用。

获得软件后,客户端将进行一轮测试以满足他们的要求。 如果他们遇到任何错误,他们将通知开发团队以解决该特定应用程序的这些问题。 解决所有问题后,该应用程序将部署供最终用户使用。

维护

成功完成六个阶段后,我们将进入瀑布模型的最后阶段(维护)。 在此,该过程将一直保持到软件结束,最终用户开始使用该应用程序,他们可能会遇到一些需要测试和修复的问题。 定期维护产品称为维护,其中包括硬件和软件中发生的变化,以保持运营效率并提高性能。

瀑布模型的示例

早期,它用于应用程序,例如人力资源管理 [HRM]、供应链管理系统、客户关系管理 [CRM] 和零售连锁店等,但现在在当前时代,瀑布模型已被其他模型取代,例如迭代模型和敏捷方法等。

Waterfall model

瀑布模型的优点和缺点

优点缺点
在瀑布模型中,需求应该明确。此模型没有并行可交付成果,这意味着两个团队可以一起工作。
它适用于需求得到很好理解的较小项目。瀑布模型不提供需求变更和需求审查。
此模型易于理解且易于使用。以前,当发明瀑布时,没有测试的概念,这就是为什么开发人员过去常常测试应用程序的原因。
它将允许我们有效地安排任务。两者之间不允许进行更改,因为一个阶段取决于另一个阶段。
在此模型中,允许发布级别更改。无法向后跟踪。
在此模型中,过程和结果都得到了很好的记录。这是一个耗时的过程。

下一个主题螺旋模型