`
chemyc
  • 浏览: 2435 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

软件开发方法论:RUP(Rational Unified Process)

阅读更多

        随着现代信息产业的蓬勃发展,软件开发已经成为一项浩大繁复的工程。就象是建造一座宏伟的宫殿,从计划、设计到施工,每一个环节都必须严格把关,稍有不慎,整个工程就会失败。据统计,仅在美国,每年就有180,000个信息技术项目,耗资大约$2500亿美元,其中25-30%的项目会流产。由此可见,由于管理不善和设计上的失误所造成的损失是巨大的。现代软件开发的管理和方法论显得比以往任何时候都更为重要。 

  软件开发的过程由方法论和工具构成(process = methodology + tools)。正如装配电子设备一样,仅有工具就可以胜任装配任务。但为了减少失误和提高效率,人们往往采用流水线作业,流水线作业便是一种应用于电子设备装配中的方法论。目前,信息技术市场流行的方法论有RUP(Rational Unified Process), The Zachman Framework, XP(Extreme Programming)等。在这些方法论中,最流行的要数RUP。RUP是由Rational Software公司首创的。因它与当前流行的JAVA, J2EE技术和面向对象的设计思想(OOAD)紧密的结合在一起,所以在大型的信息技术项目中得到了广泛的应用。在这篇文章中,我们试图对RUP的特点作一个初步的探讨,并且讨论它是如何贯穿在整个软件开发的生命周期之中的。 

  RUP最重要的它有三大特点:1)软件开发是一个叠代过程,2)软件开发是由Use Case驱动的,3)软件开发是以构架设计(Architectural Design)为中心的。 

  按照传统的瀑布(Waterfall)开发模式,软件开发大致经历如下几个步骤:商务需求分析(Business Requirement Analysis),系统分析(System Analysis),系统设计(System Design),开发实现(Implementation),测试(Test),发布(Deployment),系统支持(Supporting)和系统变更管理(Change Management)。 

  传统的瀑布开发模式假定在进行新的开发过程时,上一个过程已经完成,而且不会回到上一个过程。初看起来,这似乎是一个非常合理,高效率的解决方案,但20多年的实践证明,这个开发模式存在着很大的弊病,原因是软件开发是一个非常复杂的工程,有诸多的因素影响工程的效率和成败。软件开发需要许多不同背景的个人和团队参与。由于这些复杂性,在软件开发的整个生命周期中每一个阶段都有可能留下隐患和错误。如果等到系统已经开发实现完毕,在测试阶段发现了重大问题,这时的返工将会造成人力、物力、财力及时间上的巨大浪费。鉴于以上的考虑,RUP强调软件开发是一个叠代模型(Iterative Model),RUP定义了四个阶段(Phase):开端(Inception),阐述(Elaboration),建造(Construction),过渡(Transition)。其中每个阶段都有可能经历以上所提到的从商务需求分析开始的各个步骤,只是每个步骤的高峰期会发生在相应的阶段。例如开发实现的高峰期是发生在建造阶段。实际上这样的一个开发方法论是一个二维模型。这种叠代模型的实现在很大程度上提供了及早发现隐患和错误的机会,因此被现代大型信息技术项目所采用。 

  RUP 的另一大特征是Use Case 驱动。Use Case是RUP方法论中一个非常重要的概念。简单地说,一个Use Case就是系统的一个功能。例如在一个基于电子商务的医疗系统中,病人可以坐在家里通过网上浏览器与医生约定看病的时间(Makeappointment),这样,“Makeappointment”就是系统的一个Use Case。在系统分析和系统设计中,Use Case被用来将一个复杂的庞大系统分割、定义成一个个小的单元,这个小的单元就是Use Case,然后以每个小的单元为对象进行开发。按照RUP, Use Case贯穿整个软件开发的生命周期。在商务需求分析中,客户或用户对Use Case进行描述,在系统分布和系统设计过程中,设计师对Use Case进行分析,在开发实现过程中,开发编程人员对Use Case进行实现,在测试过程中,测试人员对Use Case进行检验。 

  RUP的第三大特征是它强调软件开发是以构架为中心的。构架设计(Architectural Design)是系统设计的一个重要组成部分。在构架设计过程中,设计师(Architect)必须完成对技术和运行平台的选取,整个项目的基础框架(Framework)的设计,完成对公共组件的设计,如审计(Auditing)系统,日志(Log)系统,错误处理(Exception Handling)系统,安全(Security)系统等。设计师必须对系统的可扩展性(Extensibility),安全性(Security),可维护性(Maintainability),可延拓性(Scalability),可重用性(Reusability)和运行速度(Performance)提出可行的解决方案。 

  在RUP方法论中,不同的角色可以从不同的侧面来认识同一个项目。RUP定义了“4+1”个场景(View):Use Case场景(Use Case View),逻辑场景(Logic View),进程场景(process View),实现场景(Implementation View)和发布场景(Deployment View)。在Use Case场景中,客户和商务分析员对Use Case进行描述,在逻辑场景中,设计师对系统进行分析和设计,在进程场景中,设计师对系统可能出现的并发性,运行速度和分布特性进行描述。实现场景则反映了程序开发员开发实现的过程。发布场景是描述系统管理员和组装人员实施系统发布和管理的过程。值得强调的是,系统构架的设计是在逻辑场景中描述的。 

  RUP还定义了4个模型,即Use Case模型(Use Case Model),分析模型(Analysis Model),设计模型(Design Model)和实现模型(Implementation Model)。Use Case模型包含Use Case Diagram和Use Case文档。Use Case模型是其他三个模型的基础,分析模型即是概念模型(Conceptual Model),是系统分析所得到的结果,分析模型包含了类图(Class Diagram),次序图(Sequence Diagram)以及活动图(Activity Diagram)。设计模型则是构架设计和系统设计的结果。当设计模型完成后,开发编程人员便可以进行编程了。设计模型主要包含了类图,次序图和状态图(State Chart Diagrams)。分析模型和设计模型看起来有许多相似之处,但两者的含义有本质的区别。分析模型强调的是问题的范围,但并不给出解决问题的方案,分析模型并不涉及具体的技术和平台。例如它并不关心是否应用EJB或一般的JAVA BEANS,系统是安装在WebSphere或是在WebLogic。但是与之相反,设计模型要考虑这些细节,而且要提供解决这些问题的全部方案。当然设计模型是建立在分析模型之上的,分析模型中的一个类可直接映射成为设计模型中的类,但这种映射关系一般并不是一一对应的,最后一个模型是实现模型。实现模型包含构件图(Component Diagram),从这个模型出发,开发编程人员可以产生骨架源程序(Skeleton Source Code),也可以从源程序出发更新设计模型。 

  目前应用于系统分析和设计的工具主要有Rational Rose和Together Software Center(TogetherJ)。JAVA和J2EE的开发工具有IBM Websphere Application Developer(WSAD), Borland Jbuilde和WebGain VisualCafe. WSAD和WebSphere Application Server应用在一起,使得服务器端的排错和系统的发布变得非常的容易。Jbuilder和VisualCafe一般与WebLogic erver紧密结合在一起。目前WebSphereServer和WebLogic Server占据了Application Server市场的66%,其中WebSphere Server占据了37%,成为同类产品的No.1。在单位测试和集成测试中,广泛应用的工具和框架有Junit, JunitPerf和Cactus.。 

  综上所述,软件开发的方法论已经成为现代软件工程过程中不可缺少的一个重要部分。是目前在Java/J2EE和面向对象的大型项目中广泛被采用的一种方法论。他对整个软件开发的生命周期提供了基础框架和指导。RUP, UML/Rational Rose, Java/J2EE, WSAD, Websphere Application Server和Oracle这样的技术、工具和平台的组合是目前许多公司、政府信息技术项目中采用的方案。因此,RUP的知识和经验也是现在求知是场所需求的热门技能。

转自: http://www.killuakun.com/article.asp?id=419

分享到:
评论

相关推荐

    RUP(Rational Unified Process)文档全套模板

    RUP(Rational Unified Process)是一种广泛使用的软件开发过程框架,由IBM的Rational公司开发。它提供了一种结构化的方法来管理软件开发项目,强调迭代和增量开发,旨在提高软件质量和生产力。RUP文档全套模板是RUP...

    IBM Rational Unified Process Reference and Certification Guide

    本书旨在深入探讨IBM Rational Unified Process(RUP),这是一种面向软件开发和系统工程的方法论,强调迭代、增量和基于组件的开发过程。以下是对该书涉及的关键知识点的详细解析: ### IBM Rational Unified ...

    RUP(Rational Unified Process)英文模板

    RUP,全称为Rational Unified Process,是由IBM Rational公司开发的一种软件开发过程框架,它提供了一种结构化的、迭代的、基于最佳实践的方法来管理软件开发项目。RUP的核心理念是强调软件开发不仅仅是编写代码,...

    Rational unified process

    综上所述,Rational Unified Process(RUP)提供了一套全面且灵活的方法论,适用于不同规模和类型的软件开发项目。通过采用 RUP,开发团队可以有效地管理项目进度,确保软件质量,并最终实现用户满意度的最大化。RUP...

    A Manager’s Introduction to The Rational Unified Process (RUP)

    RUP作为一种成熟且全面的软件开发方法论,通过其独特的生命周期阶段划分、迭代式的开发方式以及强调最佳实践的应用,为软件项目提供了有效的指导和支持。无论是对于初学者还是经验丰富的项目经理来说,掌握RUP的核心...

    Rational Unified Process 2000

    Rational Unified Process(RUP)是由IBM的Rational Software公司(现为IBM的一部分)在2000年推出的一种软件开发过程框架。它是一种迭代和增量的开发方法论,旨在提供一套全面的、灵活的、可定制的软件开发最佳实践...

    RUP.rar_Dot._RUP d_rup_unified process_文档模板

    统一软件开发过程(Rational Unified Process,简称RUP)是由IBM的Rational公司提出的一种软件工程方法论,它是一种迭代、面向架构的软件开发过程。RUP旨在提供一种结构化的方法,帮助开发团队在软件生命周期中有效...

    Rational Unified Process-Best Practices for Software.pdf

    《Rational Unified Process:软件开发的最佳实践》 一、Rational Unified Process(RUP)概览 Rational Unified Process(RUP),即统一过程,是由Rational Software开发并维护的一种软件工程过程。它提供了一种...

    便捷开发:RUP的中文模板

    **RUP(Rational Unified Process)中文模板**是软件开发领域中一种广泛应用的流程框架,旨在提供一套结构化的、可定制的开发方法论。RUP由 Rational Software Corporation(现为IBM的一部分)开发,它强调迭代和...

    软件开发过程纵横谈(1):RUP

    在软件工程领域,统一过程(Rational Unified Process,简称RUP)是一种被广泛采用的迭代、基于组件的软件开发过程框架。RUP是由IBM的Rational公司提出的,它为软件开发团队提供了一种结构化的开发方法,强调了软件...

    UML用户指南 && The_Rational_Unified_Process_The:An Introduction

    它是一种迭代和增量的软件开发方法论,强调了最佳实践、风险管理以及跨学科的协同工作。 RUP的关键特点包括: 1. **迭代开发**:项目被划分为多个周期(或迭代),每个周期都包含规划、分析、设计、实现和测试等...

    Rational-RUP-poster-out.pdf.zip

    Rational统一过程(Rational Unified Process,简称RUP)是一种软件开发过程模型,由IBM公司旗下的Rational软件公司创建。RUP是一种灵活可配置的方法论,适用于多种类型的软件开发项目,尤其是大型、复杂系统。RUP的...

    关于RUP统一软件开发过程的分析

    RUP(Rational Unified Process)作为一套先进的软件开发方法论,其核心优势在于能够为软件开发的各个环节提供全面的指导和支持。RUP的开发前景主要体现在以下几个方面: - **明确的愿景**:在软件项目的初期阶段,...

    软件项目开发流程RUP.doc

    RUP(Rational Unified Process,统一软件开发过程)是一种广泛使用的、面向对象的软件开发方法论,由 Rational 公司(现属IBM)提出。它旨在为软件项目的各个层面提供全面的指导,从需求分析、设计、实现到测试和...

    RUP.rar_rational _rup

    **RUP(Rational Unified Process)**是一种广泛认可的软件开发过程模型,由Rational Software Corporation(现IBM的一部分)开发。RUP的核心理念是提供一套结构化的、迭代的和风险驱动的方法论,以帮助软件开发团队...

    RUP最佳实践

    RUP,全称为 Rational Unified Process,是由IBM Rational公司开发的一种软件开发过程框架。它是一种迭代、增量的软件开发方法论,旨在提供一个灵活可配置的过程模型,以适应不同项目的需求。RUP在软件工程领域中...

    rup

    “rup”,全称为 Rational Unified Process(统一软件开发过程),是由IBM Rational公司提出的软件开发方法论。它是一个详细且可裁剪的过程框架,为软件开发团队提供了一套结构化的指导原则、最佳实践以及工作产品。...

    软件过程管理RUP

    【RUP(Rational Unified Process)】是一种广泛使用的软件开发过程框架,它强调灵活性和可定制性。RUP的核心理念是过程也是软件,需要通过需求捕获、分析、设计、实现和测试等步骤来开发和改进。RUP的挑战在于,...

    RUP论文报告

    **RUP(Rational Unified Process)**是一种广泛使用的软件开发过程模型,由Rational公司创建,现隶属于IBM。RUP是一种面向对象的、基于网络的软件工程方法论,旨在为不同层面的软件开发提供指导原则、模板和实例...

Global site tag (gtag.js) - Google Analytics