开发模型和测试模型

1. 开发模型

1.1 瀑布模型

瀑布模型是其他模型的基础框架
start—>需求分析---->计划----->设计----->编码----->测试----->End(其实就是软件开发的生命周期)
特点:线性的开发流程
缺陷:测试被后置。①风险往往到测试阶段才显露,失去了早纠正的机会;②测试不充分,把缺陷遗留给了用户;③不能够应对需求的变化
最大缺陷:可以运行的产品很迟才可以被看到
使用场景:需求固定的小项目,不拥抱变化

1.2 螺旋模型

螺旋模型就是在铺膜模型的基础上每个阶段引入风险分析。
start----->需求分析—(风险分析)–>计划—(风险分析)–>设计—(风险分析)–>编码—(风险分析)–>测试----->end
在这里插入图片描述

使用场景:规模庞大、复杂度高、风险大的项目
风险分析能力和产品遗留的风险是成反比的。
缺点:时间较长、人力、资金

1.3 增量模型和迭代模型

场景:用户有一个需求,功能包括A,B,C
①上述模型:完整开发好A,B,C,然后上线
②增量模型:开发完A就直接上线给用户去使用,继续开发B,开发完B就又上线去给用户用,开发完C就再上线去给用户用。
③迭代模型:先开发一个基础版本(包含A,B,C3个功能),但是ABC功能比较简陋,接下来再基础版本上对ABC的功能进行迭代优化。
例:一个人物画
增量模型:先画眼睛,画好之后再画嘴巴,逐块去建造
迭代模型:先把轮廓画出来,再细化

1.4 敏捷模型

敏捷模型的特点:轻流程、轻文档、重目标、重产出
3个角色和5个会议
3个角色:①产品经理:收集用户需求,编写需求文档,对产品负责的人;②项目经理:催作业的一个人,负责召开各种会议,协调项目,为研发团队服务;③研发团队:开发人员、测试人员,UI设计人员等。
5个会议:①发布会议②迭代会议③每日例会④演示会议⑤回顾会议
发布会议:产品经理从需求池重选取几个需求,开展发布计划会议;
迭代会议对需求进行拆解,对每个任务都有明确的负责人,并完成工时初估计;
每日例会:站会,快速过几个问题,团队成员回答昨天做了什么,今天计划做什么
演示会议:产出新的用户需求,展示本次迭代取得的成果
回顾会议:总结与改进

2. 测试模型

2.1 V模型

在这里插入图片描述
用户需求----->需求分析与系统设计------>概要设计(设计整体框架、架构)------>详细设计(模块和模块之间的详细设计)----->编码----->单元测试------>集成测试------>系统测试------>验收测试
特点:①明确标注了测试的类型②明确标注了测试阶段和开发阶段之间的对应关系
缺点:测试被后置了,①风险推迟到后期,测试才发现,失去了早修正的机会②编码完成之后,需要留足够的时间给测试,否则测试不充分会把软件缺陷报了给用户。

2.2 W模型(双V模型)

在这里插入图片描述
特点:测试从需求开始阶段就介入了,每个开发活动完成后就同步进行测试活动
缺点:①上一阶段完成下一阶段才能开始;②开发模型和测试模型也保持着一种前后的线性关系,只有开发活动完成了才能进行测试活动,不支持敏捷模式

2.3 H模型

在这里插入图片描述
特点:H模型中测试是一个独立的流程,只要满足了测试就绪条件,就可以开始测试。这种灵活的组织方式,使得H偶像完全具备了前2个模型的优点,即可以与所有的开发活动紧密结合,又足够灵活满足敏捷和迭代开发模型。
缺点:灵活,但是难以驾驭,如果管理者没有足够的经验就实施H模型,可能会事倍功半。建议一般的软件开发过程采用W模型,实施敏捷和迭代开发的可以考虑采用H模型。

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

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

相关文章

OpenCV-Python(18):图像梯度

目录 背景介绍及应用 学习目标 原理 Sobel算子和Scharr算子 Laplacian 算子 代码示例 重要提醒 背景介绍及应用 图像的梯度是指图像中每个像素点的强度变化情况。计算图像的梯度可以帮助我们了解图像中物体的边界和纹理等信息。梯度在计算机视觉和图像处理领域有着广泛…

超分辨数据集:Set5 Set14 BSD100 Urban100 Manga109

DIV2K数据集官网上很好找到,但是网上流传的Set5 14 BSD100,Urban100 Manga109都是私人进行处理过的版本,各个处理方式都不同,为了统一方式写了这篇文章。 官方的DIV2K x2、x3、x4的LR图片使用下面matlab代码生成(已经经过测试最后…

基于单片机设计的指纹锁(读取、录入、验证指纹)

一、前言 指纹识别技术是一种常见的生物识别技术,利用每个人指纹的唯一性进行身份认证。相比于传统的密码锁或者钥匙锁,指纹锁具有更高的安全性和便利性,以及防止钥匙丢失或密码泄露的优势。 基于单片机设计的指纹锁项目是利用STC89C52作为…

ARM GIC(三) gicv2架构

ARM的cpu,特别是cortex-A系列的CPU,目前都是多core的cpu,因此对于多core的cpu的中断管理,就不能像单core那样简单去管理,由此arm定义了GICv2架构,来支持多核cpu的中断管理 一、gicv2架构 GICv2,支持最大8个core。其框图如下图所示: 在gicv2中,gic由两个大模块组成: …

华为OD机试真题-园区参观路径-2023年OD统一考试(C卷)

题目描述:园区某部门举办了Family Day,邀请员工及其家属参加;将公司园区视为一个矩形,起始园区设置在左上角,终点园区设置在右下角;家属参观园区时,只能向右和向下园区前进;求从起始园区到终点园区会有多少条不同的参观路径; 输入描述:第一行为园区长和宽;后面每一行…

集群与分布式的概念及区别

目前在工作中经常接触到集群的概念,通过这篇文章总结一下集群的几种方式以及和分布式对比学习 1.集群(Cluster) 集群是由多个计算机节点组成的网络,旨在共同提供服务,并确保高性能和高可用性。在高可用集群中&#xf…

conda环境下执行conda命令提示无法识别解决方案

1 问题描述 win10环境命令行执行conda命令,报命令无法识别,错误信息如下: PS D:\code\cv> conda activate pt conda : 无法将“conda”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径&a…

Redis原理之网络通信协议笔记

目录 1. RESP协议 ​2. 自定义Socket连接Redis 1. RESP协议 2. 自定义Socket连接Redis public class MyRedisClient {static Socket s;static PrintWriter writer;static BufferedReader reader;static Object obj;public static void main(String[] args) {try {// 1.建立连…

Redis(非关系型数据库)

Redis(非关系型数据库) 文章目录 Redis(非关系型数据库)认识Redis(Remote Dictionary Server)1.Redis的基本介绍2.Redis的应用场景2.1 取最新N个数据的操作2.2 排行榜应用,取TOP N操作2.3 需要精准设定过期时间的应用2.4 计数器应用2.5 Uniq 操作,获取某段时间所有数…

threejs中变换相关的知识点总结

一, 前言 在threejs的使用过程中经常会遇到需要移动旋转缩放之类的变换的情况,而可以实现这一目的的方法也有很多,如: translate,scale,rotateX,applyMatrix4,position.set,rotateOnWorldAxis… 等等, 很多方法可供选择。有的是作用在geometry上的, 有的是作用在me…

回归分析笔记

回归分析 回归分析: 寻找两个或多个变量之间的函数关系(相关关系) 一元和线性 y β 0 β 1 x ε \begin{aligned} y&\beta_0\beta_1x\varepsilon\\ \end{aligned} y​β0​β1​xε​ 误差项 ε \varepsilon ε是一个期望值为0的随机变量,即 E ( ε ) 0 …

mysql 23-2day 数据库查询(DQL)

目录 数据库查询(DQL)环境:准备一个表格作为查询环境查看数据根据要求查看数据运算查询as 可以修改字段名字 进行查询查询所有部门拼接两个字段查询 2017年入职的员工一个是空null 一个是空白查询 NULL集合排序查询查看有那些组通配符正则查询函数 数据库查询(DQL) …

如何搭建Web自动化测试框架?

在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的…

Java---泛型讲解

文章目录 1. 泛型类2. 泛型方法3. 泛型接口4. 类型通配符5. 可变参数6. 可变参数的使用 1. 泛型类 1. 格式&#xff1a;修饰符 class 类名 <类型>{ }。例如&#xff1a;public class Generic <T>{ }。 2. 代码块举例&#xff1a; public class Generic <T>{…

防火墙双机热备(HCIA)

目录 一、冗余分类 1、双机热备的产生 2、热备和冷备 二、VRRP VRRP注意事项 VRRP通告报文 三、VGMP 两种VGMP组 VGMP优先级 四、HRP 五、双机热备基本组网与配置 配置步骤 一、冗余分类 物理冗余&#xff1a;单设备改多设备&#xff0c;多线路连接。 网络冗余&a…

ssm420基于JavaEE的企业人事管理信息系统的设计与实现论文

摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归纳&#xff0c;集中处理数据信息的管理方式。本企业人事管理信息系统就是在这样的大环境下诞生&#xff0c;其可以帮助管理者在短时间内处理完毕庞大的数据…

【2023年网络安全优秀创新成果大赛专刊】银行数据安全解决方案(天空卫士)

在2023年网络安全优秀创新成果大赛&#xff0c;成都分站中&#xff0c;天空卫士银行数据安全方案获得优秀解决方案奖。与此同时&#xff0c;天空卫士受信息安全杂志邀请&#xff0c;编写《银行数据安全解决方案》。12月6日&#xff0c;天空卫士编写的《银行数据安全解决方案》做…

山西电力市场日前价格预测【2023-12-23】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-23&#xff09;山西电力市场全天平均日前电价为505.77元/MWh。其中&#xff0c;最高日前电价为807.08元/MWh&#xff0c;预计出现在08:15。最低日前电价为332.81元/MWh&#xff0c;预计…

类文件结构

类文件结构 回顾一下字节码 在 Java 中&#xff0c;JVM 可以理解的代码就叫做字节码&#xff08;即扩展名为 .class 的文件&#xff09;&#xff0c;它不面向任何特定的处理器&#xff0c;只面向虚拟机。Java 语言通过字节码的方式&#xff0c;在一定程度上解决了传统解释型语…

数据分析基础之《numpy(4)—ndarry运算》

一、逻辑运算 当我们要操作符合某一条件的数据时&#xff0c;需要用到逻辑运算 1、运算符 满足条件返回true&#xff0c;不满足条件返回false # 重新生成8只股票10个交易日的涨跌幅数据 stock_change np.random.normal(loc0, scale1, size(8, 10))# 获取前5行前5列的数据 s…