背景
Unified Method Architecture(UMA)的开发目的是统一 IBM 中所有方法和流程工程方法的说明纲要与术语,并支持行业中最重要的标准。因此,如下图所示,IBM Rational Unified
Process(RUP)、IBM Global Services Method(GS Method)和 IBM Rational Summit Ascendant 的架构设计师协作开发了 UMA。除此核心架构设计师小组之外,IBM
内外的许多其他开发流程计划的项目干系人也复审并参与了该规范的制定。该规范本身已作为 SPEM
2.0 标准的提案提交给 OMG。由于 RUP 2003 元模型是根据当前 SPEM 1.1 标准进行开发的,因此可以将此 SPEM 2.0
草案看作该标准的持续重要演进。
此统一的主要目的是生成一套术语和数据结构,以允许在不丢失主要特征的情况下表示所有这些方法和流程。例如,设计 UMA 的目的是支持很多种不同的生命周期模型:RUP 迭代开发生命周期、递增 GS Method 生命周期和 Summit
Ascendant 瀑布式及迭代生命周期。除此之外,还需要解决术语差异:RUP 称为“活动”的操作在 GS Method 中称为“任务”,RUP 中的“工件”在 Summit Ascendant 中定义为“可交付件”等。
对于 RUP 2003 用户,UMA 中的更改
由于只定义一个数据结构和所有这些方法使用一个术语的重要性增加,折中方案和更改必须被所有项目干系人接受。尽管这些更改可能会对当前 RUP
用户产生困扰,但是从长远来看,用户将从广泛使用并且统一的术语和标准化的方法内容和流程表达方式中受益,因为这些更改可改进有关流程的通信并便于复用。以下列表总结了 RUP 2003 元模型的最重要的更改。此页末尾的表为您提供了 UMA
所有重要来源的完整术语比较。
-
活动已重命名为任务:为了使流程条例和项目管理的关系更紧密,我们将最小的可分配工作单元重命名为“任务”,因为“任务”最常用。
-
工作流程详细信息重命名为活动:通常以活动图层次结构表示工作流程(例如,UML 2.0 中定义的活动图)。虽然 RUP 只提供一层工作流程细分,但 UMA 被设计为提供多层此类细分。
由于“活动”一词通常用来表示活动图的元素以及活动图本身,因此我们决定将 RUP 中使用的名称“工作流程详细信息”替换成名称“活动”。我们意识到“活动”一词用途的转换可能会使现有 RUP 用户产生困惑。但是,UMA
工作的一个重要目标就是以标准和行业中最常用的方式使用术语。
-
任务(以前在 RUP 中称为活动)可由很多角色执行:在 RUP 2003 中,活动是作为角色操作建模的。客户反馈(对其他流程建模方法的意见)以及在 UML 2.0
中引入的更改指示此设计极大地限制了建模人员行为。此方法不接受“某些工作是通过不同角色的协作执行的”这样的表述。UMA 通过使“任务”成为独立的模型元素来解决此问题(可以将执行角色作为资源指定给“任务”)。因此,UMA
现在允许向任务指定多个角色。为了向后兼容,UMA 仍然允许标识主执行角色(正在负责任务的角色)以及多个其他执行者。
-
改进了工件概念:RUP 过去仅使用工件的概念定义开发项目中使用和产生的对象。UMA
定义了这些概念的扩展分类法。它定义工作产品的常规概念,工作产品有三种不同的规范(特定的工作产品类型):工件(受管的工作产品)、可交付件(将交付给项目干系人进行复审的封装工作产品)和成果(不受管的无形工作产品)。
-
对工作产品和角色进行不同的分类:在 RUP 中,工件和角色都按规程分类。但是,有时会跨规程使用工件,只按一个规程分类就会产生混乱。在 UMA
中为工作定义(任务和活动的规程)、工作产品(域和工作产品种类)以及角色(角色集)定义了不同的类别。
-
流程组件重命名为方法包:在许多标准和技术中通常会使用组件概念。组件的大部分应用会将它链接到封装的抽象,该抽象将组件定义为可通过明确定义的接口来使用的黑匣。RUP 组件并不满足此黑匣条件。并且
SPEM 标准定义了包和组件。为了与 SPEM 和“组件”一词的行业用法一致,我们将“流程组件”重命名为“方法包”。(从技术层面上来看,“方法包”是“方法”,因为它可包含方法元素或进程元素。)
-
分离方法内容元素和进程元素:在 RUP 2003 中,可通过定义新配置和将开发案例中的工件更改手动记录到标准 RUP 来创建新流程。UMA
作为对配置概念的补充,提供了扩展概念,以供定制流程。它允许您对流程进行具体建模,确定每个阶段中您实际希望执行的方法内容中定义的工作,因为您可以在流程结构中轻松地添加、除去元素和对元素进行重新排序,并可重新使用或不重新使用方法内容中的所有内容。
它通过更清楚地分离方法内容(例如,为规程定义的任务)和流程中方法内容的应用(以活动图和/或工作分解结构表示)以及流程建模(即创建新的或修改过的活动图,或者新的或修改过的工作分解结构),实现这些功能。它引入了一些新概念(例如描述符),这些概念支持此分离并可实现新功能,来支持在同一配置中维护和复用许多不同系列的替代流程和流程组成部分。
术语对比
下表显示 UMA 术语与其他流程工程方法中所使用的术语的对应关系。
|
UMA/RMC
|
RUP 2003
|
SUMMIT
|
IGSM
|
SPEM 1.1
|
基本方法元素
|
|
|
|
|
|
角色
|
角色
|
角色
|
角色
|
流程角色
|
工作产品
|
|
可交付件
|
|
|
工作产品/工件
|
工件
|
|
工作产品描述
|
工作产品
|
工作产品/成果
|
|
|
任务成果
|
|
工作产品/可交付件
|
|
|
可交付件内容描述
|
|
任务
|
活动
|
活动
|
任务
|
活动
|
步骤
|
步骤
|
步骤
|
子任务
|
步骤
|
|
|
|
|
|
相关流程
|
|
|
|
|
|
活动
|
工作流程详细信息
|
任务
|
活动
|
工作定义
|
迭代
|
迭代
|
|
|
迭代
|
阶段
|
阶段
|
阶段
|
阶段
|
阶段
|
能力模式
|
|
|
能力模式
|
(流程组件)
|
交付流程
|
生命周期/配置
|
路径图
|
接洽模型
|
(流程)
|
|
|
|
|
|
分类
|
|
|
|
|
|
规程
|
规程
|
模块
|
|
规程
|
域
|
(工件集)
|
|
域
|
工作产品种类
|
角色集
|
(角色集)
|
|
|
|
工具
|
工具
|
|
|
|
|
|
|
|
|
方法封装
|
|
|
|
|
|
方法插件
|
流程模型插件
|
|
|
进程
|
方法包
|
流程组件
|
|
|
包
|
方法包/内容包
|
|
|
|
包
|
方法包/流程包
|
|
|
|
包
|
流程包/流程组件
|
|
|
|
流程组件
|
|
|
|
|
|
指导信息类型
|
|
|
|
|
|
指南
|
指南
|
参考文档
|
技术文档
|
指南
|
概念
|
概念
|
参考文档
|
|
|
白皮书
|
白皮书
|
参考文档
|
|
|
核对表
|
核对表
|
|
技术文档(V&V)
|
核对表
|
工具向导
|
工具向导
|
|
工具指南
|
工具向导
|
模板
|
模板
|
模板
|
模板
|
模板
|
报告
|
报告
|
|
|
|
估算
|
|
估算
|
估算注意事项
|
估算
|
示例
|
示例
|
|
引用项/示例
|
|
路线图
|
路线图
|
路径图描述
|
|
|
术语定义
|
(词汇表)
|
(词汇表)
|
|
|
实践
|
|
|
|
|
|