对RUP和XP的简要认识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对RUP和XP的简要认识相关的知识,希望对你有一定的参考价值。
因现代软件工程对软件开发团队时间、质量等的高要求,产生了一些新的软件开发方法和开发思想。其中RUP和XP在如今众多软件过程中比较流行,且使用越来越广泛。
一、对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统一过程常采用的软件开发生命周期模型。增量和迭代有区别但两者又经常一起使用,所以这里要先解释下增量和迭代的概念。假设要开发A,B,C,D四个大的业务功能,每个功能都需要开发两周的时间,则对于增量方法而言可以将四个功能分为两次增量来完成,第一个增量完成A,B功能,第二次增量完成C,D功能;而对于迭代开发来将则是分两次迭代来开发,第一次迭代完成A,B,C,D四个基本业务功能但不含复杂的业务逻辑,而第二个功能再逐渐细化补充完整相关的业务逻辑,在第一个月过去后采用增量开始时候A,B全部开发完成而C,D还一点都没有动,而采用迭代开发的时候A,B,C,D四个的基础功能都已经完成。
由于软件开发中人员和环境的复杂性,软件开发整个生命周 期中每一个阶段都有可能留下隐患和错误,如果在软件开发完毕后测试阶段发现重大问题,返工将造成巨大损失。所以为了及早发现隐患和错误,采取迭代模型。每次迭代都包含了需求,设计和开发,测试等各个过程,而且每次迭代完成后都是一个可以交付的原型,迭代不是并行,在每次迭代过程中仍然要遵循需求->设计->开发的瀑布过程。
以上是关于对RUP和XP的简要认识的主要内容,如果未能解决你的问题,请参考以下文章