搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
我家自动化
这个屌丝很懒,什么也没留下!
关注作者
热门标签
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
oracle的merge into操作详解_merge into oracle
2
【mysql】聚合函数_mysql自定义聚合函数
3
linux内核补丁提交_提交您的第一个Linux内核补丁的清单
4
LoRa-Kit 开发板使用介绍_怎么看开发板有没有 lora模块
5
AIGC内容分享(七):AIGC带来的伦理之思_aigc灵韵
6
STM32F103C8T6通过ESP8266连接阿里云物联网平台(附代码)_stm32f103c8t6连接阿里云
7
融合正余弦和柯西变异的麻雀搜索算法优化CNN-BiLSTM,实现多输入单输出预测,MATLAB代码..._柯西变异 鱼鹰 麻雀优化
8
Java 秒杀方案
9
sklearn-分类算法-朴素贝叶斯_sklearn朴素贝叶斯分类
10
linux进阶19——GDB(五):单步调试命令(next、step和until)_gdb until
当前位置:
article
> 正文
五种典型开发周期模型(瀑布、V、原型化、螺旋、迭代)_瀑布型,v型
作者:我家自动化 | 2024-07-09 00:39:05
赞
踩
瀑布型,v型
总结一下经常可以见到的系统开发周期模型。
在过去的几年里,可以很奇葩的碰到类似于“创业项目库”这种需求非常明确,工作量十分可控,对质量要求比较低,业务建模比较easy,功能构成比较少的“面子项目”。类似于这种项目,采用传统意义上的瀑布模型就非常合适了,如果范围控制和风险控制做的比较好的话,真的如同一个瀑布一样,会“飞流直下三千尺”,直接将项目送到客户的小机上,部署运行,大家欢乐的拿到绩效奖金,回家happy去了。
但是仅仅注重“面子”的项目很难碰到几次,另一方面,即便是“面子型”的项目,也应当极其重视质量环节。项目管理的几个要素:质量,成本,时间,范围。质量是项目最重要的一环,如果丧失了质量,可以说项目产品就变成了无根之树,空中楼阁。所以,加强质量的把控是非常重要的,也需要对每一个阶段进行质量方面的控制,因此,V模型就是这样一种将开发过程与验证过程想对应的一种对称型的结构。
在项目实践中,用户的需求总是随着项目进展而更加明确,控制用户的需求变得非常的重要。为了让用户能在项目的起始阶段就深入的对自己的需求有一个明确的理解,原型就变得非常的重要,我们经常在开发中看到的LOW-FI的页面原型、其他类似项目的DEMO就算这种类型,用户对将来的产品有了直观的了解。建立在这种基础上的分析开发,会减少很多后面流程中可能出现的风险。在瀑布模型以及V模型当中,在需求分析阶段采用原型化,是目前非常有效甚至是必须要采用的手段。
现在的软件项目越来越大,同项目可能由相互联系的若干个子系统构成的,这样仅凭开发一个模型或者多个模型是满足不了项目对于多方面的要求,于是就衍生出了螺旋模型,螺旋模型适合于大型的软件的原因是,它更加注重风险的控制,强调风险的识别、风险的分析、以及风险的消除。
工作的后几年里,经常会按照Sprint(冲刺短跑)为周期的进行开发。这种敏捷的方式,是属于迭代式开发的一种实现。所谓迭代式模型就是在项目的每一个小的阶段中,都会执行一个传统的、完整的串行过程,执行一次就是一次迭代,每次迭代都可能会包含需求分析、设计、编码、测试等其中的全部或者部分活动。
这样就对软件的四种开发模型有了简单的了解:瀑布模型,V模型,原型化模型、螺旋模型、迭代模型。
下面对几个开发模型,结合理论逐一分析。
1.迭代模型
迭代模型,摒弃了传统的需求分析,设计,编码,测试的流程,而是将整个生命周期变成若干个冲刺(Sprint)阶段,而每一个阶段都是由以上若干或者全部传统的流程组成,在每一个阶段中,都会包含下面四个阶段:初始阶段,细化阶段,构建阶段,交付阶段。在初始阶段中,确认本次冲刺的范围,边界,系统选择的架构,计划,以及所需要的资源等信息。在细化阶段中,对问题进行建域,创建开发案例,创建模板以及准备工具等。在构建阶段的主要任务就是完成构建的开发并且进行测试,将完成的构建集成为产品,并且测试所有的功能(CI)。在交付阶段,主要是完成本次冲刺,将软件产品交付给相关的干系人。
2.螺旋模型
螺旋模型,尤其重视风险分析阶段,特别适用于庞大并且复杂,非常高风险的项目。通常螺旋模型由四个阶段组成:制定计划、风险分析、实施工程和客户评估。螺旋模型中,发布的第一个模型甚至可能是没有任何产出的,可能仅仅是纸上谈兵的一个目标,但是随着一次次的交付,每一个版本都会朝着固定的目标迈进,最终得到一个更加完善的版本。
3.原型化模型
原型化模型第一步就是创建一个快速原型,能够满足项目干系人与未来的用户可以与原型进行交互,再通过与相关干系人进行充分的讨论和分析,最终弄清楚当前系统的需求,进行了充分的了解之后,在原型的基础上开发出用户满意的产品。在实际的项目过程中,借助于组织过程资产以及快速模型软件,一般在需求分析的时候,就可以建立一些简单的原型,例如在第一家YH公司中,因为是“行业软件提供商”,所以拥有各个地域的行业解决软件方案,惯用的伎俩就是将其他地市的项目拿到本次项目实施地,作为原型化模型。原型化模型是极具意义的项目实践。
4.V模型
V模型从整体上看起来,就是一个V字型的结构,由左右两边组成。左边的下划线分别代表了需求分析、概要设计、详细设计、编码。右边的上划线代表了单元测试、集成测试、系统测试与验收测试。看起来V模型就是一个对称的结构,它的重要意义在于,非常明确的表明了测试过程中存在的不同的级别,并且非常清晰的描述了这些测试阶段和开发阶段的对应关系。
5.瀑布模型
瀑布模型是一个特别经典,甚至有点老套的周期模型,一般情况下将其分为计划、需求分析、概要设计、详细设计、编码以及单元测试、测试、运行维护等几个阶段。瀑布模型的周期是环环相扣的。每个周期中交互点都是一个里程碑,上一个周期的结束需要输出本次活动的工作结果,本次的活动的工作结果将会作为下一个周期的输入。这样,当某一个阶段出现了不可控的问题的时候,就会导致返工,返回到上一个阶段,甚至会延迟下一个阶段。
本文内容由网友自发贡献,转载请注明出处:
【wpsshop博客】
推荐阅读
article
运营商
html
劫持
原理,
域名
劫持
、
运营商
流量
劫持
的
现象及分析...
1、
域名
劫持
现象就是,打开网站
的
页面,会出现莫名
的
跳转到站内或站外其他
的
网址。或者直接显示了站外
的
内容。判断方法,更换其...
赞
踩
article
数据库
开发工具
:
Navicat
Premium
15
mac
中文版_
navicat
mac
中文...
Navicat
Premium
for Mac是Mac平台上优秀的
数据库
开发工具
,你可以使用
Navicat
Premiu...
赞
踩
article
大
数据
平台
--
Hive
入门1_
hive
数据
开发
平台
...
大
数据
平台
–
Hive
入门1一.大
数据
平台
以及ETL介绍1,ETL简介ETL,Extraction-Transformat...
赞
踩
article
飞项
|
产品
经理
如何搭建
团队
协作
构建体系
_
产品
经理
团队
建设...
总而言之,
飞项
作为一款效率工具,不仅可以满足员工个人的待办计划需求,提升个人做事效率,还可以满足
团队
协作
中高效沟通与信息...
赞
踩
article
【雕爷学编程】
MicroPython
手册之
ESP32
-S3 软件
SPI
总线_
esp32s3
mic...
接下来,我们使用
spi
.init()函数初始化
SPI
总线,并使用
spi
.configure()函数设置通信参数,包括波特...
赞
踩
article
ESP32
使用
笔记
_
等待
上电同步...
各种
ESP32
使用
笔记
_
等待
上电同步
等待
上电同步 ES...
赞
踩
article
Linux下安装
Kafka
_
linux
安装
kafka
csdn
...
zookeeper.connect:申明
kafka
所连接的zookeeper的地址,需配置为zookeeper的地址,由...
赞
踩
article
【
Java
快速复习】
数组
与
字符串
_
java
字符串
数组
...
本篇将主要记录
数组
与
字符串
的相关知识点,尤其将略过C++重叠部分,并强调不同部分。
_
java
字符串
数组
java
字符串
...
赞
踩
article
Win11
右键
怎么直接打开
所有
选项
?...
相信不少用户都升级了最新的
Win11
操作系统,而不少用户最近在使用的过程中却发现鼠标
右键
没办法展示
所有
的
选项
,那么要怎...
赞
踩
article
Devops
自动化
集成
部署(2)-
jira
安装
配置_
coding
devops
集成
jira
...
环境CentOS7.5 64位1.下载
jira
官网: https://www.atlassian.com/softwar...
赞
踩
article
用
python
实现输出
1
00
以内
质数
_
python
编写程序
:
打印输出
1
00
以内的所有
素数
。
素数
,
也称...
首先,我们定义了一个函数is_prime,用于判断一个数是否为
质数
。在函数中,我们首先判断这个数是否小于等于
1
,如果是,...
赞
踩
article
线性代数
基础
概念
:
矩阵
_
矩阵
线性代数
...
矩阵
是
线性代数
中的重要
概念
,它可以用来表示线性变换、存储数据、解决线性方程组等。理解
矩阵
的定义、运算、特殊类型、秩、初等...
赞
踩
article
【
neo4j
】
desktop
下载
_
neo4j
desktop
下载
...
点击download,填写表格。之后就可以正常使用了。_
neo4j
desktop
下载
neo4j
desktop
下载
...
赞
踩
article
如何找到
linux
的
大
文件
...
要查找 Linux 系统中的
大
文件
,可以使用以下命令:find / -type f -size +100M该命令会在整个...
赞
踩
article
数字
IC
基础
:主要的
FPGA
厂商_
fpga
厂家都有哪些?...
数字
IC
基础
。_
fpga
厂家都有哪些?
fpga
厂家都有哪些? 相关阅读
数字
IC
基础
ht...
赞
踩
article
YOLOv8
源码
修改
(3)-多个
YOLOv8
模型 +
deepsort
实现
多
目标
跟踪
and
修改
原...
使用
YOLOv8
+deep_sort
实现
多
目标
跟踪
。
YOLOv8
官方仅提供了bot_sort和byte_tracker两...
赞
踩
article
rom
单端口
ip
核
调用总是出现
error
loading
design
_
rom
的
ip
核
读取从而文件报...
quartus在进行
rom
ip
核
调用的时候,编译代码成功,但是一直出现
error
loading
design
错误,按...
赞
踩
article
Github获取
ssh
key
的办法,2024年最新大厂
offer
手到擒来_
github
ssh
ke...
不管是git bash还是xshell,还是其它软件获取
ssh
key
的方式都一样,只不过查看的位置不同。_
github
...
赞
踩
article
如何在
IntelliJ
IDEA
数据库
控制台
操作
Redis
_
redis
在
intelijidea
中的配...
最近工作中,经常要
操作
到
Redis
,尽管市面上的
Redis
客户端GUI非常多,例如
Redis
Desktop Manag...
赞
踩
article
数学
之
英文
写作
——基本中
英文
词汇
(一般术语、算术与
代数
的常用
词汇
)_
数学
之
英文
写作
pdf
...
持续更新…_
数学
之
英文
写作
pdf
数学
之
英文
写作
pdf
...
赞
踩
相关标签
运营商 html劫持 原理
Hive
小程序
项目管理
职场和发展
物联网
嵌入式硬件
python
ESP32-S3
单片机
软件SPI总线
MicroPython
linux
kafka
运维
java
数据结构
算法
windows
devops
jira
jenkins
自动化集成部署
开发语言