开发模型和测试模型
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模型。
相关文章:

开发模型和测试模型
1. 开发模型 1.1 瀑布模型 瀑布模型是其他模型的基础框架 start—>需求分析---->计划----->设计----->编码----->测试----->End(其实就是软件开发的生命周期) 特点:线性的开发流程 缺陷:测试被后置。①风险往…...

Kubectl 部署简单应用
创建新服务 kubectl create deployment kubernetes-bootcamp --imagegcr.io/google-samples/kubernetes-bootcamp:v1 查看 kubectl get deployments 打开新的终端执行 kubectl proxy 此时,切回上一个终端,通过 kubectl get pods 可查看已部署好的pod。并…...

Flink电商实时数仓(三)
DIM层代码流程图 维度层的重点和难点在于实时电商数仓需要的维度信息一般是动态的变化的,并且由于实时数仓一般需要一直运行,无法使用常规的配置文件重启加载方式来修改需要读取的ODS层数据,因此需要通过Flink-cdc实时监控MySql中的维度数据…...

四种消息队列,如何选型
这篇文章,主要讲述 Kafka、RabbitMQ、RocketMQ 和 ActiveMQ 这 4 种消息队列的异同,无论是面试,还是用于技术选型,都有非常强的参考价值。 01 消息队列基础 1.1 什么是消息队列? 消息队列是在消息的传输过程中保存消…...

flutter开发windows应用的库
一、window_manager 这个插件允许 Flutter 桌面应用调整窗口的大小和位置 地址:https://github.com/leanflutter/window_manager二、win32 一个包,它使用FFI包装了一些最常见的Win32 API调用,使Dart代码可以访问这些调用,而不需…...

机器学习--线性回归
目录 监督学习算法 线性回归 损失函数 梯度下降 目标函数 更新参数 批量梯度下降 随机梯度下降 小批量梯度下降法 数据预处理 特征标准化 正弦函数特征 多项式特征的函数 数据预处理步骤 线性回归代码实现 初始化步骤 实现梯度下降优化模块 损失与预测模块 …...

【Spring Boot】面试题汇总,带答案的那种
继上次的文章【MySQL连环炮,你抗的住嘛?】爆火之后,越来越多的小伙伴后台留言,要求阿Q总结下其他的“连环炮”知识点,想在金九银十的面试黄金期轻松对线面试官。 同样为了节省大家的时间,阿Q最近对【Sprin…...

【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手
文章目录 前言千帆AppBuilder什么是千帆AppBuilderAppBuilder能做什么 体验千帆AppBuilderJava知识库高考作文小助手 总结 前言 前天,在【百度智能云智算大会】上,百度智能云千帆AppBuilder正式开放服务。这是一个AI原生应用开发工作台,可以…...

字符串压缩
...

MsSQL中的索引到底长啥样,查找过程怎么进行
参考文章一 参考文章二 建表 mysql> create table user(-> id int(10) auto_increment,-> name varchar(30),-> age tinyint(4),-> primary key (id),-> index idx_age (age)-> )engineinnodb charsetutf8mb4;insert into user(name,age) values(张三,…...
WPF 全局异常处理
在Application中存在三种异常事件EventHandler DispatcherUnhandledExceptionAppDomain.CurrentDomain.UnhandledExceptionTaskScheduler.UnobservedTaskException 其中 DispatcherUnhandledException 是在异常由应用程序引发但未进行处理时发生,但无法捕获多线程…...
Flink系列之:Elasticsearch SQL 连接器
Flink系列之:Elasticsearch SQL 连接器 一、Elasticsearch SQL 连接器二、创建 Elasticsearch表三、连接器参数四、Key 处理五、动态索引六、数据类型映射 一、Elasticsearch SQL 连接器 Sink: BatchSink: Streaming Append & Upsert ModeElasticsearch 连接器…...
java中将Map集合、对象、字符串转换为JSON对象
1、Map集合转JSON对象 创建一个Map集合; 新建json对象,并将Map引入json中。 public void demo1(){ //创建一个Map集合Map<String, String> map new HashMap<>();map.put("1729210001","zhangsan");map.put("17292…...

理解Spring中bean的作用域
singleton:Spring Ioc容器中只会存在一个共享的Bean实例,无论有多少个Bean引用它,始终指向同一个对象,作用域为Spring中的缺省(同一package)作用域 prototype:每次通过Spring容器获取prototype定义的bean时,…...
edge中以右键“打印”的方式“保存”当前页面的pdf形式,下载过程中卡进度的问题
目录 问题描述: 可能的问题: 解决: 问题描述: 特殊情况下需要保存网页的pdf形式,但页面没有类似“导出pdf”的功能按钮,可以通过页面右键“打印”的方式“保存”当前页面的pdf形式。在pdf文件下载过程中出…...
c# 使用OpenCV
C#和OpenCV的结合主要通过一个名为OpenCVSharp的库实现。OpenCVSharp是一个C#包装器,它提供了对OpenCV(一个开源的计算机视觉和机器学习库)功能的访问。 安装OpenCVSharp NuGet包: 在Visual Studio中,右键点击你的项目…...
数据库连接问题 - ChatGPT对自身的定位
1.一段关于数据库连接的技术性对话 sweetie,连接数据库的时候,需要在每次读写数据后就把连接释放吗? 亲爱的,连接数据库后,通常会在每次读写数据后将连接释放。这是为了确保数据库连接的及时释放和有效管理。如果不及…...

常见可视化大屏编辑器有哪些?
前言: 在当今数字化时代,可视化大屏编辑器成为了数据展示和决策支持的重要工具。大屏编辑器不仅仅是数据的呈现,更是数据背后的故事的讲述者。它通过图表、图形和实时数据的呈现,为用户提供了全面的信息视图,帮助用户更…...

利用ffmpeg cv2取h265码流视频(转换图片灰屏问题解决)
利用海康威视相机拍出来的视频是H265格式的,相比于常规的H264编码,压缩率更高,但因此如果直接用正常取流方法读取,会出现无法读取的情况 1. 如图h265码流取出图片为灰屏 2 、解决灰屏问题 import subprocess import cv2# 将h265流…...
Android Uri scheme协议file转content
一、Uri的介绍 在Android开发中,Uri(Uniform Resource Identifier)是用于标识和访问各种资源的核心概念。这些资源可能包括文件、网络URL、数据库记录等。在处理这些资源时,我们可能会遇到不同的Uri协议,如file和conte…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...

MySQL的pymysql操作
本章是MySQL的最后一章,MySQL到此完结,下一站Hadoop!!! 这章很简单,完整代码在最后,详细讲解之前python课程里面也有,感兴趣的可以往前找一下 一、查询操作 我们需要打开pycharm …...