跳转到主要内容
skip to main content

developerWorks 中国  >  Rational  >

IBM Rational Method Composer: 第一部分:关键概念

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

Peter Haumer, Solution Architect, IBM

2006 年 3 月 15 日

本文来自 Rational Edge:这篇文章包含两个部分,提供了对IBM Rational Method Composer——IBM下一代过程管理工具平台及用于创造、裁剪和部署开发过程的概念框架的详细介绍。第一部分,也就是本文,提供了对RMC的关键功能的高级理解,并提供了对关键概念和典型RMC使用场景的综述。

illustration对于那些发展成为随需应变商业1的公司和组织来说,要在一个被多种技术以及消失的地理政治边界所不断激活的世界中竞争——Thomas Friedman称这些激活因子为“扁平器”2,系统和应用软件的创造,集成,现代化,扩展和部署已成为关键。现在,信息技术不仅支持业务,在很多组织中,信息技术正在定义业务。3我们正在经历一个新的计算模型的出现,IBM将其称为“业务驱动开发”(BDD)4;BDD组织对将开发过程与不同业务线的业务过程以及IT操作进行完全的集成并灵活的排列,以提高商业性能。

运行业务驱动的开发项目需要非常灵活的开发过程。这些过程不仅需要为现代开发实践(比如敏捷的,迭代的,以架构为中心的,风险和质量驱动的软件开发)提供具体的支持和指导,还需要有足够的灵活性以支持过程本身迅速的裁剪和应用。这些过程还需要随着项目不断发展,而正在执行中的项目必须能够按照在其完成前商业需求的变化自我发展。5

IBM Rational的统一过程(RUP)通过其架构和工具对过程裁剪,扩展及部署的支持提供了这种灵活性,它作为市场上的主流商业过程框架产品已有很长的历史。6本文将要介绍RUP开发团队下一代的过程管理工具平台和概念框架——IBM Rational Method Composer (RMC),它提供了完全重新设计的用户体验和大量创造,裁剪,以及部署开发过程的新特性。

这一新平台包含了创造,配置和浏览方法内容和过程的工具7。它取代了IBM Rational当前的工具:Rational Process Workbench,RUP Builder和MyRUP。它还包括了基于RUP的方法内容和打包在不同变体版本中的过程。在本文成文之时,它作为一个商业产品以及称为“Eclipse过程框架”的计划框架已经可以获得了,如图1所示。

  1. Eclipse过程框架 (EPF)8是eclipse.org策划的一个开放源码的项目。按照计划,IBM将免费提供来自下一代RUP平台的主要工具组件和内容。如图1所示,EPF工具包含了完整的过程创造和发布能力。EPF和Rational Method Composer工具的主要区别是前者缺乏与其它IBM Rational工具——比如Rational Portfolio Manager和Rational Software Architect——集成的能力以及从Rational Process Workbench迁移的能力。
  2. IBM Rational Method Composer (RMC)是IBM Rational的新商业发布版本,包括了为EPF提供的所有工具,Rational工具集成和迁移特性以及完整的RUP内容。除去完整版的RUP,RMC 还在重要内容方面——比如面向服务架构,系统工程,大型项目和项目组合管理,等等——移植了RUP插件(RUP内容的扩展,只能安装于RUP之上)。严格地说,本文提供了对贡献给EPF项目的Rational Method Composer工具平台的综述,但是你可以认为文中描述的所有功能都可用于EPF版本和完整的RMC工具,除非区别被特别指出。

本文分为两个部分。第一部分提供了对RMC关键功能的高级理解,并提供了对关键概念和典型RMC使用场景的综述。下个月,第二部分将提供关于创造方法内容和过程的更详细信息,包括指导和对RMC支持的不同形式的指导的评述。

Figure 1: Method Composer versus Eclipse Process Framework overview. A black font in the two columns indicates features already present in past release. Blue font indicates features added for this release.

图1:Rational Method Composer与Eclipse Process Framework概览。两列中的黑色字体指出了上个发布中已有的特性。蓝色字体指出了此次发布新增的特性。

IBM Rational Method Composer:目的和功能

Rational Method Composer (RMC)是一个工具平台,负责维护和实现开发组织或个人项目过程的过程工程师,项目领导,和项目经理可使用该平台。

对这类过程的实现有两个典型的关键问题需要指出。首先,开发者需要理解软件开发的方法。他们需要熟悉基本开发任务,比如如何引出并管理需求,如何进行分析和设计,如何实现一个设计或一个测试用例,如何测试实现是否满足需求,如何管理项目规模和变化,等等。尽管流行的敏捷开发方法依赖于自我组织的团队9——假设开发者已经知道如何进行这些工作而无须记录他们的方法——很多组织仍然需要依赖明确的文档记录并把这些方法变成一般和常规的实践。此外,有很多组织必须遵从规定做事情。(注意RMC通过明确方法内容选项同时支持这两类组织,详见“关键方法和概念综述”。)

其次,开发团队还需要定义如何在整个项目生存期中应用他们的开发方法。换句话说,他们需要定义或选择一个开发过程。例如,在项目的早期,需求管理的重点是引出涉众的需要并规划前景,这一阶段的需求管理方法必须以一种方式应用,而在项目的后期,需求管理的重点转移到了管理需求更新和变化,并对这些需求变化进行影响分析,这时的需求管理方法就要以另一种方式加以应用。团队还应清楚地理解方法内的不同任务之间的关联:例如,在整个生命周期中变化管理方法是如何影响需求管理方法以及回归测试方法的。即使是自我组织的团队,也需要定义一个至少给出了关于开发在生命周期中的规模,关于实现和测试阶段目标的实践,等等的指导的过程。

针对上述需要,RMC有两个主要目的:

  1. 为开发人员提供一个知识资产的基础,使他们能够浏览,管理和部署内容。这一内容可以被许可,获得,更重要的是,它适应了你自己的内容,而你的内容可能包含了方法定义,白皮书,指南,模板,原则,最佳实践,内部过程和规则,培训材料,以及其它任何对如何开发软件的概括性描述。这一知识基础可被用作参考和训练,并形成了开发过程的基础(第二个目的)。RMC被设计为一个内容管理系统,它提供了一个通用管理结构和对你所有内容的查看和体验,而不是一个存储和访问难以维护的,形式和格式各个不同的遗留文档的文档管理系统。RMC管理的所有内容可以通过HTML发布并部署到Web服务器上进行发布使用。
  2. 通过在选择,裁剪,和快速创建具体开发项目的过程方面的支持,过程工程师和项目经理提供过程工程。RMC为典型项目情境提供预定义的过程分类,它们可以适应个人需求。它还提供了称为能力模式的过程构建模块,它们代表了特定规则,技术,或开发方式下的最佳开发实践。这些构建模块形成了一个基于项目具体需要的快速创建过程的工具包,图2给出了一个示例。RMC还允许你建立自己的具体组织的能力模式库。最后,使用RMC建立的备有文档的过程可以作为网站发布和部署了。在商业版的RMC中,过程还可以作为 Rational Portfolio Manager的项目计划模板进行部署。
Figure 2: A Website published by Rational Method Composer containing and presenting all method and process content selected by the user for publication.  The example shows a configuration of the IBM Rational Unified Process framework.  Configurations of the Eclipse Process Framework or any user-generated content will appear in a similar way.

图2:一个通过Rational Method Composer发布的站点,包含并展示了用户选择发布的所有方法和过程。示例显示了IBM Rational统一过程框架的一种配置。Eclipse过程框架或任何用户产生的内容的配置将会以近似方式出现。

Rational Method Composer以及Eclipse项目框架的目标是为常规问题提供解决方案,这些问题是开发领导和团队在获得和管理他们的方法和过程时要面对的。例如:

  • 开发团队需要对信息简单而集中的访问:很多开发组织不维护他们的实践和过程的中心数据库。典型的情况是,过程或者是完全没有文档的,或者是以不同的格式表达的。过程需要在工作地点被部署和访问,在工作进行的同时需要提供过程文档。
  • 集成以只适于它们自己的格式导入的开发过程是困难的:每本书或出版物中的方法内容和过程都以不同格式出现。由于在表示方法内容和过程上缺乏广泛采用的标准和清楚定义的概念,从不同卖主和资源中集成过程是非常困难的。
  • 团队缺乏在方法和最佳实践上进行自我培训的最新的知识基础:在有效地进行开发过程之前,团队需要进行训练。他们需要一个关于开发方法的广泛的知识基础,该基础始终反映过程定义和项目执行的同一个实践基础。
  • 团队在最优化过程规模方面需要支持:他们需要互动的指导来回答他们需要“多少过程”的问题。过程不仅需要适应每个项目的不同需要,还应在项目生命周期中不断调整。因此,过程需要按照对简单集成新过程或裁剪已有过程的能力的需求扩大规模或缩小规模,以满足组织,项目,甚至具体于项目阶段的需要。
  • 保证遵守标准化实践:团队需要在组织内部对实践和过程进行标准化,管理和部署这些过程定义的能力,以及为个体项目提供适当裁剪和修改过程的能力。
  • 项目内过程的有效执行:团队需要通过使用相似的表达和方法沟通过程工程和过程制定。经理们需要有直接从他们的项目执行环境中导入过程的能力,比如Rational Portfolio Manager,它能够链接到计划元素(比如要完成的任务和他们的描述)。

IBM Rational Method Composer取代了IBM Rational Process Workbench,RUP Organizer,以及RUP Builder并提供了以下新的关键功能:

  • 提供用来创造,配置,浏览和发布开发过程的完整的重新设计的工具。
  • 提供及时产生的,专门用以浏览的发布预览,使得迅速的配置变化成为可能。
  • 使用简单的基于形式的用户界面管理方法内容。因此,统一建模语言(UML)的技能不再是必须的。
  • 为创造形象的内容描述提供直观而富于文字的编辑器。编辑器允许对样式,图像,表格,超链接和直接的HTML的编辑。
  • 允许在分解结构编辑器中建立过程,允许通过使用过程多种表示编辑器建立工作流图。分解结构编辑器支持不同过程视图:工作分解视图,工作-产品-使用视图,以及团队-分工视图。RMC自动同步所有表示和过程变化。
  • 独立于Rational统一过程:尽管新近版本的RUP进行了维护,并被RMC装载,RMC本身是一个通用的过程工程工具,为很多可选择的生命周期模型提供支持。例如,瀑布,递增,或是迭代模型可以用相同的重叠方法内容建立。
  • 改进的复用和可扩展性能力。来自过去版本的插件机制被扩展以支持结构分解扩展。
  • 通过拖拽方式支持可复用的迅速集成过程的最佳实践的动态链接过程模式。
  • 通过向IBM Rational Portfolio Manager导出过程填补过程和项目管理之间的鸿沟。

关键方法和概念综述

为了有效地使用Rational Method Composer,你需要理解一些用于组织内容的概念。这一部分提供了关于这些概念的综述。

方法内容与过程

RMC最基本的原则是可复用的核心方法内容与它在过程中的应用分离。这直接与上一部分中描述的RMC的两个目的相关。几乎所有RMC的其它概念都按照这一分离原则分类,如图6所示(见后文)。方法内容描述了要产生的内容,必要的技术,以及描述具体开发目标是如何实现的逐步渐进的解释。这些方法内容描述是独立于开发生命周期的。过程描述了开发生命周期。它们使用方法内容元素并将它们关联到半排列的序列中,这些序列是根据项目的具体类型定制的。

Figure 3: A two-dimensional representation of the Rational Unified Process's separation of method content and process.

图3:Rational统一过程中方法内容和过程分离的二维表示。

方法内容与过程的分离并不是一种新思想。它可追溯到Rational统一过程(RUP)的产生,并在1992年得到描述。10但是在RMC方面,这是第一次载入了RUP的过程裁剪工具,它支持两方面的自由修改。(这些工具先前的版本强调了方法内容方面,对过程方面只提供了有限的创造和裁剪能力。)

图3用一种二维表达表示了这一分离在RUP中是如何描述的。方法内容描述了开发工作是如何进行的,根据规程的不同由y轴表示。然后这些工作被引用并在过程中被排序,表现在时间轴x轴上。这是一个开发项目的生命周期;它表达了在何时具体工作应被完成。中间的图表示了每种规程的预计工作量。正如你看到的,例如,在RUP中,对需求做的工作永远不会停止,但当然,中间会有一些高峰时期,这个时期进行了需求引出和描述工作。而在另一些时期则可以观察到下降趋势,那时需要处理的需求变化很少,于是项目得以结束。这避免了“特性蔓延”——需求工作保持不变甚至增加的情况。因此,过程表达了生命周期中不同规程下需要进行的工作的变化,而工作本身是由方法内容描述的。

方法内容

为了学习开发方法,人们在图书馆中查阅资料或接受培训。很多开发方法在书,文章,培训材料,标准,规则,和其它形式的文档中有所描述。通常这些资源以不同方式记录方法,但是多数是通过在常见情况中以一种特定实现具体开发目标的方式提供逐步渐进的解释来描述开发方法的。举例如下:将需求文档变换为分析模型;基于功能和非功能需求定义一个架构方案;建立一个开发迭代项目计划;为功能需求定义一个质量保证计划;基于一个新的策略方向重新设计商业组织;等等。

RMC采用这些内容并使用一个预定义的方案以具体方式对内容进行结构化。这一方案是在统一过程架构 (UMA)11中定义的,该统一过程架构是基于SPEM 1.1 OMG标准对RUP 2003方案(也被称为元模型)进行的发展。12UMA还与其它IBM方法方案集成,比如IBM通用服务方法或IBM Rational Summit Ascendant。这一方案支持对开发方法和过程的大量描述的组织。这些方法内容和过程并不局限于软件工程,它们可以覆盖其它设计和工程原则,比如力学工程,商业变化,销售周期,等等。

按照这一UMA方案,在RMC中方法内容被表示为由定义了开发技能的角色创建和对于工作产品的职责。这些工作产品是由任务产生的,任务由角色完成,并把工作产品作为输入和输出。图4描绘了方法内容的典型来源以及在RMC中方法内容是如何表达的。图4中的RMC屏幕截图的左面的树状浏览图显示了这些方法内容元素是如何组织的。与库类似,这些树状浏览图为可获得的元素提供了不同索引以方便快速访问。截图的右面显示了一个任务表示的示例。这一任务表示根据需要被执行以实现任务目标的步骤定义了任务。你还可以发现,任务有各种关系,比如与执行任务的角色的关系,与作为任务的输入和输出的工作产品的关系。(本文的第二部分将提供关于任务,角色,以及工作产品的详细解释。)除了任务,角色,和工作产品,RMC支持额外的指导元素。指导是指支持性的,形式自由的文档,比如白皮书,概念描述,指南,模板,示例,等等。

Figure 4: Method content can be found in books and publications on software engineering methods.  Rational Method Composer expresses method content using concepts such as tasks, roles, work products, and guidance. This figure shows an example of how a task is presented in RMC.

图4:方法内容在关于软件工程方法的书籍和出版物中有所介绍。Rational Method Composer使用诸如任务,角色,工作产品和指导的概念表达方法内容。这张图显示了在RMC中任务是如何表示的一个示例。

过程

一个开发过程定义了被角色执行工作的序列,以及工作产品是如何产生和随时间发展的。图5显示了过程通常被表示为工作流或分解结构。

Figure 5: Processes are expressed as workflows or breakdown structures in RMC.  They utilize method content and define how methods are being applied throughout the project lifecycle they describe.

图5:在RMC中过程被表示为工作流或分解结构。它们利用了方法内容并定义了在其描述的项目生命周期中方法是如何被执行的。

定义一个严格的序列,比如在瀑布模型中,与在并行工作中定义一个半排序的迭代序列是基本相同的。它们只是表示了不同的开发方法。13在定义过程时,方法内容可以与指明工作在时间上是如何组织的结构组合起来,以支持不同的开发方法,并满足开发项目的特定类型的需要,比如一个在线系统的软件与一个嵌入式系统的软件和硬件。

RMC支持基于不同开发方法的过程,并可用于定义不同的生命周期模型,例如瀑布,递增,或迭代生命周期模型。RMC还支持不同的过程表示,比如工作分解结构或工作流表示。你还可以在RMC中为灵活的,自组织的团队定义使用最小方法内容集或根本不使用方法内容的过程(本文的第二部分将提供详细内容)。

图5中的RMC屏幕截图展示了一个由嵌套活动的分解结构表示的过程。它还显示了一个由这一分解同步的工作流,而该工作流是由一个特定活动——初始阶段——的活动图表示的。图形还通过两个蓝色箭头指出,来自图4的特定的方法内容任务“详述一个用例”,在过程中被两次应用:先是在初始阶段的“定义系统”活动中,然后在细化阶段的“细化系统定义”活动中。在这些被称为RMC的任务描述符的任务应用下,你可以看到执行角色清单以及输入输出工作产品。如果你深入调查,你就会发现两个任务描述符的列表是不同的,表达了在整个生命周期中执行详述用例方法任务的不同。你看到涉及到的角色的不同,要考虑到的输入清单的变化以及要产生和更新的输出清单。在这个例子中,这些变化是由建立过程的人定义的,目的是表达在生命周期的这一特定时刻对任务执行的精确集中。除了为任务描述符更新功能以及输入输出工作产品,你还可以提供额外的文本描述并选择在该任务的此次执行中哪些任务步骤需要被执行哪些不需要被执行。

小结

图6显示了RMC的关键概念是如何与方法内容与过程分离相关联的。正如你看到的,方法内容主要由工作产品,角色,任务,以及指导表示。

Figure 6: Terminology overview for RMC concepts.

图6:RMC概念术语总揽

指导,比如清单,示例,或路标,也可以被定义,用于提供背景和示范性地实践一个过程。在图6的右边,你可以看到用于表达RMC中的过程的概念。主要概念是可嵌套定义分解结构的活动。活动相互关联以定义工作流。它们包含了引用方法内容的描述符,并被用于定义RMC主要支持的两种过程:发布过程和能力模式。发布过程表达了一个执行某个具体类型的项目的完整和集成的过程模板。它们描述了一个完整的端到端的项目生命周期并被作为运行特点近似的项目的参考。能力模式是表达对于关键领域——比如规程或最佳实践——的过程知识的过程。它们可以直接被过程从业者用来指导他们的工作,也可以作为构建模块来集成发布过程或更大的能力模式,因此保证了对它们表达的关键实践的最佳的复用和应用。

RMC的典型使用场景

让我们首先看一下Rational Method Composer或Eclipse过程框架的最典型使用场景。尽管RMC是一个强大的过程创造环境,仍能不同程度以不同模式地利用RMC的能力进行创造。RMC包含了很多现成的方法和过程内容。因此,在很多情况下,实际上不需要多少创造。要做的只是选择,配置,和裁剪已有内容来适应你的需要。

RMC最简单的使用场景涉及的是直接使用导入的过程——现有的过程。RMC的商业版本包含完整的Rational统一过程框架(RUP v7.0)资源,它包括了覆盖广泛开发情境的上千的方法和过程元素。它还包括了将RUP扩展到针对各领域的应用(比如开发具体技术,像Java企业版(JEE),或不同开发情境,比如采用一个商业构件(COTS))的各种方法插件。Eclipse过程框架包含了一个由项目赞助人提供的迅速增长的内容库。

尽管如此,注意,没有组织或项目一开始就需要所有这些文档。你应该处理一个称为方法配置的子集,它根据具体需要对过程进行裁剪。在选择和裁剪活动的过程中,你可能还需要包括进你自己的内容并把它链接到已有的材料中。这里RMC的创造能力为你提供了使用简单但功能强大的编辑器,使你能够无缝地完成添加工作。

你也可以从RMC开始不依赖于任何我们提供的明确的方法定义。在这种情况下创造完成的所有过程创造都将包括使用发布、阶段、迭代、冲刺来定义的你的生命周期结构,或者你想要组织你的生命周期的任何方式,并将这一生命周期结构与高级活动,里程碑,和对关键发布的定义等组合起来。

下面的各个部分概括了RMC最常见的使用场景。14

选择和配置已有方法内容和过程

这代表了RMC最简单的使用场景之一。RUP 2003的用户将把它看作一个“RUP Builder”情境。你通过浏览RMC方法库(包含了你购买的以及你从RMC资源中心15或Eclipse过程框架社区下载的全部内容)选择满足你的需要的过程和其隐含的方法内容。一旦你找到了一个合适的过程,你开始通过选择和取消选择我们称为“方法包”的东西对其进行配置(如图7所示)。删除一个方法包将从过程的所有地方删除所有对这个包的内容的引用。比如,你可以通过删除包含你不希望进行的工作元素的包来“拆开”一个过程,使它只包含它的内容的最小子集。或者,你可以添加包含特定领域内容的方法包,这样过程就可以选择性地支持该领域的应用(例如,“普通”的J2EE和含SOA 特定内容的J2EE)。

Figure 7: Configure processes and method content by selecting or deselecting method packages that shall be referenced or not referenced by the processes. You can create several method configurations defining filters on the overall method library in RMC. Use the combo box in the toolbar to quickly switch between different method configurations.  The Configuration view in the lower-left corner always displays the resulting contents of a method configuration.

图7:通过选择(被过程引用)和取消选择(不被过程引用)方法包配置过程和方法内容。你可以建立几个方法配置,它们在RMC的整体方法库上定义过滤器。使用工具条中的组合框来在不同方法配置中迅速切换。左下角的配置视图总是显示一个方法配置的结果内容。

在RMC中,方法内容和过程是按照它们为有效配置建构逻辑单元的方式组织的。例如,所有属于一个特定规程,比如需求或变更管理,的内容可以在一个方法包中被找到。每一个这种包还可以根据规程内的具体实践被进一步分为子包。例如,RUP中的需求规程把所有和它的用例相关的内容包括在一个单独的包中。因此,对你的过程,你可以只添加或删除用例实践,也可以添加或删除整个需求管理规程,而你要做的只是通过鼠标点击选择或是取消选择用例方法或需求包。

结果是一个配置好的过程,你可以用HTML将其发布和部署到你的团队(例如,图2所示),并/或将其导出到你的项目管理工具。注意你既可以为延伸到整个开发生命周期的过程,也可以为一或多个阶段,迭代,活动,等等建立这种方法配置。因此,你无需在最开始定义你的整个生命周期。你可以根据需要重复地配置你的过程。

裁剪一个现有过程

除了简单配置一个过程,你还可以通过使用一或多个RMC的编辑器主动修改过程,使它们更好地遵守你的具体需要。你可以为一个已有过程建立所谓的过程配置,它定义了该过程的不同变化。你可以直接添加,删除,或取代过程中的元素。因此,对比变更配置——它将对过程做出全局性改变——你可以只在你需要的地方定义个体变化。RMC提供了丰富的动态链接能力,它们将你的更改从原始过程定义中分离出来,这样当下层的过程变化时,你可以简单升级而不会丢失你做的更改。(在第二部分中,我将提供过程裁剪的示例。)

建立一个新过程

作为裁剪已有过程的另一种选择,你还可以从开始创造一个全新的过程,或者一个从一或多个已有过程中复用材料的过程。在你无法找到任何可复用材料的情况下,你可以从头创造一个全新的过程。但在多数情况下,你可以从集成可复用方法内容的建构模块以及预定义的过程模式(我们称之为能力模式)开始开发你自己的过程。能力模式是一个定义可复用活动集的迷你过程,在一般的过程域中它通常被一次次重复。能力模式的例子包括:“基于用例的需求管理”,“开发组件”,“验证构建”,或“持续管理和支持”。除了在每次由模式描述的工作被执行的时候复制这些模式外,RMC还允许你把模式动态链接到你的过程。当模式变化时,模式的所有应用将自动被更新。

RMC的过程创造能力使你能够完全利用方法内容与过程分离的特性,如在“关键术语和概念综述”中所指出的。你可以从定义你自己的生命周期模型开始建立你的过程,然后系统地添加你自己定义的或从方法库中复用的方法内容和/或能力模式。

图8显示了一个Eclipse过程框架的例子,指出了方法内容和能力模式是如何在两个使用不同生命周期模型的过程中被复用的。

Figure 8: Two processes with two different lifecycle models applying the same capability patterns and method content.

图8:两个使用不同生命周期模型的过程应用相同的能力模式和方法内容。

图8的右边包含了两个分解结构过程编辑器。上面的一个定义了基本统一过程(BUP),它是RUP的灵活、轻量的改编版。16下面的编辑器定义了一个类Scrum过程。两个过程有各自截然不同的生命周期模型。BUP使用四个RUP阶段——启始,精化,构建,和产品化——并定义了它们的迭代。Scrum过程的组织迭代形式也被称为“冲刺”。如果你仔细检查图8中的两个过程,你会发现它们既有共同之处也有具体的不同之处。管理迭代或管理冲刺之类的活动有不同任务,因为两个过程有不同管理方法。管理方法是针对每个过程创造的。

在另一方面,两个过程有一些共同活动,比如开发解决方案或验证构建。

这些活动代表了基本统一过程中被定义为基本构建模块的能力模式;正如你看到的,它们被列在图8左面的树状浏览器中。这些模式被Scrum过程的作者通过简单的拖拽操作复用到过程中。忠实的Scrum从业者可能会说,这一过程由于为工作提供了明确任务而不是为自组织的团队提供任务而违背了Scrum原则。但是,我们建立了这个例子来告诉你,像Scrum这样的过程是如何通过利用RMC的过程创造能力即复用模式和任务来得到强化的;这些模式和任务的作用在于指导,而不是作为缺乏经验的团队的严格工作指令。

开发方法内容和建立或扩展过程

介绍的最后一个情境是复用RMC或第三方方法内容不仅来建立或裁剪过程,而且来开发你自己的方法内容并使用该方法内容来裁剪已有过程或建立新过程。

在方法内容的创造中,你既可以定义全新的内容,也可以扩展已有的方法内容。如果你需要定义你自己的功能,想要添加额外的工作产品类型,想要添加你的开发方法,或只是想添加额外的指导——如白皮书,你的组织的具体规则和方针,或你自己的工作产品模板或清单,则你要开发新的内容。如果你只是要修改方法库中已有的方法内容,要向一个功能中添加一个工作产品责任,向一项任务中添加步骤,或向一个已有的清单中添加几个检查点,你就可以使用RMC独有的方法插入和变化功能。变化性允许你改变已有内容而不直接修改原始内容。例如,你拥有在RUP中建立一个向已有任务中添加一些新步骤的任务的方法插件的能力。或者,你可以在你的插件中定义一个定义了你的变化的工作产品来取代原来的RUP工作产品。例如,它可能有不同的名字,结构,模板以及定制的描述和指导。其它RUP元素对原始工作产品的引用将自动被取代为对你的元素的引用。这样你就可以使用方法配置有选择地打开或关闭你的扩展,还可以方便地把原始元素升级到更新的版本并重新应用你的变化。

在RMC中,你使用编辑器定义和记录方法内容;这些编辑器是直观,基于形式,并容易上手的,同时它们也足以提供格式良好的,富文本的文档。

图9显示了用于工作产品定义的编辑器。要定义一个新的工作产品类型,你只要在方法包中建立该类型的元素。要为这一类型建立文档,你只需要使用它的编辑器来填写形式域并使用选择对话和组合框来建立关系。RMC在后台创建和管理HTML——它提供了格式良好的,带有超链接的文档,如你在图4中所见(显示了一个任务的文档的预览)。

Figure 9: Form-based editor for a work product. Every form field can be expanded into a full-sized rich text editor that allows you to format text, work with tables, include images, and so on.

图9:工作产品的基于形式的编辑器。所有形式域可被扩展为一个完整的文本编辑器,它允许你格式化文本,处理表格包括图像,等等。

一旦你建立了你自己的方法内容元素,你就可以通过使用前文所述的“裁剪已有。。。”或“建立新的。。。”情境把它们包含进你的方法配置或添加到你自己的或复用的过程中。

这里结束了我们对最常见的RMC使用场景的综述。下个月,我将在本文的第二部分中给出对方法内容和过程的更深入讲解。再见!

鸣谢

本文的完成与几个突出的团队的努力和热情是分不开的。我要感谢RUP开发和QA团队,RUP内容团队,RUP产品团队,RUP生产团队,IRUP团队,IBM全球服务方法团队,拥有来自Rational领域和其它IBM方法团队的成员的UMA委员会,Tivoli ITUP团队,以及其它所有IBM内外的早期采用者和beta用户,还有ISSR管理,它使RMC和EPF能真正发布。

注释

1见IBM,“随需应变商业”,2005年12月:http://www.ibm.com/ondemand。另见,Alfredo Gutierrez,“随需应变电子商务:开发者指南”,IBM developerWorks,2003年2月:http://www-128.ibm.com/developerworks/ibm/library/i-ebodov/index.html

2Thomas L. Friedman,平坦的世界:21世纪简史。Farrar,Straus和Giroux,2005年。

3Asiff Hirji,CIO Ameritrade,Gartner Financial Services Technology Summit,2005年8月:http://www.computerworld.com/careertopics/careers/story/0,10801,104482,00.html

4Per Kroll和Walker Royce,“业务驱动开发的关键原则”,The Rational Edge,2005年10月:http://www-128.ibm.com/developerworks/rational/library/oct05/kroll/index.html

5Per Kroll和Walker Royce,“业务驱动开发的关键原则”,The Rational Edge,2005年10月:http://www-128.ibm.com/developerworks/rational/library/oct05/kroll/index.html

6如果需要关于RUP的更多内容,请参考以下四个资源:IBM,“Rational 统一过程”,版本2003.06,IBM Rational软件,2003年;IBM,“Rational 统一过程”,版本7.0,IBM Rational软件,2006年;Philippe Kruchten,Rational统一过程入门。Addison Wesley,2000年;以及Per Kroll和Philippe Kruchten,Rational统一过程的便利:Rational统一过程从业人员指南。Addison Wesley,2003年。

7如果需要总体上大致了解RMC包含的内容,请参考Per Kroll,“IBM Rational Method Composer介绍”,The Rational Edge,2005年11月:http://www-128.ibm.com/developerworks/rational/library/nov05/kroll/index.html

8见Eclipse.org,“Eclipse过程框架:项目信标”,Eclipse.org提案,2004年:http://www.eclipse.org/proposals/beacon/。另见Per Kroll,“Eclipse过程框架项目”,IBM developerWorks,2005年11月:http://www-128.ibm.com/developerworks/rational/library/05/1011_kroll/;另见Ricardo Balduino,“基本统一过程:适用于小型和敏捷项目的过程”,Eclipse.org,2005年:http://www.eclipse.org/proposals/beacon/Basic%20Unified%20Process.pdf

9见Ken Schwaber和Mike Beedle,使用SCRUM进行敏捷软件开发。Prentice Hall,2001年。

10I. Jacobson et al.,面向对象的软件工程:一种用例驱动方法。Addison-Wesley,1992年。

11如果需要对UMA的详细介绍(已经作为下个版本的SPEM标准提交给OMG),请参考Peter Haumer和Todd Fredrickson所著,即将出版的“统一方法架构综述”,IBM。如果需要关于下一个SPEM标准的更多信息,请参考OMG,“软件过程工程元模型”,版本2.0,RFP,2004年:http://www.omg.org/cgi-bin/doc?ad/2004-11-4

12OMG,“软件过程工程元模型”,版本1.1,正式版/2005-01-06,2005年:http://www.omg.org/technology/documents/formal/spem.htm

13如果要对这两种方法进行深度比较,见Walker Royce,软件项目管理:一个统一框架。Addison Wesley Longman,1998年。

14关于裁剪RUP的更详细的讨论,请见IBM Rational统一过程的“裁剪RUP”部分,版本7.0,IBM Rational软件,2006年。

15参见IBM,“IBM developerWorks RMC资源中心”,2006年:http://www-128.ibm.com/developerworks/rational/products/rup/

16参见Ricardo Balduino,引自其著作。





回页首


参考资料

  • 您可以参阅本文在 developerWorks 全球站点上的 英文原文




回页首


关于作者

Peter Haumer是IBM Rational Method Composer产品平台的一名解决方案架构师。他负责定义下一代过程工程工具,并代表IBM参与了对象管理组织(OMG)的SPEM 2.0计划。在加入Rational统一过程团队之前,他是IBM Rational品牌的一名高级专业服务顾问。他从事现场咨询和培训工作,并帮助和指导客户成功的使用Rational统一过程和其它Rational工具。他的研究领域包括需求管理,面向对象分析和企业应用程序架构设计,以及软件过程实现。在加入Rational前,他从事需求工程和灵活的集成化过程辅助工具架构方面的基础研究。






回页首


对本文的评价

太差! (1)
需提高 (2)
一般;尚可 (3)
好文章 (4)
真棒!(5)

建议?




回页首


其他公司、产品或服务的名称可能是其他公司的商标或服务标志。


    关于 IBM隐私条约联系 IBM