谁知道rup的基本元素及概念
来源:
时间:2024-08-17 12:06:11
热度:
谁知道rup的基本元素及概念【专家解说】:UML能够用来为系统进行面向对象建模,但是并没有指定应用UML的过程,它仅仅是一种语言,它是独立于任何过程的。如果想要成功的应用UML一个
【专家解说】: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公司和保险公司。
-
放射性元素在能源、农业、医疗、考古方面的应用(高中化学必修2 P12第8题)2024-08-17
-
放射性元素在能源、农业、医疗、考古方面的应用(高中化学必修2P12第8题)2024-08-17
-
我买的美的净水器过滤的水有没有微量元素?微量元素达标吗2024-08-17
-
我买的美的净水器过滤的水有没有微量元素?微量元素达标吗2024-08-17
-
焦炭,生石灰,石灰石,纯碱,烧碱是什么?化学元素符号是什么?2024-08-17
-
暗黑2 德鲁依` 我想练个变形和召唤 元素不学。应该怎么加属性点和技能点2024-08-17
-
液化石油气中一定含有什么元素2024-08-17
-
什么元素和焦炭在高温下发生反应可制成半导体材料?2024-08-17
-
龙之谷主火元素为什么不好2024-08-17
-
(化学--选修化学与技术)海水中溶解了大量的气体物质和各种盐类.人类在陆地上发现的100多种元素,在海2024-08-17
-
海水中溶解了大量的气体物质和各种盐类.人类在陆地上发现的100多种元素,在海水中可以找到80多种.海洋2024-08-17
-
在高温条件下焦炭可以把氧化铁的铁元素还原为单质铁,请算要使80吨氧化铁完全还原,需要碳的质量至少为多少2024-08-17
-
液化石油气的主要成分是丙烷(C3H8).下面说法不正确的是A.每个丙烷分子中含有11个原子B.丙烷由3个碳原子、8个氢原子构成C.丙烷中碳、2024-08-17
-
【查阅资料】(1)液化石油气是一种主要含有C、H两种元素的混合物,完全燃烧生成CO2和H2O,不完全燃烧时2024-08-17
-
用化学方法证明煤气,液化石油气,沼气中都含有碳元素?2024-08-17