Rational Unified Process(RUP) 框架提供了关于一组丰富的软件工程原则的指导信息。它适用于不同规模和不同复杂度的项目,也可适用于不同的开发环境和领域。 这意味着不会有单个的项目或组织可通过使用所有
RUP 而得到好处。应用所有 RUP 可能会导致项目环境效率低下,在这样的环境中,团队将花费大量精力去执行重要任务和查找正确的信息集。因此,我们建议对 RUP 进行定制,以提供关于如何开发软件的适当和定制的指南。本指导信息提供了
RUP 定制概念的高级别概要。
流程定制可发生在以下两种级别上:
-
在组织级别,流程工程师修改、改善或配置将在组织范围内使用的公共流程。组织级别定制将考虑到某些问题,例如:应用领域、复用实践和公司掌握的核心技术。一个组织可以有多个组织范围内的流程,每个流程适合不同类型的开发。在某些情况下,预定义的经典
RUP 配置充当组织范围内的流程。
-
在项目级别,流程工程师修改、改善或配置由特定项目使用的公共流程。在存在组织范围的流程时,项目级别定制就是针对给定的项目,对组织范围流程进行进一步优化。
项目级别的定制级别需要考虑项目的规模、公司资产的复用、开发生命周期的类型(“原始开发”与演进)等等。
无论在组织中定制流程的级别是什么,定制 RUP 总体方法是相同的(尽管关注点不同)。定制流程的总体方法如下:
-
确定定制工作的范围。确定要添加到 RUP 或要在 RUP 内优化的方法内容。确定可包括在内的现有方法资产。
例如,特定于组织/项目的指南、模板、示例等。选择您想定制的流程、角色、任务、工作产品、指导信息等。关于定义定制工作范围的更多信息,请参阅指南:RUP
定制。
-
选择要执行的定制级别。有不同级别可定制 RUP,每个级别有关联的“成本”和“好处”。关于不同定制级别的信息,请参阅定制级别一节。
-
定制流程。 使用选定的定制级别定制 RUP 的指定部分。
无论选择的是何种定制级别,定制 RUP 通常包括 3 个关键步骤(虽然根据定制级别有些步骤是可选的):
-
-
开发方法元素。这包括开发新内容和/或优化现有内容
-
配置方法内容。这包括决定包括及排除的内容,并提供查看该内容的相应视图(例如,基于角色或特定域的视图)。配置方法内容是为满足特定组织或单个项目的需求而适当调整流程的过程。
-
为配置开发流程。这包括选择开发生命周期的类型(例如,瀑布式或迭代式)和定义经过微调而符合组织或项目的准确要求的流程。
所产生的流程将作为项目规划的直接输入。
-
提供流程。这包括发布配置(及其流程)作为流程 Web 站点,和/或将流程导出至项目规划工具。
流程定制范围和程度取决于一系列因素。这些因素在指南:流程判别式中作了描述。您自己从内容方面和定制支持方面对 RUP 进行了解,这也是很好的办法。 关于更多信息,请参阅 RUP 简介。
定制流程只是为项目实现流程的一部分。一旦定制好流程,项目经理就针对给定的项目实例化并执行流程。 “实例化”的流程是一个可指定的项目/迭代/活动计划(它包括针对实际项目的实际活动及工作产品)。 这种实例化时作为项目计划的一部分来执行。
关于项目规划的更多信息,请参阅任务:计划阶段及迭代和任务:制定迭代计划。
本指导信息的剩余部分描述了 RUP 提供的不同定制级别,其后是对常见定制场景的描述,这些场景反映了不同的定制级别。
关于定制 RUP 的更多信息,请参阅以下内容:
以下是 RUP 当前提供的定制级别,从最简单到最复杂排列,每个级别都包含前一个级别:
级别 1
|
将定制的流程记录在外部文档中,该文档引用一个底层的流程及任意的定制方法资产。
如果出于某些原因(例如,出于审计目的,对其进行了严密的控制),无法修改您想定制的流程,或者您对 Rational Method Composer 不具有访问权,那么这个级别是很有用的。此定制级别仅影响 Web
站点而非其底层内容的表示。
|
级别 2
|
使用 My RUP 及外部文档对现有流程 Web 站点进行个性化。
这个级别将供个人使用,用于定制流程 Web 站点的个人副本,通常我们建议不要使用这个方法为整个项目或组织定制流程。不过,个性化可能在一些情况下是一个很好的折衷办法,即您想对 Web
站点的显示做一些小幅优化,而您对 Rational Method Composer 又不具有访问权的情况下。此定制级别仅影响 Web 站点而非其底层内容的表示。
|
级别 3
|
使用 Rational Method Composer 从现有方法内容配置流程 Web 站点。
这个级别有时称为方法配置开发。
|
级别 4
|
使用 Rational Method Composer,将指导信息添加至现有方法框架。
这个级别有时称为“精简”方法插件开发。精简插件仅添加指导信息(例如,概念、指南、模板、示例、工具向导)。
精简插件是一种机制,组织可使用该机制将它们的组织资产(例如单个项目中使用的工作产品模板、指南、示例和其他可重用资产)封装起来。
创建精简插件只需很少的花费,而且可广泛应用于任何规模的组织并通常证明是在单个项目的预算范围内。 另外,创建精简插件不影响包括在配置中的流程(能力模式和交付流程),因为不会添加/优化任何角色、任务或工作产品。
|
级别 5
|
使用 Rational Method Composer 开发新的交付流程(理论上基于可用的能力模式)。
这个级别有时称为交付流程开发。
|
级别 6
|
使用 Rational Method Composer 扩展现有方法框架,使其具有新的方法内容(例如,任务、工作产品、角色)。
这个级别有时称为“结构”插件开发。结构插件是通过添加/优化角色、任务和/或工作产品来扩展 RUP 的插件。
创建结构插件比创建精细插件更消耗资源,因为当您添加角色、任务和/或工作产品时,你可能需要添加其他方法内容元素,并需要创建/优化流程(能力模式和交付流程),以包含新的方法内容元素。例如,如果想添加新的工作产品,那么您可能需要添加负责该工作产品的新角色,并需要添加生成新工作产品的任务。然后,您将需要把新任务添加到现有流程中(或可能创建一个新流程)。
结构插件通常在流程成熟的组织中开发,这些组织包括主要致力于利用项目之间流程协同作用的组织,尤其是在同一领域中使用相同技术或在相似开发环境中开发若干个项目的那些组织。单个项目通常不承担创建用于 RUP
的结构插件的任务,除非项目足够大,大到足以证明插件开发的费用在项目预算的范围内。结构插件与任何可重用资产都相似,这就意味着除非超越了项目的范围,发现有可重用的潜力,否则不要花力气使其可重用。
总之,在可复用插件中创建新角色、任务等对象是相当重要的,通常最好在一开始对此类定制不要做大的改动,着重于添加指导信息(级别 4)以及仅添加交付流程(级别 5)中的“缺少”元素,而不是尝试对 RUP
任务、角色及工作产品进行重构、替换或重命名。不过,添加独立于交付流程或一些新能力模式的新任务或活动风险很低。
|
建议使用 Rational Method Composer(RMC)来定制 RUP。通过使用 RMC,生成的流程 Web 站点的功能和外观与标准的 RUP Web
站点完全相同。 另外,如果使用 RMC,就可以通过从 RMC 导出交付流程然后将其导入项目管理工具(例如,Rational Portfolio
Manager)使交付流程实例化;在项目管理工具中,可进行确定实际工作产品,将实际资源分配给角色等操作。关于导出交付流程的更多信息,请参阅工具向导:使用 Rational Method Composer 将流程导出至计划工具。
在启动插件项目之前,还建议花一些时间看一下现有的插件以避免“重复劳动”。developerWorks:IBM 提倡的 RUP 插件包含了可以下载并包括在
RUP 配置中的可用插件的完整列表。
本节描述了一组定制 RUP 的常见场景。每个场景描绘了如何使用不同的定制级别执行关键定制步骤。
场景如下:
下面讨论了每一个场景。
当使用外部文档定制 RUP 时,需如下执行关键定制步骤:
-
使用任何支持内容开发的工具开发方法元素(例如模板、指南和示例)。
-
配置方法内容。
-
通过制定一个文档(或一系列文档)为配置开发流程,此类文档描述了将包括在定制流程中的 RUP 内容, 先前步骤中开发的方法元素的调整方式,以及它在整个流程生命周期的位置。文档可以是文字处理程序文档、电子表格、Web
站点等。根据需要制定足够多的文档以便为流程的不同方面提供足够的视图。
-
要使流程可用,只要使外部文档及引用的内容对最终用户可用即可。 对于此场景,没有其他要发布的内容,也没有可以导出的内容。
例如,您可以创建一系列描述实例化流程的 HTML 页面。这些 Web 页面可通过组织/项目的 Web 站点向用户提供,这些页面可用于提供底层 RUP Web 站点的初始点入口点(即,HTML 页面链接至 RUP Web
站点显示详细信息)。
使用 My RUP 定制 RUP 时,需如下执行关键定制步骤:
-
使用任何支持开发内容的工具开发方法元素(例如,文字处理程序、电子表格、HTML 页面等).
-
通过将已开发的方法元素添加到 RUP Web 站点流程视图、创建新流程视图和/或取消现有流程视图来配置方法内容。
-
通过制定描述何为整个流程生命周期的文档(必要时引用个性化的 Web 站点)来为配置开发流程。
-
要使流程可用,只要使个性化 Web 站点及所引用的内容对最终用户可用即可。对于此场景,没有其他要发布的内容,因为定制是在已发布 Web 站点上执行的,也没有可以导出的内容。
注:此场景与使用外部文档定制 RUP 场景非常相似,除了对于此场景,外部文档是发布的 Web 站点的一部分。
关于如何使用 My RUP 对 RUP Web 站点进行个性化的更多信息,请参阅工具向导:使用个人流程视图或 My RUP 个性化 RUP Web 站点。
使用 Rational Method Composer(RMC)配置现有方法内容时,需如下执行定制步骤:
-
因为您要配置的是现有内容,所以不需要执行方法元素开发。
-
要配置方法内容,请创建方法配置(其中包含来自 RUP
框架及任何已包括的方法插件的相关内容包,并排除不相关的内容包),并将视图定义到配置中以便支持不同的项目干系人的视角。理想情况下,可以使用 RMC 中一个预定义的配置作为配置的起点。关于使用 RMC 创建配置的更多信息,请参阅工具向导:使用 Rational Method Composer 创建方法配置。
-
因为您要配置的是现有内容,所以不需要开发流程(可使用一个预定义的交付流程)。
-
要使流程可用,请发布配置以创建流程 Web 站点和/或将交付流程导出至项目规划工具。有关更多信息,请参阅工具向导:使用 Rational Method Composer 发布方法配置和工具向导:使用 Rational Method Composer 将流程导出至规划工具。
使用 Rational Method Composer(RMC)将指导信息添加到现有方法元素时,需如下执行关键定制步骤:
-
创建方法插件以包含指导信息。方法插件中不仅包含指导信息,还将包含指导信息与其支持的方法元素之间的关联。仅包含指导信息的插件称为“精简”插件。关于使用插件的更多信息,请参阅工具向导:使用 Rational Method Composer 创建方法插件及工具向导:使用 Rational Method Composer 开发方法内容。
-
创建包含上一步中所创建的方法插件的方法配置。理想情况下,可使用一个包含必需方法元素的预定义 RMC 配置作为起点。根据需要,优化配置视图以包括新的指导信息。关于使用配置的更多信息,请参阅工具向导:使用 Rational Method Composer 创建方法配置。
-
因为您只是将指导信息添加至现有方法元素,所以不需要开发流程(可以使用一个预定义的交付流程)。
-
要使流程可用,请发布配置以创建流程 Web 站点和/或将交付流程导出至项目规划工具。有关更多信息,请参阅工具向导:使用 Rational Method Composer 发布方法配置和工具向导:使用 Rational Method Composer 将流程导出至规划工具。
使用 Rational Method Composer(RMC)定义新的交付流程时,需如下执行定制步骤:
-
因为要创建新的交付流程,所以需要创建一个包含交付流程的方法插件。关于更多信息,请参阅使用 Rational Method Composer 创建方法插件。
-
配置流程涉及到创建方法配置,该方法配置包括上一步中创建的插件,及任何其他必需的插件(例如,包含交付流程中引用的方法元素的插件)。理想情况下,您可以使用预定义的配置作为起点(尤其是包含与您想定义的交付流程相近的交付流程的配置)。有关更多信息,请参阅工具向导:使用 Rational Method Composer 创建方法配置。
-
要为配置开发流程,请创建新的交付流程,理想情况下可以从现有的交付流程开始,或从现有的能力模式开始。有关更多信息,请参阅工具向导:使用 Rational Method Composer 开发流程。
开发交付流程时,如果发现需要其他方法内容,您总是可以将该内容添加到之后包括在配置中的方法插件中。关于更多信息,请参阅使用 Rational Method Composer 创建方法插件和工具向导:使用 Rational Method Composer 开发方法内容。
-
要使流程可用,请发布配置以创建流程 Web 站点和/或将交付流程导出至项目规划工具。有关更多信息,请参阅工具向导:使用 Rational Method Composer 发布方法配置和工具向导:使用 Rational Method Composer 将流程导出至规划工具。
使用 Rational Method Composer(RMC)添加新的非指导信息方法元素(角色、任务或工作产品)时,需如下执行定制步骤:
-
创建方法插件以包括新的方法元素及任何其他方法元素。例如,如果要添加某个工作产品,您可能需要添加负责该工作产品的角色,添加创建工作产品的任务。关于更多信息,请参阅使用 Rational Method Composer 创建方法插件。
-
通过创建方法配置配置方法内容,该方法配置包括上一步中创建的插件,及任何其他必需的插件(例如,包含与新方法元素相关的方法元素的插件)。有关更多信息,请参阅工具向导:使用 Rational Method Composer 创建方法配置。
-
要为配置开发流程,请创建新的交付流程;理想情况下,可以从现有的交付流程开始,或从现有的能力模式开始。将新的方法元素和任何相关的方法元素添加到交付流程中。有关更多信息,请参阅工具向导:使用 Rational Method Composer 开发流程。
-
要使流程可用,请发布配置以创建流程 Web 站点和/或将交付流程导出至项目规划工具。有关更多信息,请参阅工具向导:使用 Rational Method Composer 发布方法配置和工具向导:使用 Rational Method Composer 将流程导出至规划工具。
|