请哪位大虾给告诉我RUP流程具体的特点

作者&投稿:狂命 (若有异议请与网页底部的电邮联系)
RUP流程的特点拜托各位大神~

RUP是Rational Unified Proces 的缩写,翻译成中文就是“统一软件过程”。 RUP是一个基于6个最佳开发实践的流程定义产品。 6个最佳开发实践 1、迭代始开发 2、需求管理 3、基于组建的体系架构 4、可视化建模 5、持续的质量管理 6、配置管理 RUP如何来实现6个最佳开发实践 1、把软件开发过程看成是多次迭代开发的过程,并且把迭代开发分成4个阶段 (1)Inception phase(开始阶段) 定义出项目目标和范围 (2)Elabration phase(细化阶段) 制定计划、定义项目基线、确定系统的体系架构 (3)construction phase(开发阶段) 主要是编码、单元测试工作,是人工最密集的阶段。 这个时候,虽然允许有小的需求加入进来,但是应该尽量避免大的需求变动。 (4)Transition phase(发布阶段) 将产品提交给用户适用。包括相关的培训等内容 注意:每个阶段有若干次迭代组成。 可以看出RUP虽然是基于迭代式开发,但是在整体的4个阶段划分上还是类时与瀑布式开发的软件过程。 2、定义出一次迭代开发所要遵循的9个disciplines (1) bussiness modeling (2) requirements (3)Analysis & Design (4) Implementaion (5) Test (6) Deployment (7) Project Management (8) Configration & change Management (9)Enviroment 其中前6个称为 core engineering workflows,后3个称为supporting workflows 在每次迭代中,我们都要经历所有的disciplines 其实,RUP的所定义的9个disciplines,跟瀑布式开发是向类时的。(需求-》分析、设计-》开发-》测试-》部署) 四、RUP本质的揭示 1、RUP是风险驱动的、基于Use Case技术的、以架构为中心的、迭代的、可配置的软件开发流程。 2、我们可以针对RUP所规定出的流程,进行客户化定制,定制出适合自己组织的实用的软件流程。 因此RUP是一个流程定义平台,是一个流程框架。 查看原帖>>

六、统一软件开发过程RUP的核心工作流(Core Workflows)

  RUP中有9个核心工作流,分为6个核心过程工作流(Core Process Workflows)和3个核心支持工作流(Core Supporting Workflows)。尽管6个核心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的阶段是完全不同的,这些工作流在整个生命周期中一次又一次被访问。9个核心工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。

1. 商业建模(Business Modeling)

商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。

2. 需求(Requirements)

  需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化;最重要的是理解系统所解决问题的定义和范围。

3. 分析和设计(Analysis & Design)

  分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述组成。设计类被组织成具有良好接口的设计包(Package)和设计子系统(Subsystem),而描述则体现了类的对象如何协同工作实现用例的功能。 设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能提高被创建模型的质量。

4. 实现(Implementation)

  实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组件的形式(源文件、二进制文件、可执行文件)实现类和对象;将开发出的组件作为单元进行测试以及集成由单个开发者(或小组)所产生的结果,使其成为可执行的系统。

5. 测试(Test)

测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成,检验所有的需求已被正确的实现, 识别并确  认缺陷在软件部署之前被提出并处理。RUP提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、功能性和系统性能来进行。

6. 部署(Deployment)

  部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还可能包括计划和进行beta测试版、移植现有的软件和数据以及正式验收。

7. 配置和变更管理(Configuration & Change Management)

  配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化创建工程。同时也阐述了对产品修改原因、时间、人员保持审计记录。

8. 项目管理(Project Management)

  软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。

9. 环境(Environment)

  环境工作流的目的是向软件开发组织提供软件开发环境,包括过程和工具。环境工作流集中于配置项目过程中所需要的活动,同样也支持开发项目规范的活动,提供了逐步的指导手册并介绍了如何在组织中实现过程。

七、RUP的迭代开发模式

  RUP中的每个阶段可以进一步分解为迭代。一个迭代是一个完整的开发循环,产生一个可执行的产品版本,是最终产品的一个子集,它增量式地发展,从一个迭代过程到另一个迭代过程到成为最终的系统。 传统上的项目组织是顺序通过每个工作流,每个工作流只有一次,也就是我们熟悉的瀑布生命周期(见图2)。这样做的结果是到实现末期产品完成并开始测试,在分析、设计和实现阶段所遗留的隐藏问题会大量出现,项目可能要停止并开始一个漫长的错误修正周期。




  一种更灵活,风险更小的方法是多次通过不同的开发工作流,这样可以更好的理解需求,构造一个健壮的体系结构,并最终交付一系列逐步完成的版本。这叫做一个迭代生命周期。在工作流中的每一次顺序的通过称为一次迭代。软件生命周期是迭代的连续,通过它,软件是增量的开发。一次迭代包括了生成一个可执行版本的开发活动,还有使用这个版本所必需的其他辅助成分,如版本描述、用户文档等。因此一个开发迭代在某种意义上是在所有工作流中的一次完整的经过,这些工作流至少包括:需求工作流、分析和设计工作流、实现工作流、测试工作流。其本身就像一个小型的瀑布项目(见图3)。




图3 RUP的迭代模型

  与传统的瀑布模型相比较,迭代过程具有以下优点:

  降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。

  降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。

  加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。

  由于用户的需求并不能在一开始就作出完全的界定,它们通常是在后续阶段中不断细化的。因此,迭代过程这种模式使适应需求的变化会更容易些。

UML能够用来为系统进行面向对象建模,但是并没有指定应用UML的过程,它仅仅是一种语言,它是独立于任何过程的。如果想要成功的应用UML一个好的过程是必要的。合理的过程能够有效的测度工作进度,控制和改善工作效率。目前有很多的过程,其中能够和UML最佳结合的是RUP,该过程是提出UML的人开发的,能够与UML很好的结合,下面进行简要的介绍。
RUP是Rational Unified Process的简称。RUP是最佳软件开发经验的总结,它包括了软件开发中的六大经验。迭代式开发;管理需求;使用基于组件的软件体系结构;可视化建模;验证软件质量;控制软件变更。它是判断是否真正实施RUP的一个重要标准。
迭代式开发。在软件开发的早期阶段就想完全、准确的捕获用户的需求几乎是不可能的。实际上,我们经常遇到的问题是需求在整个软件开发工程中经常会改变。迭代式开发允许在每次迭代过程中需求可能有变化,通过不断细化来加深对问题的理解。迭代式开发不仅可以降低项目的风险,而且每个迭代过程以可以执行版本结束,可以鼓舞开发人员。

管理需求。确定系统的需求是一个连续的过程,开发人员在开发系统之前不可能完全详细的说明一个系统的真正需求。RUP描述了如何提取、组织系统的功能和约束条件并将其文档化,用例和脚本的使用以被证明是捕获功能性需求的有效方法。

基于组件的体系结构。组件使重用成为可能,系统可以由组件组成。基于独立的、可替换的、模块化组件的体系结构有助于管理复杂性,提高重用率。RUP描述了如何设计一个有弹性的、能适应变化的、易于理解的、有助于重用的软件体系结构。

可视化建模。RUP往往和UML联系在一起,对软件系统建立可视化模型帮助人们提供管理软件复杂性的能力。RUP告诉我们如何可视化的对软件系统建模,获取有关体系结构于组件的结构和行为信息。

验证软件质量。在RUP中软件质量评估不再是事后进行或单独小组进行的分离活动,而是内建于过程中的所有活动,这样可以及早发现软件中的缺陷。

控制软件变更。迭代式开发中如果没有严格的控制和协调,整个软件开发过程很快就陷入混乱之中,RUP描述了如何控制、跟踪、监控、修改以确保成功的迭代开发。RUP通过软件开发过程中的制品,隔离来自其他工作空间的变更,以此为每个开发人员建立安全的工作空间。

RUP软件开发生命周期是一个二维的软件开发模型,如下图所示。纵轴代表核心工作流是静态的一面,横轴代表时间显示过程动态的一面,用周期、阶段、迭代、里程碑等名词描述。

RUP的9个核心工作流是:业务建模,理解待开发系统所在的机构及其商业运作,确保所有人员对它有共同的认识,评估待开发系统对结构的影响;需求,定义系统功能
及用户界面,为项目预算及计划提供基础;分析与设计,把需求分析结果转换为分析与设计模型;实现,把设计模型转换为实现结果,并做单元测试,集成为可执行系统;测试,验证所有需求是否已经被正确实现,对软件质量提出改进意见;部署,打包、分发、安装软件,培训用户及销售人员;配置与变更管理,跟踪并维护系统开发过程中产生的所有制品的完整性和一致性;项目管理,为软件开发项目提供计划、人员分配、执行、监控等方面指导,为风险管理提供框架;环境,为软件开发机构提供软件开发环境。

什么是软件过程
软件过程是由一系列的项目的阶段,方法,技术和实践组成,人们利用它们来开发、维护软件和相关的产物(artifacts)

在面向对象的软件过程领域,主要有三种方法,RUP, OOSP和OPEN Process。本文我们只研究RUP和OOSP, 但是高度建议利用OPEN Process的材料来补充RUP和OOSP。一个更详细的比较这三个过程的文章将在不久登载。

你是否需要软件过程
一个有效的软件过程将能够增加一个组织的软件生产力,因为:

通过理解软件是怎样被开发的,你能够做出关于开发工具选择和雇用员工等方面的更聪明的决定
它使你的成就(包括文档,代码等)标准化,从而提升项目组间的软件的可重用性和一致性
它向你的组织提供了一个引进目前最好的软件惯例的一个绝佳机会,如代码审查,配置管理,change control, 结构化建模等
提高软件维护和技术支持能力。首先,它定义了怎样管理软件变更,并且适当的考虑了你将来发行的软件可能带来的维护任务,从而使你的变更管理流线化(streamining)。第二,它定义了怎样平滑的将软件转换成operations and support, the operations and support efforts 怎样实际操作。没有有效的operations and support processes, 你的软件将在很短的时间内变得无法使用。
管理软件复杂性。软件正变得越来越复杂,没有一个有效的方法来开发和维护软件,则你所有的努力都会付之东流。
管理软件项目。大部分组织都有几个项目在同时开发,维护的项目则更多,所有的这些项目都需要被有效的管理。
Manage ecommerce projects. 我们正在构建的软件的本质也在发生变化,从70年代的简单的批处理系统到结构化技术,到现在朝着的可交互,国际化,用户友好,7*24,高密度交易,高可用性发展,最重要的是,这些项目中的绝大部分都是面向对象的,基于组件技术的。

RUP
RUP是rational公司努力的成果之一,完成RUP的人们也开发了工业界标准的建模方法UML,RUP的核心是Objectory Process, 这是rational公司几年前合并Ivar Jacobson的Objectory organization时获得的几个产品中的一个。Rational公司用他们自己的过程增强了Objectory,也包括了一些其他的 rational公司购满的产品,最终形成了初期的版本RUP 5。0, rational公司在1998年12月发布。

图1说明了RUP的生命期,由四个顺序的阶段和9个核心的工作流组成。沿着图1的底部可以看出,任何一个RUP的开发周期都被组织成可以迭代的(新的工作可以在原有工作的基础上继续进行)。这样通过增强与客户间的交流,减少了项目的风险(与客户交流,在已经有的设计的基础上修改设计,依此类推,直到满意为止)。初始阶段的目标是为系统建立商业案例和确定项目的边界。细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划,淘汰项目中最高风险的元素。在构建阶段所有剩余的构件和应用程序功能被开发并集成为产品,所有的功能被详尽的测试。交付阶段的目的是将软件产品交付给用户群体。

Figure 1: The lifecycle of the Rational Unified Process (RUP).

RUP的优点
1. RUP是建立在非常优秀的软件工程原则基础上的,例如迭代,需求驱动,基于结构化的过程开发。
2. RUP提供了几个方法,例如每一次迭代产生一个工作原型,在每一个阶段的结束决定项目是否继续,这些方法提供了对开发过程的非常直观的管理。
3. rational公司已经并将继续对RUP进行开发,使这个基于html的软件工程能够被裁减以适合你的组织的实际需要。

RUP的缺点
1. RUP仅仅包含了开发过程。它没有完全覆盖软件过程,从图1能够明显看出,它丢失了维护和技术支持这两个重要的阶段。
2. RUP不支持组织内的多项目开发,导致组织内的大范围的重用无法实现。
3. RUP缺少开发商的支持。你能自动完成软件过程的每一个方面?rational提供了所有的工具供你选择,例如是否有rational help desk或者rational persistence modeling
4. RUP在度量管理,重用管理,人员管理和测试上有缺陷。

OOSP
(注:因为这一部分是基于作者所写的书,所以只作概要介绍)

Figure 2. The lifecycle of the Object-Oriented Software Process (OOSP).

图2描述了OOSP的生命期(在Process Patterns and More Process Patterns中有详细描写),由过程模式的集合组成。一个过程模式是一些通用技术、动作和(或者)任务的集合组成,它能够解决某一方面的软件过程问题。就象设计模式提供了一些通用的软件设计问题的解决方案,过程模式解决一些通用的软件过程问题。一个重要的特征是过程模式描述了你应该做什么,而不是怎样做?因为没有规定怎样做,所以能够很容易的将它进行裁剪,以适合你自己的需要。

从图2可以看出,OOSP包括4个项目阶段-Initiate, Construct, Deliver, Maintain and Support。每一个阶段都有相应的模式描述。这些模式可以帮助你完成RUP。

总结

RUP是一个很好的开始点,但是还远远没有完成。然而,你能够裁剪RUP以适合你的组织的需要。已经有一些裁剪RUP的成功的案例,包括internet公司和保险公司。

RUP有很多分工,有负责需求的,有负责设计的,还有负责编码的。rup要求每次迭代过程中都要从需求,设计,编码,测试,部署全来一遍,然后再进入下一个迭代。 RUP是个过程的框架, 剪裁是针对过程而言, 而不是针对项目的需求而言。你把次要的actor, workflow剪掉了, 不是剪裁了rup.

RUP中规定了项目的disciplines. 在具体的项目中, 您可以略去一些disciplines. RUP还规定了项目每个阶段的输出Artifact, 您可以根据项目的复杂度以及公司的传统来制定适合自己的artifacts.




一首英文歌,下面是链接,添加到QQ音乐就能听,哪位大虾谁能告诉我是什么...
Arsenium Feat. Natalia Gordienko & Connect-R - Loca

有哪位大虾能告诉偶一些欧美R&B曲风的网站!
kupig.com

各位大虾给介绍几个R&B经典歌手
alicia keys(USA)beyonce(USA)criag david(ENG)jay(CHI)SE7EN(KOR)rain(kor)IVY(kor)

r=a(1-sinα) 怎么解啊、 哪位大虾能告诉告诉、
水平方向: r=a(1-cosθ)或r=a(1 cosθ) (a>0) 或垂直方向: r=a(1-sinθ)或r=a(1 sinθ) (a>0) 平面直角坐标系表达式分别为x^2 y^2 a*x=a*sqrt(x^2 y^2)和x^2 y^2-a*x=a*sqrt(x^2 y^2)例如:当θ=0°时,r=a(1-0)=a  …… A点 当θ...

...应该是一首韩国歌曲 就是不知道什么歌曲 哪位大虾
谁能告诉我这个视频里的歌曲是什么是跑跑卡丁车的视频应该是一首韩国歌曲就是不知道什么歌曲哪位大虾给个答案呢?http:\/\/www.tudou.com\/programs\/view\/9uAZcTd9xK0\/... 谁能告诉我这个视频里的歌曲是什么 是跑跑卡丁车的视频 应该是一首韩国歌曲 就是不知道什么歌曲 哪位大虾给个答案呢?http:\/\/www.tudou....

...开头好像唱的是 Hi girl 哪位大虾知道 告诉小弟一声
ao nu en dao mu sen yir sen gin gen ji yi gir ao zao ji dao zeo gir ao dao ji gao min gao min ha ji ma girl gr sa lam dao zao a har ga ma em zao li mun zu mo ni sao za gen dun zen ha na gao nei sao ab mun ni na ao ji diu mun ni na ao ji gao ...

有哪位大虾帮我把“童小熊专属”这个名字变得好看一点~谢谢啦~如果...
(_僮尒熋抟属﹎ ぷ僮尒熋抟属ぶ ┆僮尒熋抟属┆ ⊙∫⊙僮尒熋抟属 (?_?)じ★ve僮尒熋抟属♀ ←僮尒熋抟属√ ぺ僮尒熋抟属〓 →僮尒熋抟属← じ僮尒熋抟属‰ —━僮尒熋抟属づ ┣█僮尒熋抟属⌒ ╰僮尒熋抟属灬 (_僮尒熋抟属?oぃ僮尒熋抟属ヤ oО僮尒熋抟属→y ?僮...

哪位大虾给小弟一个PCMARK05的注册码,谢谢
PCM05-9KSX-7DMM-RR7U-RHRH-PP5M PCM05-14TA-R68W-MBX9-DX5A-F8MQ

哪位大虾能告诉我怎样区分各种曲风?
R&B Rythm and Blues 就是 节奏蓝调,和蓝调Blues同起源于美国黑人街区, 蓝调最初是多数黑人们由于生活的艰辛,发自内心的对生活无奈的感叹,也就造就了蓝调歌曲的忧伤基调, 在之后 随着七、八十年代的摇滚、流行曲风的盛行,以及人们生活水平的提高, 在蓝调的基础上,黑人创造了 R&B节奏蓝调,顾...

折磨死我诺,灰心了,哪位大虾给我《炒股就这几招》的txt的电子文档...
简单程序:include int main(int argc, char *argv[]) { pragma omp parallel num_threads(8)printf("Hello, World!, ThreadId=%d\\n", omp_get_num_threads());return 0;} 问题:>--- 已启动生成: 项目: hello1, 配置: Debug Win32 --- 1>Compiling with Intel(R) C++ Compiler 11...

新兴区13351368608: RUP流程的特点拜托各位大神 -
卓泉法莫: RUP是Rational Unified Proces 的缩写,翻译成中文就是“统一软件过程”. RUP是一个基于6个最佳开发实践的流程定义产品. 6个最佳开发实践 1、迭代始开发 2、需求管理 3、基于组建的体系架构 4、可视化建模 5、持续的质量管理 6、配...

新兴区13351368608: 请哪位大虾给告诉我RUP流程具体的特点 -
卓泉法莫: UML能够用来为系统进行面向对象建模,但是并没有指定应用UML的过程,它仅仅是一种语言,它是独立于任何过程的.如果想要成功的应用UML一个好的过程是必要的.合理的过程能够有效的测度工作进度,控制和改善工作效率.目前有很多...

新兴区13351368608: 那位大虾能够教我如何破解安卓的root权限?我要详细的步骤!
卓泉法莫: 看你是什么手机了,一般的情况下只需要一个一键ROOT软件就可以做到,而有些运营商的定制机会有加密保护,可以通过刷一个民间的ROM来解决,很多ROM直接ROOT了

新兴区13351368608: 给您30分!!哪位大虾能够告诉我出口单据的流程??就是单据员先从那个单子做起,一直到单据的结尾工作
卓泉法莫: 楼主是贸易公司单据员还是货代等代理公司的单据员呢? 要先指定个环境啊.我简单说下贸易公司的出口单据流程(走货代). 1.制备基本文件.根据PO及工厂提供的装箱资料,制作出口合同,出口商业发票,装箱单,报关单,报关委托书等文件....

新兴区13351368608: 请哪位大虾把ghost 系统的安装步骤给说一下 要详细点的
卓泉法莫: 很简单 一搬有快速分区的 用下那个就是下分区 如果你会DM 还有PQ的话那就手动分喽 然后回来了按1就等个20分钟系统就全好了

新兴区13351368608: 是不是更换了汽车发动机电脑(ECU)就一定要编程了?哪位大虾能给我说下具体的编程步骤啊?(以大众车系为例) -
卓泉法莫: 更换(新)发动机控制单元自适应:1-01-10-50(对新发动机控制单元拷贝本车底盘号)—***(输入本车防盗密码)一关闭点火开关,60s内再打开点火开关,2min内不得启动发动机.

新兴区13351368608: 哪位大虾告诉我这是怎么回事啊? -
卓泉法莫: 可能是你占用了路由器的地址(192.168.1.1)我建议你可以这样操作:先把...

新兴区13351368608: 葳朗fx520怎么root?哪位大虾能不能发个root包及教程给我. 谢谢各位大虾的帮忙 -
卓泉法莫: 1,手机端ROOT,可以使用Z4ROOT,KINGROOT,或者使用手机端的刷机工具(卓大师,一键获取ROOT,)破解率很低,但是V880自带系统可以ROOT,A60是使...

新兴区13351368608: 凉面怎么做,具体需要什么调料,需要特殊的调料么,具体流程是什么?哪位大虾知道的能否告诉一下,谢了! -
卓泉法莫: 汉族面食.将面条煮熟,用凉水冲洗控干,拌以酱油、醋、、辣椒面等调料.清爽可口,多在夏季食用.朝鲜族饮食.用荞麦面、小麦面、淀粉等掺和制成面条,开水煮熟后捞出,用凉水冲洗,控干备用.用精牛肉或鸡肉熬汤,待汤冷却后除油...

新兴区13351368608: 哪位大虾能告诉我详细B2倒桩的流程,谢.....
卓泉法莫: 先右方倒车倒进左库,在库内两前两退移到右库,再由右库向左库的口前进出去到左方,然后右左方倒进右库,全程不压线不过线不碰杆就完成了 是由左方倒进右库,不是右左方,打错了

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网