一、UP与RUP
UP(Unified Process,统一过程)是一种通用过程框架,可以广泛用于各种软件系统,包括不同应用领域、组织架构的系统,也不分系统的性能水平,项目规模。UP基于构件,使用UML建模。所谓的统一,是因为UP:
1)提供在开发组织中分派任务和责任的纪律化方法,确保进度和成本的前提下,高质量地满足用户需求,方法统一;
2)对所有的关键开发活动,为所有团队成员提供了使用准则、模板和工具指导,知识统一;
3)在项目建设过程中,确保全体成员对相同基础知识有一致的理解,共享相同的知识、过程和开发软件的视图,思想和见解统一。
RUP(Rational Unified Process)是Rational公司开发和维护的过程产品。它完全兼容UP,但比UP更加完整、详细。或者说,Rational实现了让UP落地。请注意,Rational公司也是UML的创造者。基本上,可以将UP与RUP等同。以下统称为RUP。
二、RUP的三个特点
RUP具有三个显著的特点:
1)用例驱动
2)以架构为中心
3)迭代和增量
1、用例驱动
用例是RUP方法论中一个非常重要的概念。简单地说,一个用例就是系统的一个功能。在系统分析和系统设计中,用例被用来将一个复杂的庞大系统分割、定义成一个个小的单元,这个小的单元就是用例。然后以每个小的单元为对象进行开发。按照RUP过程模型的描述,用例贯穿整个软件开发的生命周期。在需求分析中,客户或用户对用例进行描述;系统分布和系统设计过程中,设计师对用例进行分析;开发实现过程中,开发编程人员对用例进行实现;测试过程中,测试人员对用例进行检验。
2、以架构为中心
构架设计是系统设计的一个重要组成部分。在构架设计过程中,设计师必须完成对技术和运行平台的选取、整个项目的基础框架的设计、对公共组件的设计,如审计系统、日志系统、错误处理系统、安全系统等。设计师必须对系统的可扩展性( Extensibility)、安全性(Security)、可维护性( Maintainability)、伸缩性(Scalability)、可重用性(Reusability)和运行速度(Performance)提出可行的解决方案。
所以说,要开发出用户满意的软件并不是件容易的事,软件架构师必须全面把握各种需求、仔细权衡,分门别类地将不同需求一一满足。1995年,Philippe Kruchten在《IEEE Software》上发表了题为《The 4+1 View Model of Architecture》的论文,引起了业界的极大关注,并最终被RUP采纳。Philippe Kruchten提出的4+1视图方法为软件架构师“征服需求”提供了良好基础,如图所示。
三、RUP的四个阶段
1、技术评审
RUP中的软件过程在时间上被分解为初始、细化、构建和移交4个阶段。每个阶段结束时都要安排一次技术评审,以确定这个阶段的目标是否已经满足。如果评审结果令人满意,就可以允许项目进入下一阶段。正因为RUP可以及早发现各种错误和遗漏,所以才受到许多大公司的追捧。
初始、细化、构建和移交4个阶段是一个迭代。每个阶段侧重点不一样,比如初始阶段,任务是确定项目边界,评估项目风险,制订项目计划,但在其他阶段,随着项目的推进,认识的加深和变化,可能又要回过头来重新评估一下风险,或修订计划。即每个阶段的工作内容在一个迭代周期里都有可能会反复进行,大的迭代里又有小的迭代。
四、RUP的优缺点
1、优点
1)RUP将项目管理、业务建模、分析与设计等统一起来,贯穿整个开发过程;
2)为团队成员提供了使用准则、模板和工具指导,形成最佳实现方案,并基于共同的基础知识,使所有团队成员思想统一,沟通更易,这是项目成功的关键因素;
3)增强开发人员的预见性,提高了软件质量,并缩短了开发时长
4)RUP可用于开发所有类型的软件系统,应用广泛
2、缺点
过于庞大和复杂,不能快速适应需求变化,每各需求变更都要经历复杂的过程和许多额外的工作。对于较小的公司和项目,敏捷方法可能更合适。
运用RUP 4+1视图方法进行软件架构设计
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!