码迷,mamicode.com
首页 > 其他好文 > 详细

对RUP和XP的简要认识

时间:2017-09-23 23:23:22      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:复杂   技术   使用   设定   安装   nbsp   unifi   一点   逻辑   

因现代软件工程对软件开发团队时间、质量等的高要求,产生了一些新的软件开发方法和开发思想。其中RUPXP在如今众多软件过程中比较流行,且使用越来越广泛。

一、对RUP的认识

1.RUP

即统一软件开发过程(Rational Unified Process),是一个面向对象软件工程且基于络的通用业务流程。因它与当前流行的JAVA, J2EE技术和面向对象的设计思想(OOAD)紧密的结合在一起,所以在大型的信息技术项目中得到了广泛的应用。最大的特点就是提供了一套完整的软件开发过程框架,任何组织或个人都可以根据需要来对该过程进行裁剪,并根据自身需要进行调整后使其成为个性化的过程。

 

2.RUP的开发生命周期

由四个顺序的阶段和九个核心的工作流组成,如下图。图片体现了RUP的整个体系架构,横轴通过时间组织,体现开发过程的动态结构。生命周期经历了4个阶段:先启阶段、精华阶段、构建阶段、产品化阶段。一次典型的迭代都需要经过九个核心工作流程:业务建模、需求、分析设计、实施、测试、部署、配置与变更管理、项目管理、环境。这些流程间相互影响和制约,但是根据实际的项目不同,对应的流程也会相应的删减或扩充。

 技术分享

RUP 生命周期的阶段是:

·先启(Inception): 在项目进行之前必须确定重要业务和需求风险 

·精化(Elaboration):为系统体系架构设定基础。该体系架构进化了对最重要的需求(哪些需求对系统的体系架构有很大的影响)的考虑和对风险的评估。

·构建(Construction):澄清剩余的需求并完成基于基本体系架构的系统的开发。在此阶段要强调对资源的管理和对操作的控制,用来优化成本、进度和质量。 

·产品化(Transition): 重点确保软件对最终用户是可用的。产品化阶段可以跨越若干次迭代,该阶段包括为发布而进行的产品测试,以及根据用户反馈做出较小调整。在生命周期的这个阶段,用户的反馈应主要用于对产品进行微调、配置、安装和解决可用性问题,在项目生命周期的更早期就应该解决所有的主要结构问题。

 

3.RUP的三大特点: 

(1) 用例(Use Case)驱动的 

Use Case RUP方法论中一个非常重要的概念。简单地说,一个Use Case就是系统的一个功能。例如在一个基于电子商务的医疗系统中,病人可以坐在家里通过网上浏览器与医生约定看病的时间(Make appointment),这样,“Make appointment”就是系统的一个Use Case。在系统分析和系统设计中,Use Case被用来将一个复杂的庞大系统分割、定义成一个个小的单元,这个小的单元就是Use Case,然后以每个小的单元为对象进行开发。在商务需求分析,系统分布和系统设计过程,开发实现过程和测试过程等中,都以Use Case进行操作。

(2) 以架构为中心

(3) 迭代和增量开发

 增量迭代是RUP统一过程常采用的软件开发生命周期模型增量和迭代有区别但两者又经常一起使用所以这里要先解释下增量和迭代的概念假设要开发ABCD四个大的业务功能每个功能都需要开发两周的时间则对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成AB功能第二次增量完成CD功能而对于迭代开发来将则是分两次迭代来开发第一次迭代完成ABCD四个基本业务功能但不含复杂的业务逻辑而第二个功能再逐渐细化补充完整相关的业务逻辑在第一个月过去后采用增量开始时候AB全部开发完成而CD还一点都没有动而采用迭代开发的时候ABCD四个的基础功能都已经完成。

由于软件开发中人员和环境的复杂性,软件开发整个生命周 期中每一个阶段都有可能留下隐患和错误,如果在软件开发完毕后测试阶段发现重大问题,返工将造成巨大损失。所以为了及早发现隐患和错误,采取迭代模型。每次迭代都包含了需求设计和开发测试等各个过程而且每次迭代完成后都是一个可以交付的原型迭代不是并行在每次迭代过程中仍然要遵循需求->设计->开发的瀑布过程

对RUP和XP的简要认识

标签:复杂   技术   使用   设定   安装   nbsp   unifi   一点   逻辑   

原文地址:http://www.cnblogs.com/Hiooary/p/7582736.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!