瀑布式开发是一种老旧的,正在过时的计算机软件开发方法。最开始的软件行业普遍采用这种方法,但是这种方法套用自传统工业生产,不适应计算机软件开发的具体情况。大体分为这几个阶段:需求分析、设计、编码、测试、维护。
需求阶段通常定义系统的需求,明白系统的目标。
设计阶段通常确定系统使用什么数据库,系统模块的划分,各个模块的功能。
编码阶段用编程语言对设计阶段的实现。
测试阶段分黑盒测试,白盒测试。测试系统的功能是否实现,是否准确。
维护阶段是根据用户新的需要重新修改系统,使系统更加稳定,更符合用户的要求。
一、瀑布模型
1.1什么是瀑布模型
1970年温斯顿.罗伊斯提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型
瀑布模型将 软件生命周期 划分为制定计划、需求分析、 软件设计 、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落
瀑布模型是最早出现的 软件开发模型 ,在软件工程中占有重要的地位,它提供了软件开发的基本框架。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动
从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来
对于经常变化的项目而言,瀑布模型毫无价值
1.2特点
1、阶段间具有顺序性和依赖性
该阶段具有两重含义
必须等前一阶段的工作完成后,才能开始后一阶段的工作
前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果
2、推迟实现的观点
对于规模较大的软件项目来说,往往编码开始的越早,最终完成开发所需时间越长。因为前面阶段的工作没做或做的不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题
瀑布模型在编码之前设置了系统分析与系统设计的各个阶段,分析与设计阶段的基本任务规定,在这两个阶段主要考虑目标系统的逻辑模型,不涉及软件的物理实现
清楚的区分逻辑设计与物理设计,尽可能推迟程序的物理实现,是按照瀑布模型开发软件的一条重要的指导思想
3、质量保证的观点
为了保证所开发的软件的质量,在瀑布模型的每一个阶段都应坚持两个重要做法
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误
传统的瀑布模型过于理想化,实际的瀑布模型是带"反馈环"的。如图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品后再回来继续完成后面阶段的任务
瀑布模型是文档驱动的模型,遵守这个约束可使软件维护变得比较容易一些,从而显著降低软件预算
1.3优缺点
优点:
为 项目 提供了按阶段划分的检查点
当前一阶段完成后,您只需要去关注后续阶段
可在 迭代模型 中应用瀑布模型
缺点:
不适合需求模糊或需求经常变动的系统
由于开销的逐步升级问题,它不希望存在早期阶段的反馈
在一个系统完成以前,它无法预测一个新系统引入一个机构的影响
在用户可能需要较长等待时间来获得一个可供使用的系统,也许会给用户的信任程度带来影响和打击
最终产品往往反映用户的初始需求而不是最终需求
1.4客户需求
对项目而言,是否使用这一模型主要取决于是否能理解客户的需求以及在项目的进程中这些需求的变化程度;对于经常变化的项目而言,瀑布模型毫无价值,可以考虑其他的架构来进行项目管理,比如螺旋模型
瀑布模型强调文档的作用,并要求每个阶段都要仔细验证。但是,这种模型的线性过程太理想化,已不再适合现代的软件开发模式,几乎被业界抛弃,其主要问题在于:
各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发的风险
早期的错误可能要等到开发后期的测试阶段才能发现,进而带来严重的后果
按照瀑布模型的阶段划分, 软件测试 可以分为 单元测试 , 集成测试 , 系统测试
软件开发流程的瀑布模型的步骤包含以下六个方面:
1、软件概念:
经过深入的研究和分析,开发人员需要准确理解了用户和项目的功能、性能、可靠性等具体要求,将用户的非正规需求陈述转化为对需求的完整定义,以便确定系统必须执行哪些操作。
2、用户需求分析:
此步骤包括定义硬件和软件体系结构、组件、模块、接口和数据,以满足指定的要求。这包括硬件和软件体系结构的定义、性能和安全参数的定义、数据存储容器和限制的设计、集成开发环境和编程语言的选择,以及指定异常处理、资源管理和接口连接策略。
3、架构设计:
这一步包含了根据设计说明书来构建产品,这一阶段一般由开发团队来执行的,开发团队包括了程序员、界面设计师和其他的专家,通常使用的工具包括编译软件、调试软件、解释软件和媒体编辑软件。
4、编码:
在这一阶段,独立的组件和集成后的组件都将进行系统性验证以确保没有错误并且完全符合第一阶段所制定的需求。
5、测试:
在产品通过测试并且被鉴定为符合需求的产品后,就会进入到安装阶段,这一阶段包括了在客户站点进行系统或产品的安装和使用。
6、系统维护:
此阶段发生在安装后,包括对整个系统或组件的修改,以更改属性或提高性能,这可能是由于客户需求的变化或系统使用中未涵盖的缺陷造成的。
扩展资料:
软件开发使用瀑布模型的优缺点:
一、优点:
1、为项目提供了按阶段划分的检查点。
2、当前一阶段完成后,只需要去关注后续阶段。
3、可在迭代模型中应用瀑布模型。
4、它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
二、缺点:
1、各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量。
2、由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险。
3、通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
4、瀑布模型的突出缺点是不适应用户需求的变化。
-瀑布模型
瀑布模型、极限编程、敏捷开发是有代表性的开发模式,在对开发者、客户、最终的产品的关注上的变化,体现了软件开发管理者在管理模式上的变化。
瀑布模型
是一种理想化的开发模型,要求有明确的需求分析,无法解决软件需求不明确或不准确的问题。
瀑布模型像工厂流水
瀑布模型(WaterfallModel)是一个项目开发架构,开发过程是通过设计一系列阶段顺序的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好“返回”上一个阶段并进行适当的修改,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来
声明: 我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本站部分文字与图片资源来自于网络,转载是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:daokedao3713@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
本站内容仅供参考,不作为诊断及医疗依据,如有医疗需求,请务必前往正规医院就诊
祝由网所有文章及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。
如本站内容有侵犯您的合法权益,请和我们取得联系,我们将立即改正或删除。
Copyright © 2022-2023 祝由师网 版权所有
邮箱:daokedao3713@qq.com