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