SDLC - 瀑布模型
瀑布模型是第一个引入的过程模型。它也称为线性顺序生命周期模型。它非常容易理解和使用。在瀑布模型中,每个阶段必须在下一阶段开始之前完成,并且阶段之间没有重叠。
瀑布模型是最早用于软件开发的 SDLC 方法。
瀑布模型以线性顺序流程说明了软件开发过程。这意味着开发过程中的任何阶段只有在前一阶段完成后才开始。在此瀑布模型中,各个阶段不重叠。
瀑布模型 - 设计
瀑布方法是第一个在软件工程中广泛使用的 SDLC 模型,以确保项目的成功。在“瀑布”方法中,软件开发的整个过程分为不同的阶段。在此瀑布模型中,通常,一个阶段的结果依次充当下一阶段的输入。
下图展示了瀑布模型的不同阶段。
瀑布模型中的连续阶段是 -
需求收集和分析- 在此阶段捕获要开发的系统的所有可能需求并记录在需求规范文档中。
系统设计- 在此阶段研究第一阶段的需求规格并准备系统设计。该系统设计有助于指定硬件和系统要求,并有助于定义整体系统架构。
实施- 根据系统设计的输入,系统首先在称为单元的小程序中开发,这些程序将在下一阶段集成。每个单元都针对其功能进行开发和测试,这称为单元测试。
集成和测试- 在实施阶段开发的所有单元在每个单元测试后都集成到系统中。集成后,将对整个系统进行测试以排除任何故障和故障。
系统部署- 功能和非功能测试完成后;产品部署在客户环境中或发布到市场。
维护- 客户端环境中出现一些问题。为了解决这些问题,发布了补丁。为了增强产品,还发布了一些更好的版本。维护是为了在客户环境中交付这些更改而进行的。
所有这些阶段都是相互级联的,其中进展被视为在这些阶段中稳定地向下流动(像瀑布一样)。只有在实现上一阶段定义的目标并签署后,才会开始下一阶段,因此名称为“瀑布模型”。在此模型中,阶段不重叠。
瀑布模型 - 应用
每个开发的软件都是不同的,需要根据内部和外部因素采用合适的 SDLC 方法。最适合使用瀑布模型的一些情况是 -
需求有很好的记录、清晰且固定。
产品定义稳定。
技术是可以理解的并且不是动态的。
没有任何含糊的要求。
有足够的资源和所需的专业知识来支持该产品。
项目时间短。
瀑布模型 - 优点
瀑布式开发的优点是允许部门化和控制。可以为每个开发阶段设定一个时间表和最后期限,并且产品可以一个接一个地完成开发过程模型阶段。
开发从概念开始,经过设计、实施、测试、安装、故障排除,最后到操作和维护。每个开发阶段都严格按照顺序进行。
瀑布模型的一些主要优点如下 -
简单易懂和使用
由于模型的刚性,易于管理。每个阶段都有特定的可交付成果和审查流程。
一次处理并完成一个阶段。
非常适合需求非常容易理解的小型项目。
明确定义的阶段。
很好理解的里程碑。
轻松安排任务。
过程和结果都有详细记录。
瀑布模型 - 缺点
瀑布式开发的缺点是不允许太多的反思或修改。一旦应用程序进入测试阶段,就很难返回并更改在概念阶段没有充分记录或考虑的内容。
瀑布模型的主要缺点如下 -
直到生命周期的后期才生产出可用的软件。
高风险和不确定性。
对于复杂和面向对象的项目来说,这不是一个好的模型。
对于长期和正在进行的项目来说,这是一个糟糕的模型。
不适合需求变化风险为中度到高度的项目。因此,该流程模型的风险和不确定性很高。
很难衡量阶段内的进展。
无法适应不断变化的需求。
在生命周期中调整范围可能会结束项目。
集成是在最后以“大爆炸”的方式完成的,这不允许及早发现任何技术或业务瓶颈或挑战。