📜  SDLC-瀑布模型

📅  最后修改于: 2020-12-13 14:31:00             🧑  作者: Mango


瀑布模型是第一个引入的过程模型。它也被称为线性顺序生命周期模型。它很容易理解和使用。在瀑布模型中,必须先完成每个阶段,然后才能开始下一个阶段,并且各阶段之间没有重叠。

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

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

瀑布模型-设计

瀑布方法是第一个SDLC模型,可广泛用于软件工程中,以确保项目成功。在“瀑布式”方法中,软件开发的整个过程分为不同的阶段。通常,在该瀑布模型中,一个阶段的输出顺序用作下一阶段的输入。

下图说明了瀑布模型的不同阶段。

SDLC瀑布模型

Waterfall模型中的连续阶段为-

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

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

  • 实施-利用系统设计的输入,首先在称为单元的小型程序中开发系统,然后将其集成到下一阶段。每个单元均已开发并对其功能进行了测试,这称为单元测试。

  • 集成和测试-在对每个单元进行测试之后,将在实施阶段开发的所有单元都集成到系统中。集成后,将对整个系统进行任何故障和失败测试。

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

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

所有这些阶段都是相互级联的,在这些阶段中,进度被视为稳步向下(像瀑布一样)流过各个阶段。仅在为上一阶段实现了定义的一组目标之后才开始下一个阶段,并且将其签字,因此名称为“瀑布模型”。在此模型中,阶段不重叠。

瀑布模型-应用

开发的每个软件都是不同的,并且需要根据内部和外部因素采用合适的SDLC方法。在某些情况下,最适合使用Waterfall模型-

  • 需求已被很好地记录在案,清晰且固定。

  • 产品定义是稳定的。

  • 技术是理解的,不是动态的。

  • 没有模棱两可的要求。

  • 具有所需专业知识的大量资源可用于支持该产品。

  • 该项目很短。

瀑布模型-优势

瀑布式开发的优点是它允许部门化和控制。可以为开发的每个阶段设置时间表,并提供截止日期,并且产品可以逐一进行开发过程模型阶段。

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

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

  • 简单易懂和使用

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

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

  • 对于要求非常了解的较小项目,效果很好。

  • 明确定义的阶段。

  • 众所周知的里程碑。

  • 易于安排任务。

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

瀑布模型-缺点

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

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

  • 在生命周期的后期,不会生产任何工作软件。

  • 大量的风险和不确定性。

  • 对于复杂和面向对象的项目而言,它不是一个好的模型。

  • 长期和进行中的项目的模型不佳。

  • 不适合要求处于中等到高更改风险的项目。因此,此过程模型的风险和不确定性很高。

  • 分阶段衡量进度是很困难的。

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

  • 在生命周期中调整范围可以结束项目。

  • 集成最终是“大爆炸”,它不允许尽早发现任何技术或业务瓶颈或挑战。