级别: 初级 Jean-Louis Maréchaux, IT 架构师, IBM
2007 年 1 月 15 日 本文来自于 Rational Edge:学习如何运用 IBM Rational Method Composer 进行方法创作(method authoring)和发布。通过一个简单的案例分析,作者演示了在 Method Composer 中定制工作产品定义是如何的快捷简便,并以此创建一个经过裁减的基于 IBM Rational 统一过程(RUP)的开发流程。
很久之前 IT 业界就知道,仅仅创造满足客户需求的产品并不能保证长久的成功。成功的 IT 解决方案必须是健壮的和灵活的,最重要的是,它们必须满足企业优先的业务。自从九十年代起,1 Rational 统一过程®, 或 RUP®,已成为针对业务驱动开发事实上的标准。由于仅仅当方法论适合于使用它的机构时,它才有价值,因此 IBM Rational 的最佳实践将过程裁减作为一项针对成功迭代开发来说至关重要的规程。
为保证生命周期效率并增强工程的灵活性,可使用创作工具(如 IBM Rational Method Composer)创建、文档化、发布适当的过程,在这个工具环境中 RUP 可以被适当地裁减。2
作者提示:本文假设您很熟悉 RUP 方法论及其主要概念。
学习案例: 调整 Yummy Inc. 过程
Yummy Inc. 是一家虚构的公司,它主要提供在线餐饮服务。它们的信息系统主要用来保证业务的连续及效率。为降低风险,它们的IT团队采用了 Rational 统一过程。为了在采纳过程中更进一步,他们计划针对他们特定的需求调整部分 RUP 内容。
Liz --IT 经理,决定首先通过进行概念论证来评估裁减RUP所带来的好处。根据她的经验,她知道在进行更高级的过程调整前最好从较小部分开始。Richard--过程工程师,负责管理过程裁减活动。经过研讨后,Liz 和Richard起草了所要进行的概念论证内容。他们的主要目标是裁减工作产品:RUP Software Architecture Document。由于需要使用方法创作和配置工具,他们选择了IBM Rational Method Composer。
经过研讨后,这个团队草拟了一份所要论证的内容:
|
名称: 过程裁剪概念论证
代码名称: YPT (Yummy 过程裁剪)
描述(范围):
- 概念论证必须定制了缺省的RUP内容。
- 用来调整和发布过程的工具是 Rational Method Composer。
- 概念论证范围包括定制工作产品和软件架构文档。通过提供附加描述和新工作产品模版(Yummy template)的定制将丰富缺省RUP内容。
要证明的概念:
- Rational Method Composer 支持所有的过程裁减行为。
- 这个工具可用来调整缺省RUP过程内容以满足特定的Yummy Inc. 的需求(附加的信息,附加的模版)。
- 可以很容易的操作工具。合适的过程的建立并不需要很长的学习时间曲线。
- 工具允许基本的个性化定制,但也适合于更高级的过程裁减。
|
使用 Rational Method Composer 支持过程创作
Rational Method Composer 是一个灵活的过程平台,它包含用来对整个IT生命周期进行管理的过程和工具。它可以帮助定制现成的(out-of-the-box)过程内容或者从零开始创建一个新过程。在现有的 developerWorks 文章中可找到 RMC 主要概念的详细说明和核心功能。3
由于已经建立起整个工程,Richard--过程工程师,必须管理论证。第一步是创建一个方法插件,如图 1所示。这一方法插件将会收集所有针对裁减的RUP框架创建的附加的、自定义的元素。
图 1:方法插件的创建
这一插件被称作"Yummy_Resources" (参见图 2)。它引用了RUP方法插件,因为Richard 需要能够定义标准RUP内容的扩展和改变。
图 2:可用的插件
Rational Method Composer 创建了一个基于内部模版的空方法插件结构(如图 3所示)这一方法插件包含了两个不同的包(package):方法内容包与过程包。
图 3:缺省插件结构
参看如图 3所示的 Yummy_Resources。 "method content(方法内容)"包是一种针对方法内容元素的容器,并将其分拆成更小的包以帮助过程工程师理解内容,它包括了内容包,标准类别和用户类别。
"process (过程)" 包是针对过程元素的容器。它包括了能力模式(capability pattern,用以组合完整过程的可重复使用的构建块)和交付过程(delivery processes ,包含了全部开发生存期的过程)。
Richard 能够立即看到 RMC 平台支持复杂的过程裁减。利用图 3所示的各种不同插件组合,工程师能够根据规程、角色集合、某一特定的可重复使用的活动集合(能力模式)、甚至是完整过程(交付过程),定制过程中的任何部分。
根据 Yummy 的论证的目标,可以很清楚的知道 Richard 不必创建一个完整的过程。他的裁减工作只需集中在方法内容包。
创作工作产品
为了创建针对概念论证的新工作产品内容,有必要增加一个内容包(如图 4)。RMC 创建了一个缺省结构以分类排序每个包的内容(角色,工作产品,引导),如图 5所示。
图 4:内容包的创建
图 5:缺省内容包的结构
Richard 需要创建一个新工件(artifact): Yummy Software Architecture Document,如图 6所示。
图 6:工件的创建
团队已决定 Yummy 过程将在现有 RUP 元素基础上提供附加资源,因此 Richard 可利用内容可变性属性来定义必须加入基本内容中的附加资源,如图 7所示。
图 7:内容可变性: 贡献
可变性允许一个内容包中的元素不必直接改变初始内容,却能影响或修改另一内容包中的元素。可变性允许改变内容,同时保持所做改变的独立性与随意性。
作为一个有价值的工件,Yummy 软件体系文档元素的内容将会增加到称为 rup_software_architecture_document 的基本元素内。结果是由包含了属性与基本元素相结合的某种元素替换了基本元素。
为了完成概念验证的目标,必须为最新创建的工件增加 Yummy 模板。在 RMC 中,模版会在方法内容包的指导文件夹内被创建,如图 8所示。
图 8:模板的创建
模板是某种特定的指导类型,它以预定义内容、段落、包、与/或标题或标准格式的表格的方式提供了某种工作产品。RMC 中的模板可包含多个附件(诸如针对不同字处理的模板文件)和其他信息 ,如图 9所示。
图 9:模板编辑器
与模板创建类似,我们也可能创建其它指导元素。Richard 决定创建一种包含样例软件架构文档的实例元素,如图 10所示。
图 10: 指导元素
由于已经定义了指导元素,因此它们必须与 Yummy 工件相关联,如图 11所示。
图 11: 用编辑器关联指导元素和工作产品
在指导标签中指定的元素将组装起工件的各个部分。发布的文档中将包含 Yummy Inc. 模板和 Yummy Inc. 样例,图 18 中反映了上述内容。
除此之外,还可能为工件的元素增加某些自定义的文本。例如,Richard 决定在目标(purpose )部分解释一下为什么要创建一个特殊的Yummy模板(参看图 12)。由于新工件是 RUP 软件体系文档的一部分,因此过程一旦被发布,任何描述都将被加入到基本元素中。
图 12: 工作产品定制
Richard 已完成了过程创作。现在需要用已发布的过程向 Liz 展示他的工作成果。
发布 Yummy 过程
在发布方法前有必要建立起一个配置。在配置过程中有可能选定与取消来自方法库集合的方法插件中的可用内容包与过程,如图 13所示。这一选择用以决定发布站点的内容。
图 13: 方法配置的创建
新建立的配置包含了已有的方法插件(Yummy_Resources)。同时包括了所有经典RUP配置插件(RUP,正式资源,非正式资源,SOA,和基本概念),如图 14所示。通过重复使用现成的插件,Richard 能够花费最小的代价有效实现所有过程。
图 14: 选择配置内容
最后一步是发布 Yummy 配置。RMC 中存在一个简单的向导用以指定目标目录及其他站点属性,如图 15所示。
图 15: 发布配置
所发布的过程内包括了所有经典 RUP 配置中的元素,如图 16所示。
图 16: 被发布 的 Yummy Inc. 过程 点击放大
由于 Richard 创建了部分附加内容,因此这一软件体系文档满足了 Yummy Inc. 的需求。它包括了针对 Yummy 组织的附加描述(目的部分),且包括了企业模版的新链接和实例。(如图 17)。
图 17: 发布的文档 -- 增加到目的(purpose)部分的定制内容 点击放大
现在,新的指导元素(模板和实例)已成为 Yummy 过程的一部分了,如图 18所示。
图 18: 发布的文档 -- 增加到说明部分的模版和指导元素 点击放大
任何过程用户都可通过发布站点浏览并下载。
定制的工件还包括所有的标准 RUP 内容(描述、模板和实例)。
总结
在完成了 Yummy 过程裁减概念论证之后, Liz--IT经理,需要对所使用的方法创作工具做出评估报告。因此她和 Richard 在会议室中写下了概念论证过程中的经验。例如:
- Rational Method Composer 有效支持裁减过程。这一特点有益于个性化定制、创作,甚至于发布行为。
- Rational Method Composer 提供了辅助结构化的包,可以轻松创建、组织自定义的内容(Yummy 工件、模板和实例)。
- 利用 Rational Method Composer,经过五步(创建插件、创建内容包、创建工件、创建指导元素,关联工件与指导元素)实现了概念论证的目标。
- 过程发布更加简单(创建配置、选择内容、发布配置)。
- Rational Method Composer 十分直观易用。除了了解统一建模语言 (UML)外,Richard 不需要任何技术能力就可以自定义现有过程。
- Rational Method Composer 能够使用可重用的组件。它包括现成的插件,新的插件可以导入以提供附加价值。可访问http://www-128.ibm.com/developerworks/rational/library/05/1206_ibmstaff/获取完整的可用插件列表。
- Rational Method Composer 插件可被导出至 Microsoft Project 或 Rational Portfolio Manager,因此 RMC 架起了过程与项目管理间的桥梁。
- 丰富的自定义选项允许不同级别的过程创作,从最基本的(配置、角色、工作产品)到最高级的(全新的能力模式,改进的任务,全新的交付过程等等)。很明显,它能够广泛支持组织的过程裁减。
会后,Liz 和 Richard 都认为 Yummy Inc. 必须采用 Rational Method Composer 作为他们的方法创作、配置和发布工具。
感谢
Peter Haumer--IBM Rational Method Composer 产品平台的方案架构师,与我共同分享了他的经验,并对本文作了详细的审核,在此表示感谢。
注释
1 可访问http://en.wikipedia.org/wiki/Rational_Unified_Process#History浏览 RUP 的简略介绍。 RUP 的官方站点为http://www-306.ibm.com/software/awdtools/rup/
2 可浏览http://www-306.ibm.com/software/awdtools/rmc/index.html获取 Rational Method Composer 的信息
3 请参阅以下三篇发表于 Rational Edge的文章: Per Kroll,“IBM Rational Method Composer 介绍”;Peter Haumer,“IBM Rational Method Composer,第一部分:关键概念”;以及“第 2 部分:创建方法内容和过程。
参考资料
关于作者  | 
|  | Jean-Louis Maréchaux 是加拿大的一名 IBM
Rational 的IT专家。他研究的领域包括 J2EE 架构、Web 服务技术、SOA 和软件过程实施。在加 入Rational 团队前,他是 IBM
Global
Services 团队和其它 IT 机构的 IT 架构师,主要从事程序架构和设计。他的电子邮件地址是jlmarech@ca.ibm.com。 |
对本文的评价
|