一、典型的软件过程
1、定义:瀑布过程模型(Wiston Royce):又称经典的生命周期模型,是一个系统的,顺序的
软件开发方法,以用户需求分析开始,通过策划,建模,构建和部署的过程,最终提
供完整的软件支持
2、特定:
1、各阶段相互分离的,且相互之间有顺序性和依赖性
前一段工作完成之后,后一阶段的工作才能开始
后一个阶段的工作结果依赖于前一个阶段工作的正确结果输出
2、推迟编码:严格先设计和编码
3、文档驱动,保证质量
3、局限性:
1)阻塞状态:等待的时间要远超实际开发时间
2)实际上软件项目很少遵循瀑布模型的顺序的:
客户通常很难清楚的描述所有的需求,而瀑布模型却要求必须开始就明确。。。
架构设计很难一开始就设计完美。。
3)客户必须有足够的耐心,因为只能等待接近尾声的时候才能看到项目结果:
系统存在重大的问题/系统不满足用户的预期
4、适用项目
项目定义的需求非常稳定,且正确性非常重要每一步都需要验证的项目
5、为Wiston Royce正名:
1)相邻的步骤间需要回溯
2)模型要走两遍,先有一个模拟版本,再次基础之上手机反馈,改进各个步骤,
并交付一个最终的版本。

二、增量模型(1996 史蒂夫. 迈克尔康奈尔)
1、采用瀑布模型,如果你的客户要求你在一个不可能完成的时间上提交产品,你改怎么办?
–》首先实现一个核心(基本),然后在后续版本中细化和扩充
–》将待开发的软件模块化,将每个模块作为一个增量组件,从而分批次的分析,设计,
编码和测试增量组件。
2、特点:
(1)缩短用户使用时间的时间
(2)有利于开发者逐步积累开发经验,由于于技术复用
(3)以组件的形式进行开发的,降低风险,一个周期(构件)内的错误不会影响下一个
周期(构件)中的错误
(4)核心组件最先被开发的,每个构件集成,不断的测试,
保证了核心组件的可靠性
(5)需求是明确的,体系结构明确的。
3、缺点:
(1)、待开发的软件必须可以被模块化,如果不能模块化/很难模块化。。。
4、难点:
(1)、必须要有一个开放式的体系结构(把心的增量构件集成到现有体系结构中
不会破坏原有的产品)
5、适用项目:
(1)可分批进行交付
(2)可被模块化
(3)开发人员对应用领域不熟悉,难以一次性进行系统开发

三、演化模型:快速原型
系统需求不明确,交付时间严格限制
增量模型:功能的数量上去迭代的
演化模型:功能的深度和细化程度上
1、定义:利用原型辅助软件开发的一种新思想,经过简单的快速分析,快速实现一个原型,
用户与开发者在试用了原型过程中加强沟通和反馈,通过反复的复审,评价和
改进,较少误解,弥补抖动,适应需求的变化。
–》明确需求+可运行的原型系统。
2、可运行的原型系统确定了需求之后,它应该被如何处理?
构建第一个系统通常都是不好用的,很慢,太多,很难用,或者兼而有之。
—丢弃掉,重新设计。
–》稍作修改,成为真实系统(几乎很少)。
3、优点:
较少风险:需求不明确的风险
4、缺点:
(1)利用相关者看到你的软件产品(原型)之后–》随便搭建,并没有考虑质量
和长期的可维护性,不愿意重建了,要求稍作修改投入使用。
(2)软件工程师为了快速搭建一个原型系统,选用的技术或者工具都是他所熟悉,
可能这些技术或者工具都是付符合技术走向的。使用的算法低效的。。。
5、适用的项目
(1)需求不明确
(2)开发工程师可能对算法的效率,操作系统的适用性,人机交互的形式没有把握。
6、说明:
当做一门技术使用。

四、演化模型:螺旋模型(1988 Barray Beohm)
1、定义:
一种风险驱动型的过程模型,将快速原型和瀑布模型进行了迭代式的融合。
显著特点:1、采用循环的方式逐步加深系统的定义和实现的深度
2、确定了一系列的里程碑作为支撑,快速得到用户认可
2、描述:
(1)若干个螺旋线组成,每个回路表示软件过程的一个阶段,从里到外,概要设计-》
需求-》设计-》。。。
(2)每个回路分为4分小阶段
a)指定计划:为项目的这个阶段定义目标,指定一些可选的实施方案,
弄清项目的开发限制(软件)
b)风险分析:分析评估所选方案,考虑如何识别和消除风险,构建原型
c)实施阶段:开发与验证
d)客户的评价:修改,指定下一个工作计划
3、优点:
(1)对可选方案的构建条件的强调,有助于该方案的重用
(2)减少了过多的测试(浪费资源)和测试不足(故障多)带来的风险
4、缺点:
(1)强调风险分析,要求客户接受和相信这种分析,并作出反应–》不容易
(2)如何风险分析极大的影响了项目的利润。。。
(3)风险评估需要丰富的风险经验和专门的知识,如果没有及时发现,,,,
(4)过多迭代增加成本,延迟交付时间
5、适用项目:
(1)大型的,内部的,高风险的项目中

五、演化模型:喷泉模型(1990 B.H Soller/ J.M Edwards)
1.定义:一种以需求动动力,以对象为驱动的模型,主要用于描述面向对象的软件
开发过程,强调迭代和无间隙(各个活动间没有明确的边界)的特点。
2、优点:各阶段可同步进行,提高开发效率,节省时间
3、缺点:
(1)各阶段重合,需要大量开发人员
(2)严格管理文档,审核难度比较大。
4,适用项目:
Rational 统一过程
敏捷开发:极限过程
微软的解决方案。

典型的软件过程几种模型相关推荐

  1. (软件工程复习核心重点)第一章软件工程概论-第四节:软件过程及相关模型

    文章目录 一:软件过程概念 (1)定义 (2)构成 二:主要模型 (1)瀑布模型 A:定义 B:特点 C:优缺点 D::适用范围 E:实际的瀑布模型 (2)快速原型模型 A:定义 B:原理 C:优缺点 ...

  2. 44种模型、1200种子网,RobustART评测CNN、Transformer、MLP-Mixer谁最鲁棒?

    来源:机器之心本文约3600字,建议阅读7分钟 本文为你分享一个全面.标准的模型鲁棒性评估的开源平台和框架. 来自北航.商汤科技和京东探索研究院等机构的研究者提出了第一个在大规模数据集 ImageNe ...

  3. socket编程五种模型

    客户端:创建套接字,连接服务器,然后不停的发送和接收数据. 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套 ...

  4. 让机器有温度:带你了解文本情感分析的两种模型

    摘要:本篇博文从模型和算法的视角,分别介绍了基于统计方法的情感分析模型和基于深度学习的情感分析模型. 文本情感分析(Sentiment Analysis)是指利用自然语言处理和文本挖掘技术,对带有情感 ...

  5. 多元思考科学决策!建立高品质思维的30种模型

    "拿锤子的人,看啥都是钉子."这是查理·芒格(股神巴菲特黄金搭档)经常引用的一句俗语. 而<思维模型:建立高品质思维的30种模型>这本小册子想做的,就是让人们避免这种单 ...

  6. 系统学习机器学习之随机场(三)--MRF,CRF及几种模型对比

    参考:http://blog.csdn.net/discxuwei/article/details/6331617 条件随机场(Conditional random fields),是一种判别式图模型 ...

  7. Socket编程5种模型——以代码说明一切,hhhhh

      我会以一个回应反射式服务器(与<Windows网络编程>第八章一样)来介绍这五种I/O模型.我们假设客户端的代码如下(为代码直观,省去所有错误检查,以下同): #include < ...

  8. windows socket编程五种模型

    客户端:创建套接字,连接服务器,然后不停的发送和接收数据. 比较容易想到的一种服务器模型就是采用一个主线程,负责监听客户端的连接请求,当接收到某个客户端的连接请求后,创建一个专门用于和该客户端通信的套 ...

  9. Pytorch两种模型保存方式

    以字典方式保存,更容易解析和可视化 Pytorch两种模型保存方式 大黑_7e1b关注 2019.02.12 17:49:35字数 13阅读 5,907 只保存模型参数 # 保存 torch.save ...

最新文章

  1. Gitlab CI更多内容学习(二)
  2. easyui datalist 动态绑定数据_一文看懂动态链接
  3. 5-global_data介绍
  4. 多线程中的队列不一定需要线程安全
  5. IntelliJ IDEA: 无法创建Java Class文件
  6. Oracle定时调用存储过程
  7. Bootstrap 框架学习目录
  8. hbase region split 过程(翻译)
  9. 改变计算机界的存储解决方案:RAID,30岁生日快乐!
  10. 囧研究:焦虑的人能更快速地做出决定
  11. 房地产管理系统的核心技术与功能
  12. 维修手册 html 打开,汽车维修手册大全.pdf
  13. 【树形dp 题解】 洛谷P3174 毛毛虫
  14. 基于android的校园新闻app,移动端校园新闻APP的设计探析
  15. FPGA开发板剁手,学生狗省钱大法丨吐血资源
  16. 数字货币钱包 HD Wallet的助记词和种子的生成原理(BIP39)
  17. Sign function
  18. C++循环结构实例:估算e值:计算e=1+(1/1!)+(1/2!)+…的近似值,1/n!小于10^(-7)时停止计算
  19. 新手要学会做网站要多长时间?
  20. 新年「开门红」| 送你 108 份开工牛气能量!

热门文章

  1. 机器学习之决策树算法(3)
  2. 11g导出报错:EXP-00106: Invalid Database Link Passwords
  3. 今日头条的排名算法_今日头条搜索seo排名怎么做? 今日头条搜索排名规则...
  4. shell 知识点补充(3)-修改语系/特殊字符/ printf/sed 工具/awk 工具/diff/cmp
  5. 学豆网学计算机,家长通英语点读机电脑版
  6. 企业级npm仓库搭建
  7. 如何将音乐从Google Play音乐传输到Android Wear
  8. JavaScript大作业——美食餐饮网站设计与实现(HTML+CSS+JavaScript)
  9. windows subst命令实现原理模拟2 - subst卸载已经挂载的盘符
  10. MySQL数据库-学习笔记