常见的软件开发流程有哪些


Posted in 面试题 onNovember 14, 2015
常见的软件研发流程:瀑布模型,螺旋模型,RUP流程,IPD流程
瀑布模型核心思想是按工序将问题化简,将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。从本质来讲,它是一个软件开发架构,开发过程是通过一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈,因此,如果有信息未被覆盖或者发现了问题,那么最好 “返回”上一个阶段并进行适当的修改,开发进程从一个阶段“流动”到下一个阶段,这也是瀑布开发名称的由来。
螺旋模型将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。
螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:
(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;
(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;
(3)实施工程:实施软件开发和验证;
(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。
螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。
RUP(Rational Unified Process,统一软件开发过程,统一软件过程)是一个面向对象且基于网络的程序开发方法论。根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。 RUP和类似的产品–例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具–把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。
集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的《产品及生命周期优化法》(简称PACE——Product And Cycle-time Excellence)一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。

Tags in this post...

面试题 相关文章推荐
htmlentities() 和 htmlspecialchars()有什么区别
Jul 01 面试题
Ibatis中如何提高SQL Map的性能
May 11 面试题
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
Apr 28 面试题
C/C++程序员常见面试题一
Dec 08 面试题
怎样建立和理解非常复杂的声明?例如定义一个包含N 个指向返回 指向字符的指针的函数的指针的数组?
Mar 19 面试题
网络安全方面的面试题
Jan 07 面试题
.net C#面试题
Aug 28 面试题
linux比较文件内容的命令是什么
Sep 23 面试题
linux面试题参考答案(5)
Sep 01 面试题
Java如何读取CLOB字段
Oct 10 面试题
JAVA程序员面试题
Oct 03 面试题
HttpServlet类中的主要方法都有哪些?各自的作用是什么?
Mar 16 面试题
MIS软件工程师的面试题
Apr 22 #面试题
软件测试工程师面试问题精选
Oct 28 #面试题
配置管理计划的主要内容有哪些
Jun 20 #面试题
中间件分为哪几类
Sep 18 #面试题
软件测试有哪些?什么是配置项?
Feb 12 #面试题
面向对象设计的原则是什么
Feb 13 #面试题
为什么需要版本控制?
Aug 08 #面试题
You might like
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
Codeigniter的一些优秀特性总结
2015/01/21 PHP
php源码分析之DZX1.5加密解密函数authcode用法
2015/06/17 PHP
PHP  实现等比压缩图片尺寸和大小实例代码
2016/10/08 PHP
PHP简单实现二维数组的矩阵转置操作示例
2017/11/24 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JScript中使用ADODB.Stream判断文件编码的代码
2008/06/09 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
如何创建一个JavaScript弹出DIV窗口层的效果
2013/09/25 Javascript
js显示文本框提示文字的方法
2015/05/07 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
vue下canvas裁剪图片实例讲解
2020/04/16 Javascript
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
从零开始学Python第八周:详解网络编程基础(socket)
2016/12/14 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
解决Django no such table: django_session的问题
2020/04/07 Python
python Canny边缘检测算法的实现
2020/04/24 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
移动端HTML5开发神器之vconsole详解
2020/12/15 HTML / CSS
欧缇丽美国官网:Caudalie美国
2016/12/31 全球购物
美国相机和电子产品零售商:Beach Camera
2020/11/26 全球购物
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
大学生饮食配送创业计划书
2014/01/04 职场文书
党支部组织生活会整改方案
2014/09/30 职场文书
2014年检验员工作总结
2014/11/19 职场文书
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS
windows11怎么查看wifi密码? win11查看wifi密码的技巧
2021/11/21 数码科技