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


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...

面试题 相关文章推荐
Eclipse面试题
Mar 22 面试题
天游软件面试
Nov 23 面试题
委托与事件是什么关系?为什么要使用委托
Apr 18 面试题
请解释virtual关键字的含义
Jun 17 面试题
简述使用ftp进行文件传输时的两种登录方式?它们的区别是什么?常用的ftp文件传输命令是什么?
Nov 20 面试题
P/Invoke是什么
Jul 31 面试题
别名指示符是什么
Oct 08 面试题
智乐游戏测试笔试题
May 21 面试题
如何从一个文件档案的尾端新增记录
Dec 02 面试题
什么是方法的重载
Jun 24 面试题
建龙钢铁面试总结
Apr 15 面试题
Java面试题汇总
Dec 06 面试题
MIS软件工程师的面试题
Apr 22 #面试题
软件测试工程师面试问题精选
Oct 28 #面试题
配置管理计划的主要内容有哪些
Jun 20 #面试题
中间件分为哪几类
Sep 18 #面试题
软件测试有哪些?什么是配置项?
Feb 12 #面试题
面向对象设计的原则是什么
Feb 13 #面试题
为什么需要版本控制?
Aug 08 #面试题
You might like
PHP 截取字符串 分别适合GB2312和UTF8编码情况
2009/02/12 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php绘制圆形的方法
2015/01/24 PHP
smarty中改进truncate使其支持中文的方法
2016/05/30 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
js查错流程归纳
2012/05/04 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
2013/08/02 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
Centos7 中安装 Node.js v4.4.4
2016/11/03 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
jQuery+pjax简单示例汇总
2017/04/21 jQuery
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
详解使用jest对vue项目进行单元测试
2018/09/07 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
Python命令启动Web服务器实例详解
2017/02/23 Python
Pandas 按索引合并数据集的方法
2018/11/15 Python
Python使用Shelve保存对象方法总结
2019/01/28 Python
Python字符串处理的8招秘籍(小结)
2019/08/13 Python
python爬虫 Pyppeteer使用方法解析
2019/09/28 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
解决pip install psycopg2出错问题
2020/07/09 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
2015/02/22 面试题
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
起诉离婚协议书样本
2014/11/25 职场文书
小学生差生评语
2014/12/29 职场文书
员工聘用合同范本
2015/09/21 职场文书
ORACLE中dbms_output.put_line输出问题的解决过程
2022/06/28 Oracle