传统瀑布模型和实际瀑布模型

news2024/11/28 14:38:31

传统瀑布模型:

 

 瀑布模型是所有模型的基础框架

特点:

线性的开发流程,不能够应对需求的变化。

必须等前一阶段的工作完成后,才能开始后一阶段的工作

前一阶段的输出文档就是后一阶段的输入文档,因此只有前一阶段的输出文档正确,后一阶段的工作才能获得正确的结果

为了保证所开发的软件的质量,在瀑布模型的每一个阶段都应坚持两个重要做法

每个阶段都必须完成规定的文档,没有交出合格的文档就是没有完成该阶段的任务

每个阶段结束前都要对所完成的文档进行评审,以便尽早发现问题,改正错误

缺陷:

测试被后置(风险往往迟至后期的测试阶段才显露,因而失去及早纠正的机会,有足够的时间预留给测试活动,否则将导致测试不充分,从而把缺陷直接遗留给用户)

瀑布模型的一个最大缺陷在于,可以运行的产品很迟才能被看到.

适用场景

需求固定的小项目。

需求易于完善定义且不易变更的软件系统

实际瀑布模型

        传统的瀑布模型过于理想化,实际的瀑布模型是带"反馈环"的。如图所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),当在后面阶段发现前面阶段的错误时,需要沿图中左侧的反馈线返回前面的阶段,修正前面阶段的产品后再回来继续完成后面阶段的任务

优点:

为项目提供了按阶段划分的检查点
当前一阶段完成后,只需要去关注后续阶段


缺点:

不适合需求模糊或需求经常变动的系统
由于开销的逐步升级问题,它不希望存在早期阶段的反馈
在一个系统完成以前,它无法预测一个新系统引入一个机构的影响
在用户可能需要较长等待时间来获得一个可供使用的系统,也许会给用户的信任程度带来影响和打击
最终产品往往反映用户的初始需求而不是最终需求(这将导致失去市场,别的公司开发的又快有好,用户都被抢走了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/26777.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Map及其实现类、锁

HashMap、HashTable、ConcurrentHashMap 区别 一.HashMap和HashTable的区别 1、两者父类不同 HashMap是继承自AbstractMap类,而Hashtable是继承自Dictionary类。不过它们都实现了同时实现了map、Cloneable(可复制)、Serializable&#xff0…

朱松纯教授场景理解相关文章简介

朱松纯教授场景理解相关文章简介 Holistic 3D Scene Parsing and Reconstruction from a Single RGB Image 基于单张图像的整体场景解译与重建 我们提出了一个计算框架来联合解译单帧RGB图像,通过使用一系列的随机语法模型生成的CAD模型构成整体的3D结构。具体地说…

智慧农业SaaS系统

真正的大师,永远都怀着一颗学徒的心! 一、项目简介 智慧农业SaaS系统 二、实现功能 监控管理:支持海康摄像头监控。 用户管理:支持用户是系统操作者,该功能主要完成系统用户配置。 岗位管理:支持配置系统用户所属担…

bugku渗透测试 1 writeup(无需VPS)

靶场地址:BugKu渗透测试1 该靶场只需要20金币就可以开启两小时,算的上非常良心实惠了,趁着有空赶紧刷一刷题目 目录 第一场景: 第二场景: 第三场景: 第四场景: 第五场景: 第六…

第五章:面向对象(上)

第五章:面向对象(上) 5.1:面向过程与面向对象 面向过程(POP)与面向对象(OOP) ​ 二者都是一种思想,面向对象是相对于面向过程而言的。面向过程,强调的是功能行为,以函数为最小值,考虑怎么做。面向对象&…

【BOOST C++ 线程】boost::thread库的基本使用方法总结

一、说明 boost::thread的六种使用方法总结,本文初步介绍线程的函数、构造、执行的详细解释。 二、boost::thread的几个函数 函数功能join()让主进程等待子线程执行完毕后再继续执行get_id()获得线程的 id 号detach()标线程就成为了守护线程,驻留后台运…

【项目实战:核酸检测平台】第二章 大卸八块

本章目标 完成项目架构设计和数据库结构设计 重点:全是重点 文章目录本章目标总体设计(架构设计)技术选型部署结构设计工程文档结构设计第一步:项目和模块命名第二步:约定项目工程文件内容第三步:设计文档…

Hadoop高可用环境搭建-HDFSNameNode高可用搭建、Yarn高可用搭建

本文环境搭建的前提条件:JDK、Zookeeper、Hadoop完全分布式环境搭建完成。如果未满足条件且不会搭建,可以前往博主的主页搜索相关文章进行搭建。 目录 一、HDFSNameNode高可用搭建 二、 Yarn高可用搭建 本文主节点hostname:master&#xff0c…

安装semantic segmentation editor

两天啊, 整整两天,知道这两天我是怎么过的吗??1 步骤概述(以下命令行都是在管理员条件下执行)1.1 安装choco1.2 安装meteor1.3 安装semantic segmentation editor2过程3 我还是用Ubuntu安装过3.1Window安装…

【Mysql】主从一致

【Mysql】主从一致(一)主从复制【1】什么是主从复制【2】为什么需要主从复制【3】mysql复制原理【4】具体步骤【5】mysql主从形式【6】具体操作过程(1)首先在虚拟机服务器上安装mysql,进行简单的配置(2&…

力扣(LeetCode)38. 外观数列(C++)

双指针模拟 初始字符串 sss 已给定,根据 sss 构造下一个外观数列 ttt ,构造完毕, ststst ,循环 n−1n-1n−1 次,构造出一个外观数列。 构造步骤 : 令 jjj 指向当前元素 , kkk 从 jjj 往右,记录…

新库上线 | CnOpenData招聘公司基本信息扩展数据

招聘公司基本信息扩展数据 一、数据简介 线上招聘是指各公司将其岗位需求、工作地点能力要求和薪酬等招聘信息发布在互联网上,供求职者参考,以线上的方式进行招聘。线上招聘网站是通过互联网相关技术,集结这些线上招聘信息,帮助雇…

Linux下自动删除过期备份和自动异地备份的脚本

每天自动删除过期备份 首先编写一个简单的Shell脚本DeleteExpireBackup.sh: 1 2 3 4 5 6 7 #!/bin/bash # 修改需要删除的路径 location"/database/backup/" # 删除最后修改时间为30天以前的备份文件夹 find $location -mtime 30 -type d | xargs rm …

3dmax渲染大图有斑点怎么办?

嗨喽大家好,经常有后台私信问:3dmax渲染大图老是有斑点怎么办?而且斑点有白色的,还有绿色、黑色甚至彩色。怎么去除这些斑点呢? 其实以上的常见的斑点问题,大部分是灯光设置的问题。今天我们便来盘点下下面…

第二章:字节码指令集与解析案例

一、概述执行模型字节码与数据类型字节码指令分类加载与存储指令局部变量压栈指令常量入栈指令出栈装入局部变量表指令算术运算指令代码举例一代码举例二代码举例三:i 和 i 的区别比较指令的说明类型转换指令宽化类型转换(Widening Numeric Conversions)窄化类型转换…

指纹浏览器是什么?可以用来解决跨境电商的什么问题?

如果你是跨境电商中的一员,那我相信你肯定不陌生指纹浏览器吧!毕竟指纹浏览器可以说是每个跨境人必备的工具了,更别说它的一系列功能简直是为跨境电商商家量身打造的! 龙哥作为跨境老手,对指纹浏览器不要太熟悉&#x…

葡萄糖-顺铂Glucose-cisplatin|葡萄糖-聚乙二醇-顺铂cisplatin-PEG-Glucose

葡萄糖-顺铂Glucose-cisplatin|葡萄糖-聚乙二醇-顺铂cisplatin-PEG-Glucose 中文名称:葡萄糖-顺铂 英文名称:Glucose-cisplatin 别称:生物素修饰葡萄糖,生物素-葡萄糖 PEG接枝修饰葡萄糖 葡萄糖-聚乙二醇-顺铂 cisplatin-PE…

Go:命令行参数解析包 flag 简介

文章目录示例运行小结在 Golang 程序中有很多种方法来处理命令行参数。简单的情况下可以不使用任何库,直接处理 os.Args;其实 Golang 的标准库提供了 flag 包来处理命令行参数;还有第三方提供的处理命令行参数的库,比如 Pflag 等。…

【附源码】计算机毕业设计JAVA研究生推免系统

【附源码】计算机毕业设计JAVA研究生推免系统 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JAVA myba…

期货开户手机APP有哪些?

一、文华随身行 随身行是文华财经旗下APP软件,提供行情、图表、交易、行情讨论等综合服务。随身行是主流的期货交易软件,已接通全国139家期货公司 不过目前使用文华随身行APP是需要付费的,是直接向软件公司付费,与期货公司无关&…