📜  瀑布模型(软件工程)

📅  最后修改于: 2021-01-09 14:40:38             🧑  作者: Mango

瀑布模型

温斯顿·罗伊斯(Winston Royce)于1970年推出了瀑布模型,该模型分为五个阶段:需求分析和规范,设计,实现和单元测试,集成和系统测试以及操作和维护。步骤始终按此顺序进行,并且不重复。开发人员必须在下一阶段开始之前完成每个阶段。该模型被称为“瀑布模型”,因为它的图解表示类似于瀑布的级联。

1.需求分析和规格说明阶段:此阶段的目的是了解客户的确切需求并正确记录它们。客户和软件开发人员一起工作,以记录软件的所有功能,性能和接口要求。它描述了要生产的系统的“内容”,而不是“如何”。在此阶段,将创建一个称为软件需求规范(SRS)文档的大型文档,其中包含对系统将以通用语言进行操作的详细说明。 。

2.设计阶段:此阶段旨在将SRS中收集的需求转换为合适的形式,以允许以编程语言进行进一步编码。它定义了总体软件体系结构以及高级和详细的设计。所有这些工作都记录为软件设计文档(SDD)。

3.实施和单元测试:在此阶段,实施设计。如果SDD完成,则实现或编码阶段将顺利进行,因为SDD中包含软件开发人员所需的所有信息。

在测试过程中,将对代码进行彻底检查和修改。最初对小型模块进行隔离测试。之后,通过编写一些开销代码来检查这些模块,以检查这些模块之间的交互以及中间输出的流程。

4.集成和系统测试:此阶段至关重要,因为最终产品的质量取决于所执行测试的有效性。更好的输出将导致满意的客户,更低的维护成本和准确的结果。单元测试确定各个模块的效率。但是,在此阶段,将测试模块之间以及与系统之间的交互。

5.操作和维护阶段:维护是每位用户在将软件交付给客户,安装并投入运行后执行的任务。

何时使用SDLC瀑布模型?

使用瀑布模型最适合的一些情况是:

  • 当需求恒定且未定期更改时。
  • 一个项目很短
  • 情况很平静
  • 所使用的工具和技术一致且没有变化的地方
  • 资源准备充分且可供使用时。

瀑布模型的优点

  • 该模型易于实现,并且所需的资源数量也很少。
  • 要求很简单,并明确声明;在整个项目开发过程中,它们保持不变。
  • 每个阶段的起点和终点都是固定的,因此很容易涵盖进度。
  • 完整产品的发布日期及其最终成本可以在开发之前确定。
  • 由于采用了严格的报告系统,因此可以轻松控制客户并使其清晰可见。

瀑布模型的缺点

  • 在此模型中,风险因素较高,因此该模型不适用于更重要和更复杂的项目。
  • 该模型不能接受开发过程中需求的变化。
  • 返回到阶段变得困难。例如,如果应用程序现在已经转换到编码阶段,并且需求有所变化,那么回头更改它就变得很困难。
  • 由于测试是在后期进行的,因此无法在早期阶段识别挑战和风险,因此难以制定降低风险的策略。