搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
很楠不爱3
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
免费开源的微信小程序源码、小游戏源码精选70套!_小程序游戏源码
2
推荐算法中经典排序算法GBDT+LR
3
【智能硬件、大模型、LLM 智能音箱】MBO:基于树莓派、ChatGPT 的桌面机器人
4
KALI在ping时显示DNS无法解析域名或网络不可达的问题_kali无法解析域名
5
《Deep Residual Learning for Image Recognition》论文研读以及torch代码解读_deep residual learning for image recognition代码复现
6
寄存器编程时出现main.c(49): error: #65: expected a “;“可能的原因_use option -std=c99 or -std=gnu99 to compile your
7
证件照制作如此简单——基于人脸检测与自动人像分割轻松制作个人证件照(C++实现)_bbox_blob.channel_range
8
Unity——协程_unity协程是同步还是异步
9
JAVA基础--异常_java try catch 多个异常
10
华为HCIP认证H12-821题库下_如下图所示,rtc上将10.1.1.0/24宣告进bgp,rtc为路由 反射器rtb的客户端,则路
当前位置:
article
> 正文
五种典型开发周期模型(瀑布、V、原型化、螺旋、迭代)_v型,瀑布型
作者:很楠不爱3 | 2024-03-07 00:19:51
赞
踩
v型,瀑布型
总结一下经常可以见到的系统开发周期模型。
在过去的几年里,可以很奇葩的碰到类似于“创业项目库”这种需求非常明确,工作量十分可控,对质量要求比较低,业务建模比较easy,功能构成比较少的“面子项目”。类似于这种项目,采用传统意义上的瀑布模型就非常合适了,如果范围控制和风险控制做的比较好的话,真的如同一个瀑布一样,会“飞流直下三千尺”,直接将项目送到客户的小机上,部署运行,大家欢乐的拿到绩效奖金,回家happy去了。
但是仅仅注重“面子”的项目很难碰到几次,另一方面,即便是“面子型”的项目,也应当极其重视质量环节。项目管理的几个要素:质量,成本,时间,范围。质量是项目最重要的一环,如果丧失了质量,可以说项目产品就变成了无根之树,空中楼阁。所以,加强质量的把控是非常重要的,也需要对每一个阶段进行质量方面的控制,因此,V模型就是这样一种将开发过程与验证过程想对应的一种对称型的结构。
在项目实践中,用户的需求总是随着项目进展而更加明确,控制用户的需求变得非常的重要。为了让用户能在项目的起始阶段就深入的对自己的需求有一个明确的理解,原型就变得非常的重要,我们经常在开发中看到的LOW-FI的页面原型、其他类似项目的DEMO就算这种类型,用户对将来的产品有了直观的了解。建立在这种基础上的分析开发,会减少很多后面流程中可能出现的风险。在瀑布模型以及V模型当中,在需求分析阶段采用原型化,是目前非常有效甚至是必须要采用的手段。
现在的软件项目越来越大,同项目可能由相互联系的若干个子系统构成的,这样仅凭开发一个模型或者多个模型是满足不了项目对于多方面的要求,于是就衍生出了螺旋模型,螺旋模型适合于大型的软件的原因是,它更加注重风险的控制,强调风险的识别、风险的分析、以及风险的消除。
工作的后几年里,经常会按照Sprint(冲刺短跑)为周期的进行开发。这种敏捷的方式,是属于迭代式开发的一种实现。所谓迭代式模型就是在项目的每一个小的阶段中,都会执行一个传统的、完整的串行过程,执行一次就是一次迭代,每次迭代都可能会包含需求分析、设计、编码、测试等其中的全部或者部分活动。
这样就对软件的四种开发模型有了简单的了解:瀑布模型,V模型,原型化模型、螺旋模型、迭代模型。
下面对几个开发模型,结合理论逐一分析。
1.迭代模型
迭代模型,摒弃了传统的需求分析,设计,编码,测试的流程,而是将整个生命周期变成若干个冲刺(Sprint)阶段,而每一个阶段都是由以上若干或者全部传统的流程组成,在每一个阶段中,都会包含下面四个阶段:初始阶段,细化阶段,构建阶段,交付阶段。在初始阶段中,确认本次冲刺的范围,边界,系统选择的架构,计划,以及所需要的资源等信息。在细化阶段中,对问题进行建域,创建开发案例,创建模板以及准备工具等。在构建阶段的主要任务就是完成构建的开发并且进行测试,将完成的构建集成为产品,并且测试所有的功能(CI)。在交付阶段,主要是完成本次冲刺,将软件产品交付给相关的干系人。
2.螺旋模型
螺旋模型,尤其重视风险分析阶段,特别适用于庞大并且复杂,非常高风险的项目。通常螺旋模型由四个阶段组成:制定计划、风险分析、实施工程和客户评估。螺旋模型中,发布的第一个模型甚至可能是没有任何产出的,可能仅仅是纸上谈兵的一个目标,但是随着一次次的交付,每一个版本都会朝着固定的目标迈进,最终得到一个更加完善的版本。
3.原型化模型
原型化模型第一步就是创建一个快速原型,能够满足项目干系人与未来的用户可以与原型进行交互,再通过与相关干系人进行充分的讨论和分析,最终弄清楚当前系统的需求,进行了充分的了解之后,在原型的基础上开发出用户满意的产品。在实际的项目过程中,借助于组织过程资产以及快速模型软件,一般在需求分析的时候,就可以建立一些简单的原型,例如在第一家YH公司中,因为是“行业软件提供商”,所以拥有各个地域的行业解决软件方案,惯用的伎俩就是将其他地市的项目拿到本次项目实施地,作为原型化模型。原型化模型是极具意义的项目实践。
4.V模型
V模型从整体上看起来,就是一个V字型的结构,由左右两边组成。左边的下划线分别代表了需求分析、概要设计、详细设计、编码。右边的上划线代表了单元测试、集成测试、系统测试与验收测试。看起来V模型就是一个对称的结构,它的重要意义在于,非常明确的表明了测试过程中存在的不同的级别,并且非常清晰的描述了这些测试阶段和开发阶段的对应关系。
5.瀑布模型
瀑布模型是一个特别经典,甚至有点老套的周期模型,一般情况下将其分为计划、需求分析、概要设计、详细设计、编码以及单元测试、测试、运行维护等几个阶段。瀑布模型的周期是环环相扣的。每个周期中交互点都是一个里程碑,上一个周期的结束需要输出本次活动的工作结果,本次的活动的工作结果将会作为下一个周期的输入。这样,当某一个阶段出现了不可控的问题的时候,就会导致返工,返回到上一个阶段,甚至会延迟下一个阶段。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/很楠不爱3/article/detail/202409
推荐阅读
article
3GPP
网站使用方法与
协议
下载
_
3gpp
协议
下载
...
00~13系列:GSM only (before Rel-4),本系列规范仍适用于中国移动和中国联通部分地区的网络。21...
赞
踩
article
【动手教你
学
故障诊断
:
Python
实现
Tensorflow
+
CNN
深度
学
习的轴承
故障诊断
(西储大
学
数...
动手
学
基于
Python
+
CNN
深度
学
习的轴承
故障诊断
(西储大
学
数据
集)(含完整代码)该项目使用tensorflow和ke...
赞
踩
article
Java
语言
的
基础
知识_
java
语言
基础
...
专升本复习_
java
语言
基础
java
语言
基础
目录 一. 步...
赞
踩
article
Windows
(
Win7
)下用
Xming
实现
X11
图形界面
功能...
如果想在windows上用PuTTy通过SSH远程连接
图形界面
或者X应用,那么本文将手把手教你如何实现这个目的。第一步:...
赞
踩
article
软件测试
--
基本
理论_迭代
模型
推迟
实现
或不
实现
一部分
细节...
目录一.
基本
概念二.测试与开发
模型
1.测试工作流程2.开发
模型
2.2快速原型
模型
2.3增量
模型
2.4其他
模型
3.测试
模型
...
赞
踩
article
如何在
Visual
Studio
Code
中调试
Python
脚本...
In this article, I am going to explain how we can easily deb...
赞
踩
article
讲一讲
dp
_
c
语言
dp
...
dp
入门
_
c
语言
dp
c
语言
dp
大纲 一、背景 二、入门 三、进阶 四、放弃 五、验证 背景 ...
赞
踩
article
【
Git
】基础
操作
教程
(
开发
必知)_
git
初始化
...
git
全套基础
操作
教程
,从新手到入门_
git
初始化
git
初始化
...
赞
踩
article
python
创建与
遍历
L
i
st
二维
列表
_
python
生成
i
*j的
l
i
st
...
python
创建与
遍历
L
i
st
二维
列表
觉得有用的话,欢迎一起讨论相互学习~Follow Me
python
创建
L
i
st
二...
赞
踩
article
3GPP
5G
架构
演进
_
3gpp
中
关于5g版本
演进
...
一
5G
架构选项 蜂窝通信系统主要包含两部分:无线接入网(Radio Access Network,RAN)和核心网...
赞
踩
article
python
list
/
tuple
/
dict
/set/
deque
的简单比较、优化和
时间
复杂度
(表格)...
list
/
tuple
/
dict
/set/
deque
的简单比较、优化和
时间
复杂度
(表格)基于
python
2.7,不是完全完...
赞
踩
article
base64
编码
、解码
util
_
base64
code
util
...
import sun.misc.BASE64Encoder;import java.io.UnsupportedEnco...
赞
踩
article
3GPP
5G
常用
协议
规范
下载
整理_38.211
协议
下载
...
文章目录常用
协议
标准系统架构无线侧(RAN/NR)核心网(CN/
5G
C)常用
协议
标准系统架构编号
协议
全称描述
下载
地址1R...
赞
踩
article
【
Linux
】
进程
信号
概念 |
核心
转储
|
信号
的
产生
...
产生
信号
的方式可以有很多(譬如:由操作系统、其他
进程
,或者
进程
自身
产生
),但是向目标
进程
发送
信号
只能由操作系统发送,因为...
赞
踩
article
Git
使用 (一) 从零成功提交Hello
Git
项目到
Git
Hub_
hellogit
hosts
...
从零成功提交项目到
Git
Hub_
hellogit
hosts
hellogit
hosts
...
赞
踩
article
基于微信小
程序
高校学校
校园
系统
(后台
java
+
Springboot
框架)
答辩
常规
问题
和如何回答(答...
基于微信小
程序
高校学校
校园
系统
(后台
java
+
Springboot
框架)
答辩
常规
问题
和如何回答(
答辩
指导)毕设
毕业设计
...
赞
踩
article
初阶
JavaEE
(13)(安装、配置:
Smart
Tomcat
;访问出错怎么办?
Servlet
初识、...
初阶
JavaEE
(13)(安装、配置插件:
Smart
Tomcat
;访问出错怎么办?
Servlet
初识、调试、运行原理;...
赞
踩
article
动态
规划
(
最长
公共
子
序列
的
长度
)_
动态
规划
法实现
最长
公共
子
序列
输出
长度
...
给定两个数组X和Y,输出X和Y
最长
公共
子
序列
的
长度
。输入:第一行输入测试数据组数;每组测试数据包括两行,第一行代表数组X...
赞
踩
article
python
二维
列表
创建
与
循环
嵌套
赋值
_
python
循环
给
二维
数组
赋值
...
1.新手容易遇见的问题我们有时候需要
创建
二维
的
列表
,但
列表
的长度又很长,我们不可能用list=[[0,0,0,....]...
赞
踩
article
python
利用
plt
.
plot
绘柱状图
横坐标
刻度均设为
整数
_
plot
怎么让
横坐标
为
整数
...
在使用
python
进行音频信号处理时,使用
plt
.
plot
绘柱状图时,希望
横坐标
为
整数
,即音频通道号,通常使用的方法是:...
赞
踩
相关标签
5G
python
tensorflow
深度学习
故障诊断
西储大学数据集
java
java-ee
开发语言
windows
界面
图形
远程连接
putty
测试用例
编程语言
linux
人工智能
算法
动态规划
git
遍历List二维列表
5G规范
3GPP