背景
Unified Method Architecture (UMA) 致力於統一 IBM 的所有方法和流程工程方法的表示法綱目和專有名詞,以及支援業界最重要的標準。因此,如下圖所示,UMA 是由 IBM Rational Unified
Process (RUP)、IBM Global Services Method (GS Method) 及 IBM Rational Summit Ascendant 的架構設計師共同合作開發。除了這一群核心的架構設計師團隊,IBM
內外的許多其他開發流程案的關係人也參與審查並投入這套規格。此規格本身已提交 OMG 成為 SPEM 2.0 標準的提案。因為 RUP 2003 Meta 模型是根據現行的 SPEM 1.1 標準所開發,此 SPEM 2.0
草案可視為這項標準的一項重要且持續的演進。
這項統一霸業的主要目標是為了提出一套詞彙與資料結構,能夠保留重要的特色來表達以上所有方法和流程。例如,UMA 必須設計成支援許多不同的生命週期模型:RUP 反覆式開發生命週期、漸進式「GS 方法」生命週期,以及 Summit
Ascendant 瀑布式和反覆式生命週期。此外,也必須解決專有名詞的差異:RUP 的「活動」在「GS 方法」中稱為「作業」,RUP 談論的「構件」在 Summit Ascendant 中定義為「交付項目」,諸如此類。
UMA 對於 RUP 2003 使用者的改變
對於所有這些方法,由於只定義一套資料結構,尤其只定義一套專有名詞,妥協方案和變更必須得到所有關係人的認同。雖然這些變更可能讓目前的 RUP
使用者感到不便,但長期看來,一套普及統一的專有名詞及一套表達方法內容和流程的標準化方法,可以改善流程的溝通和促進重複使用性,確實有所幫助。下列清單彙總 RUP 2003 Meta 模型的最重要變更。本頁最後的表格完整比較 UMA
所有主要來源的專有名詞。
-
活動重新命名為作業:為了緊密連結流程制訂與專案管理,我們將最低的可指派工作單元重新命名為「作業」,因為這是最常用的詞彙。
-
工作流程明細重新命名為活動:工作流程經常以活動圖階層來表達 (例如,UML 2.0 定義的活動圖)。雖然 RUP 只提供一層工作流程分解,但 UMA
特別設計為提供多層的分解。由於「活動」這個字較常用來表達活動圖的元素及活動圖本身,我們決定將 RUP 中使用的「工作流程明細」改為「活動」。我們知道改變「活動」這個字的使用習慣可能造成現有的 RUP 使用者感到混淆。不過,UMA
工作的一項重要目標是以標準和業界最共通的方式來使用詞彙。
-
作業(原為 RUP 活動)可由許多角色來執行:在 RUP 2003 中,活動已建模成角色的作業。客戶意見、查看其他流程模型方法及 UML 2.0
的變更,指出這樣建立人類行為模型的方式太過於嚴苛。這種方式無法表達某些工作是由不同角色合作執行的結果。為了解決這個問題,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)
|
核對清單
|
工具輔助
|
工具輔助
|
|
工具指南
|
工具輔助
|
範本
|
範本
|
範本
|
範本
|
範本
|
報告
|
報告
|
|
|
|
預估
|
|
預估
|
預估考量
|
預估
|
範例
|
範例
|
|
參照項目/範例
|
|
藍圖
|
藍圖
|
路徑圖說明
|
|
|
詞彙定義
|
(名詞解釋)
|
(名詞解釋)
|
|
|
情境作法
|
|
|
|
|
|