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


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

面试题 相关文章推荐
统计每一学生的平均成绩
Jun 06 面试题
在C++ 程序中调用被C 编译器编译后的函数,为什么要加extern "C"
Aug 09 面试题
存储过程的优点有哪些
Sep 27 面试题
可靠的数据流传输TCP
Mar 15 面试题
如何判断计算机可能已经中马
Mar 22 面试题
介绍一下木马病毒的种类
Jul 26 面试题
金士达面试非笔试
Mar 14 面试题
什么是Remote Module
Jun 10 面试题
用Python写一个for循环的例子
Jul 19 面试题
mysql有关权限的表都有哪几个
Apr 22 面试题
简单叙述一下MYSQL的优化
May 09 面试题
UNIX文件系统常用命令
May 25 面试题
MIS软件工程师的面试题
Apr 22 #面试题
软件测试工程师面试问题精选
Oct 28 #面试题
配置管理计划的主要内容有哪些
Jun 20 #面试题
中间件分为哪几类
Sep 18 #面试题
软件测试有哪些?什么是配置项?
Feb 12 #面试题
面向对象设计的原则是什么
Feb 13 #面试题
为什么需要版本控制?
Aug 08 #面试题
You might like
php数组函数序列之array_pop() - 删除数组中的最后一个元素
2011/11/07 PHP
php对数组排序的简单实例
2013/12/25 PHP
php通过Chianz.com获取IP地址与地区的方法
2015/01/14 PHP
PHP中phar包的使用教程
2017/06/14 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
2012/01/15 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
移动端滑动插件Swipe教程
2016/10/16 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
2018/06/01 Javascript
layui 弹出删除确认界面的实例
2019/09/06 Javascript
基于jquery ajax的多文件上传进度条过程解析
2019/09/11 jQuery
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python3.x对JSON的一些操作示例
2017/09/01 Python
python的Tqdm模块的使用
2018/01/10 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
Python 删除List元素的三种方法remove、pop、del
2020/11/16 Python
html+js 实现markdown编辑器效果
2019/10/23 HTML / CSS
英国领先的男士美容护发用品公司:Mankind
2016/08/31 全球购物
什么叫做SQL注入,如何防止
2016/10/04 面试题
上班打牌检讨书
2014/02/07 职场文书
促销活动计划书
2014/05/02 职场文书
2014年行政工作总结
2014/11/19 职场文书
幼儿园毕业典礼家长致辞
2015/07/29 职场文书
如何Tomcat中使用ipv6地址
2022/05/06 Servers
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技