瀑布模型的特点包括:1、阶段间具有顺序性和依赖性;2、推迟实现的特点;3、质量保证的观点。瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
1. 阶段间具有顺序性和依赖性
阶段间具有顺序性和依赖性,这个特点有两重含义:
(1)必须等前一阶段的工作完成之后,才能开始后一阶段的工作;
(2)前一阶段的输出文档就是后一阶段的输入文档,因此,只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果。
2. 推迟实现的特点
缺乏软件工程实践经验的软件开发人员,接到软件开发任务以后常常急于求成,总想尽早开始编写程序。但是,实践表明,对于规模较大的软件项目来说,往往编码开始得越早,最终完成开发工作所需要的时间反而越长。这是因为,前面阶段的工作没做或做得不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题,带来灾难性后果。
瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现。
清楚区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想。
3. 质量保证的观点
软件工程的基本目标是优质、高产。为了保证所开发的软件的质量,在瀑布模型的每个阶段都应该坚持两个重要做法。
(1)每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。完整、准确的合格文档不仅仅是软件开发时期各类人员之间相互通信的媒介,也是运行时期对软件进行维护的重要依据。
(2)每个阶段结束前都要对所完成的文档进行评审,以尽早发现问题,改正错误。事实上,越是早期阶段犯下的错误,暴漏出来的时间就越晚,排除故障改正错误所需付出的代价也越高。因此,及时审查,是保证软件质量、降低软件成本的重要措施。
延伸阅读:
瀑布模型的用户需求
尽管瀑布模型招致了很多批评,但是它对很多类型的项目而言依然是有效的,如果正确使用,可以节省大量的时间和金钱。对于您的项目而言,是否使用这一模型主要取决于您是否能理解客户的需求以及在项目的进程中这些需求的变化程度,对于经常变化的项目而言,瀑布模型毫无价值,对于这种情况,您可以考虑其他的架构来进行项目管理,比如名为螺旋模型(spiral model)的方法。
在瀑布模型中,软件开发的各项活动严格按照线性方式进行,当前活动接受上一项活动的工作结果,实施完成所需的工作内容。当前活动的工作结果需要进行验证,如果验证通过,则该结果作为下一项活动的输入,继续进行下一项活动,否则返回修改。
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
(1)各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
(2)由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险。
(3)早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果。
按照瀑布模型的阶段划分,软件测试可以分为单元测试,集成测试,系统测试。
文章标题:瀑布模型的特点是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/33502