什么是RUP它有什么特点 统一过程RUP软件开发的优缺点是什么

作者&投稿:尚茅 (若有异议请与网页底部的电邮联系)
RUP(Rational Unified Process)是Rational公司(早在2002年就被IBM收购了)的过程产品。上面这段话显然不能作为RUP的定义,因为没有涉及RUP的内涵。
RUP是一种软件工程过程。那么软件工程过程又是什么呢?通俗的讲,我们有一群人,接了一个软件开发的活,这一群之间的职责如何分配?工作顺序如何安排?每一个具体的任务具体怎么个做法?不同人员如何协作?除了最终交付给用户的软件和文档是否需要一些中间制品?这些制品是否有一个统一的模板?这些问题如果不在我们正式干活之前就找到答案,那么项目开发就会出现很大的随意性——不同项目都有自己的一套做法,互不相同,也互无借鉴。有的人做项目做得多些,自己可能总结出了一些套路(个人或小团队的“最佳实践”),成了自学成才的专家,但是这些套路没有成文,不同“专家”之间不能互相学习、互补。软件过程其实就是一套成文的,做软件项目的“套路”。一般稍微大一些的软件企业,都有自己的软件过程。
软件工程过程不止RUP一种,那么RUP的特色是什么?RUP的特色体现在他对下面6个最佳实践的支持:
1. 迭代式开发——较之瀑布式开发,迭代开发更能规避风险,更好的获取用户需求。
2. 管理需求——需求是动态变化的,对需求的管理应贯穿软件生命周期的所有环节。需求管理包括三个活动:获取、组织并记录需求;评估需求变化及其影响;跟踪、记录需求的变更相关的决策与权衡的理由。
3. 应用基于构件的构架——软件系统很复杂,不同干系人(stakeholder,例如:用户、分析师、开发人员、集成人员、测试人员、项目经理等)对软件有不同的视角。建立并维护软件构件有利于管理不同的视角,从而在整个迭代周期内控制迭代的过程。 而基于构件的构架则由于其柔性的结构、对复用的支持被Rational认为是最佳的实践。
4. 可视化的建模——复杂的软件通过UML这样的建模语言进行抽象和可视化不但能够简化沟通,而且也能简化开发人员对系统的理解。
5. 持续不断的验证软件质量——缺陷越早被发现被解决就越节约成本,因此应该在整个软件生命周期内不断验证质量。
6. 控制软件变更——多人、分布式的开发,如果不能控制版本和变更,开发必然陷入混乱,变更的控制是项目有序进行的必要条件。
RUP是可以剪裁的,他包含针对不同项目特征进行剪裁的指南。同时RUP也是不断演化的,Rational不断在发布RUP的新版本。

什么是RUP?它有哪些特点~

RUP(Rational Unified Process),统一软件开发过程,统一软件过程是一个面向对象且基于网络的程序开发方法论。
软件统一过程(RUP)是Rational软件公司(Rational公司被IBM并购)创造的软件工程方法。RUP描述了如何有效地利用商业的可靠的方法开发和部署软件,是一种重量级过程(也被称作厚方法学),因此特别适用于大型软件团队开发大型项目。

三大特点
迭代模型
RUP强调软件开发是一个迭代模型(Iterative Model),它定义了四个阶段(Phase):初始(Inception)、细化(Elaboration)、构造(Construction)、交付(Transition)。
其中每个阶段都有可能经历以上所提到的从商务需求分析开始的各个步骤,只是每个步骤的高峰期会发生在相应的阶段,例如开发实现的高峰期是发生在构造阶段。
实际上这样的一个开发方法论是一个二维模型,这种迭代模型的实现在很大程度上提供了及早发现隐患和错误的机会,因此被现代大型信息技术项目所采用。
用例驱动
RUP的另一大特征是用例驱动。用例是RUP方法论中一个非常重要的概念。简单地说,一个用例就是系统的一个功能。在系统分析和系统设计中,用例被用来将一个复杂的庞大系统分割、定义成一个个小的单元,这个小的单元就是用例。
然后以每个小的单元为对象进行开发。按照RUP过程模型的描述,用例贯穿整个软件开发的生命周期。在需求分析中,客户或用户对用例进行描述,在系统分布和系统设计过程中,设计师对用例进行分析,在开发实现过程中,开发编程人员对用例进行实现,在测试过程中,测试人员对用例进行检验。

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

RUP 具有很多长处:提高了团队生产力,在迭代的开发过程、需求管理、基于组件的体系结构、可视化软件建模、验证软件质量及控制软件变更等方面,针对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。它建立了简洁和清晰的过程结构,为开发过程提供较大的通用性。但同时它也存在一些不足: RUP只是一个开发过程,并没有涵盖软件过程的全部 内容,例如它缺少关于软件运行和支持等方面的内容;此外,它没有支持多项目的开发结构,这在一定程度上降低了在开发组织内大范围实现重用的可能性。可以说 RUP是一个非常好的开端,但并不完美,在实际的 应用中可以根据需要对其进行改进并可以用OPEN和OOSP等其他软件过程的相关内容对RUP进行补充和完善。

说唱是rap还是rup?
答:说唱是指rap。rap是一个黑人俚语中的词语,相当于“谈话”(talking),中文意思为说唱,是指有节奏地说话的特殊唱歌形式,发源于纽约贫困黑人聚居区。它以在机械的节奏声的背景下,快速地诉说一连串押韵的诗句为特征。

rupb是什么
答:1,5-二磷酸核酮糖(缩写:RuBP)是在光合作用中的卡尔文循环里起重要作用的一种五碳糖。植物体内的酶用1,5-二磷酸核酮糖作为底物来固定二氧化碳,生成六碳磷酸盐,这种高度不稳定的中间产物最终分解为两分子的甘油3磷酸。

目前我国物业管理信息系统的开发方法是什么??
答:由于RUP 的特征和 EJB 技术的采用,我们在开发过程中很好地克服了需求变更和更改设计方面的难题,在开发的后期没有出现什么重大的错误设计和返工。 4 房屋租赁管理子系统的开发实例 限于篇幅,我们以房屋租赁管理子系统在第一次生命周期中...

说唱是rap还是rup?
答:说唱是rap。是一个黑人俚语中的词语,相当于 “谈话”(talking),产自纽约贫困黑人聚居区。它在机械的节奏声的背景下,快速地诉说一连串押韵的诗句为特征。这种形式来源之一是过去电台节目主持人在介绍唱片时所用的一种快速的...

开发过程中据说的迭代是什么意思
答:迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。重复执行一系列运算步骤,从前面的量依次求出后面的量的过程。此过程...

rup包含了哪些核心工作流和哪些核心支持工作流
答:RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。1、商业建模(Business Modeling)商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个...

用例与业务用例的区别是什么
答:以上大致描述的什么是用例,用例有什么特点。实践中总是有人分不清用例和业务用例。业务用例是用例思想的延续,只是改变了使用场合。用例是从使用者的角度定义“软件系统”需求。而业务用例不研究“软件系统”需求,它更关心一...

...用例驱动与风险驱动相结合的迭代增量开放过程RUP?
答:用例驱动的意思是,建造软件的源动力;架构为中心的,意思是所有东西都可以这个架构上表示出来;迭代增量开发,表示RUP是一个重复过程,不断精华的过程,换句话就是演化模型。测试是基于需求设计的各种文档来建立测试的相关内容...

简述RUP设计模型以及包含的元素。
答:简述RUP设计模型以及包含的元素。查看答案解析 【正确答案】 RUP设计的主要结果是系统的设计模型,它尽量保持该系统具有分析模型的结构,并作为系统实现的输入。设计模型包括以下元素:(1)设计子系统和服务子系统,以及它们的...

软件需求的分析方法
答:软件需求分析方法大体分为如下四类:结构化方法、面向对象方法、面向控制方法和面向数据方法。限于篇幅,将主要从结构化方法和面向对象方法以及RUP三个方面进行简要的探讨。 面向对象(Object Oriented, OO)的方法把分析建立在...