什么是V Model(V模型)
v-model是一种软件生存期模型,由Paul Rook在1980年率先提出的,在1990年出现在英国国家计算中心的出版物中,旨在提高软件开发的效率和有效性,是我们熟知的瀑布模型的一种改进,瀑布模型(Waterfall Model)将软件生命周期划分为计划、分析、设计、构建、测试和维护六个阶段,且规定了它们自上而下、相互衔接的固定次序,由于早期的错误可能要等到开发后期的测试阶段才能发现,所以带来严重的后果。 v-model就是在这点改进了瀑布模型,在软件开发的生存期,开发活动和测试活动几乎同时的开始,这两个并行的动态的过程就会极大的较少bug和error出现的几率。在v-model中,我认为一个关键词就是parallel,说起来简单,却是v-model的核心。
v-model包含了三个等级,分别是生存期模型,分配模型,功能性工具需求模型,生存期模型回答了“What has to be done?”的问题,阐述了应当实施哪些活动,应当产生哪些结果,诸如此类。分配模型回答了“How is it be done”,决定了在实施活动的时候应该使用什么方法,功能性工具需求模型回答了“What is used to do it”,采用什么样的工具来实现这些活动。所有这些等级中又是由4个子模块组成的,分别是项目管理模块(PM),系统开发模块(SD),品质保证模块(QA),配置管理模块(CM),这些模块的功能就显而易见了。
最典型的V模型版本一般会在其开始部分对软件开发过程进行描述,如下图所示:
预验收测试
可行性分析 -- ---> 验收测试
↘ 预系统测试 ↗
需求分析 -----> 系统测试
↘ 预集成测试 ↗
概要设计 ----> 集成测试
↘ 预单元测试 ↗
详细设计 -----> 单元测试
↘ ↗
编码
单元测试所检测代码的开发是否符合详细设计的要求。集成测试所检测此前测试过的各组成部分是否能完好地结合到一起。系统测试所检测已集成在一起的产品是否符合系统规格说明书的要求。而验收测试则检测产品是否符合最终用户的需求。
V模型的缺陷
仅仅把测试过程作为在需求分析、系统设计及编码之后的一个阶段
忽视了测试对需求分析,系统设计的验证,一直到后期的验收测试才被发现。
什么是V Model(V模型)相关推荐
- 瀑布模型与“V”模式开发模型有何异同?
在做软件开发时,程序员们肯定接触过各式各样的软件开发模型,例如:写了再改模型.瀑布模型.增量模型等.其实,很多开发模型是在瀑布模型基础上衍生出来的. 然而,了解"V"模式开发模型的 ...
- Oracle v$session/v$sql 表
在本视图中,每一个连接到数据库实例中的 session都拥有一条记录.包括用户 session及后台进程如 DBWR, LGWR, arcchiver等等. V$SESSION中的常用列 V$SESS ...
- V星入侵(V 2009)第一季全集下载
灰太狼的评论:科幻类型的美剧还真是不少啊,从迷失(Lost)到未来闪影(FlashForward),现在又一个V星入侵(V 2009),人都是充满好奇的动物.同时上映的V星入侵(V 2009)和未来闪 ...
- $arr[]=$v 把 $v 这个东西 放到 $arr[] 这个数组中
php里面的递归函数,$arr[]=$v;是什么意思 $arr[]=$v 把 $v 这个东西 放到 $arr[] 这个数组中 转载于:https://www.cnblogs.com/ ...
- halcon 3D Object Model 三维物体模型算子,持续更新
目录 3D Object Model 三维物体模型 Creation创建 1.clear_object_model_3d 2.copy_object_model_3d 3. deserialize_o ...
- v$session v$session_wait
(1)v$session v$session视图记录了当前连接到数据库的session信息 Column Description SADDR session address SID Session i ...
- php7 viewmodel,【初念科技】| php框架实例: Laravel之Model Observer模型
原标题:[初念科技]| php框架实例: Laravel之Model Observer模型 本文主要学习下Laravel的Model Observer模型观察者,小编把自己的一点点经验分享出来希望对别 ...
- 通过v$sqlarea,v$sql查询最占用资源的查询
http://blog.sina.com.cn/s/blog_6ceed3280100x0q5.html 通过v$sqlarea,v$sql查询最占用资源的查询 (2011-09-01 22:22:0 ...
- golang:%v,%+v,%#v区别
%v 按默认格式输出, %+v 在%v的基础上额外输出字段名, %#v 在%+v的基础上额外输出类型名. package mainimport "fmt"type T struct ...
最新文章
- 深度学习三大谜团:集成、知识蒸馏和自蒸馏
- SQL中EXISTS的用法(转)
- python显示目录中的文件_Python中的文件和目录操作实现
- mysql not is null_转!!mysql 字段 is not null 和 字段 !=null
- Dynamic CRM 2013学习笔记(二十二)插件里调用WCF服务
- 吃鱼还是吃肉 (10 分)
- 慎用PHP的unset、array_unique方法
- C++ Primer 第三章 标准库类型 笔记
- 原神3.2私人服务器搭建
- java get请求参数乱码_java web项目get,post请求参数中文乱码解决
- 计算机网络的定义及答案,计算机网络习题库
- 金蝶系统无法建立数据可连接服务器,金蝶K3打开,提示无法建立数据链接
- 火车票软件哪个好用_抢火车票软件哪个好 2019哪个软件抢火车票成功率高
- 阿里面试官Redis把我问到哑口无言…
- JsDelivr CDN缓存刷新工具-缓存清除-缓存更新
- rust 官服指令_基本指令_腐蚀RUST基本指令及服务器指令大全_3DM单机
- 怎么把图片弄成logo_怎么把logo变成矢量图
- 数学在c语言的作用,【程序设计论文】数学专业C语言程序设计课程教学探讨(共3174字)...
- 4--STM32RCC时钟树
- php有哪几种运行环境,php有哪些运行环境