软件开发的瀑布模型(软件开发的瀑布模型一般都将开发过程划分为)
今天给各位分享软件开发的瀑布模型的知识,其中也会对软件开发的瀑布模型一般都将开发过程划分为进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
瀑布模型
瀑布模型(Waterfall Model) 是一个软件生命周期模型,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,项目开发进程从一个阶段“流动”到下一个阶段,这也是瀑布模型名称的由来。
1970年温斯顿·罗伊斯(Winston Royce)提出了著名的“瀑布模型”,直到80年代早期,它一直是唯一被广泛采用的软件开发模型。
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。
可强迫开发人员采用规范的方法(如结构化技术);严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。
瀑布模型是由文档驱动,在可运行的软件产品交付给用户之前,用户只能通过文档来了解产品是什么样的。瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能真正满足用户的需要。也不适合需求模糊的系统。
(1) 阶段间具有顺序性和依赖性
必须等前一阶段的工作完成之后,才能开始后一阶段的工作。前一阶段的输出文档就是后一阶段的输入文档。
(2) 推迟实现的观点
清楚的区分逻辑设计与物理设计,尽可能推程序的物理实现,是因为编码之前阶段的工作没做或做得不扎实,过早地考虑进行程序实现,往往导致大量返工,有时甚至发生无法弥补的问题,带来灾难性的后果。实践也表明,对于规模较大的软件项目来说,往往编码开始得越早最终完成开发工作所需要的时间反而越长。
(3) 质量保证的观点
每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务。
每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误。
传统的瀑布模型过于理想化,人在工作过程中不可能不犯错误。
当后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品之后再回来继续完成后面阶段的任务。
参考资料:
瀑布模型_百度百科
软件工程(第4版)
软件开发流程的瀑布模型主要包含哪些步骤
1、软件的前期规划:此阶段是软件开发与需求放共同讨论,主要确定软件的开发目标及其可行性。
2、需求分析阶段:该阶段完成软件需求规格说明经审定和批准后将作为整个软件开发工作的基础列入管理的基线,在本阶段将不确定性的软件需求(主要是功能)明确化。
3、系统编程阶段:根据软件需求规格说明建立软件总体结构和模块间的关系,确定各模块功能,定义各功能模块的接口,设计全局数据库和数据结构;然后进行细节的编程。
4、测试阶段:测试阶段是软件不可少的阶段,按详细设计的结构,伟创软件针对用户方体验,根据软件单元测试计划,依照将经过单元测试的底层程序单元逐步组装成子项目直到开发项目的过程,对软件进行测试。
5、验收阶段:对完成中试的软件进行检查、审查和评审,确定软件是否达到了软件任务书的要求。验收通过的软件可以向软件交办单位交付。
软件开发瀑布模型适用于
软件开发瀑布模型适用于以下场景:
1、需求在规划和设计阶段就已确定,且项目开发周期内需求没有或极少变化,对需求变更进行严格控制,例如航空航天、金融核心系统等。
2、稳定的低风险项目(对目标、环境非常熟悉),规模小实现简单易受控的项目。
3、合同式的合作方式,严格按照说明执行,客户需求明确且不参与软件实现过程。
瀑布模型
1、瀑布模型的优点:有利于大型软件开发过程中人员的组织、管理,有利于软件开发方法和工具的研究,从而提高了大型软件项目开发的质量和效率。
2、瀑布模型的缺点:开发过程一般不能逆转,否则代价太大;很难严格按该模型进行。
3、瀑布模型的使用范围:用户的需求非常清楚全面,且在开发过程中没有或很少变化,对软件的应用领域很熟悉;用户的使用环境非常稳定;开发工作对用户参与的要求很低。
快速原型模型
1、快速原型模型的优点:可以得到比较良好的需求定义,容易适应需求的变化;有利于开发与培训的同步;费用低、开发周期短且对用户更友好。
2、快速原型模型的缺点:客户与开发者对原型理解不同; 准确的原型设计比较困难; 不利于开发人员的创新。
3、快速原型模型的使用范围:对所开发的领域比较熟悉而且有快速的原型开发工具;项目招投标时,可以以原型模型作为软件的开发模型;进行产品移植或升级时,或对已有产品原型进行客户化工作时,原型模型是非常适合的。
增量模型
1、增量模型的优点:优点是人员分配灵活,刚开始不用投入大量人力资源;可先发布部分功能给客户,对客户起到镇静剂的作用。
2、增量模型的缺点:并行开发构件有可能遇到不能集成的风险,软件必须具备开放式的体系结构;变化的能力大大优于瀑布模型和快速原型模型,但也很容易退化为边做边改模型,从而是软件过程的控制失去整体性。
3、增量模型的使用范围:进行已有产品升级或新版本开发,增量模型是非常适合的,完成期限严格要求的产品,可以使用增量模型对所开发的领域比较熟悉而且已有原型系统,增量模型也是非常适合的。
螺旋模型
1、螺旋模型的优点:灵活性,可以在项目的各个阶段进行变更计算变得简单容易;客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
2、螺旋模型的缺点:需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失;会增加开发成本,延迟提交时间。
3、螺旋模型的使用范围:螺旋模型只适合于大规模的软件项目。
软件工程 | 经典瀑布模型
经典瀑布模型是基本的 软件开发生命周期 模型。这是非常简单但理想化的。早些时候,这种模型非常流行,但现在已不再使用。但它非常重要,因为所有其他软件开发生命周期模型都基于经典瀑布模型。
经典瀑布模型将生命周期划分为一组阶段。该模型认为可以在前一阶段完成后开始一个阶段。也就是说,一个阶段的输出将成为下一阶段的输入。因此,开发过程可以被视为瀑布中的顺序流程。这里的阶段彼此不重叠。经典瀑布模型的不同顺序阶段如下图所示:
现在让我们简要了解每个阶段:
经典瀑布模型的优点
经典瀑布模型是软件开发的理想化模型。它非常简单,因此可以视为其他软件开发生命周期模型的基础。以下是此 SDLC 模型的一些主要优点:
经典瀑布模型的缺点
经典的瀑布模型有很多缺点,我们在实际项目中基本不能使用,但是我们使用了其他基于经典瀑布模型的软件开发生命周期模型。以下是该模型的一些主要缺点:
什么是基于瀑布模型的开发方法
瀑布模型即生存周期模型,其核心思想是按工序将问题化简。
将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。瀑布模型将软件生命周期划分为软件计划、需求分析和定义、软件设计、软件实现、软件测试、软件运行和维护这6个阶段,规定了它们自上而下、相互衔接的固定次序,如同瀑布流水逐级下落。
瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了软件开发的基本框架。瀑布模型的本质是一次通过,即每个活动只执行一次,最后得到软件产品,也称为“线性顺序模型”或者“传统生命周期”。其过程是从上一项活动接收该项活动的工作对象作为输入,利用这一输入实施该项活动应完成的内容给出该项活动的工作成果,并作为输出传给下一项活动。同时评审该项活动的实施,若确认,则继续下一项活动;否则返回前面,甚至更前面的活动。
瀑布模型有利于大型软件开发过程中人员的组织及管理,有利于软件开发方法和工具的研究与使用,从而提高了大型软件项目开发的质量和效率。
关于软件开发的瀑布模型和软件开发的瀑布模型一般都将开发过程划分为的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。