摘要:針對UML對數據和信息流描述缺乏充分表達業務工作流程的問題,借助新創建的活動圖,提出了基于擴展UML活動圖的工作流過程建模方法。應用實例表明,擴展的UML活動圖對工作流程的語義表達更豐富,更準確地描述工作流建模所需表達的內容,以滿足工作流過程建模的要求。
關鍵詞:統一建模語言; 統一建模語言活動擴展圖; 工作流建模
中圖分類號:TP311文獻標志碼:A
文章編號:1001-3695(2007)12-0244-02
0引言
根據工作流管理聯盟(Workflow Management Coalition,WfMC)的定義[1],工作流是自動動作的業務過程的部分或整體,是一系列相互銜接、自動進行的業務活動或任務。目前,工作流過程建模方法很多,如支持Ad hoc工作流的框架[2]、基于Petri工作流模型[3],以及面向角色的工作流建模[4,5]、功能語言IDEF系列[6]等。絕大部分建模方法都是基于圖型的工作流建模。其優點是直觀、易于理解,但卻難以處理復雜的過程邏輯,缺乏柔性。
統一建模語言[7]統一了各種建模語言的標準,具有面向對象、表達能力強、易學易用等優點,因此獲得了業界的廣泛支持。尤其是UML活動圖,融合了多種系統建模技術的思想,如ADL狀態建模技術、Petri網等,適合于描述工作流和并發處理行為。UML活動圖特別適合于動態建模。但活動圖不同于USE-CASE圖。USE-CASE是面向對象的;活動圖是不面向對象的,它對業務過程流動的表達并不完備。本文提出了一種基于擴展的UML活動圖的工作流過程建模方法。
1工作流過程元模型
根據工作流管理聯盟的定義,工作流過程模型包括啟動和結束的條件、組成的活動、活動間導航的準則、參與其中的用戶和工作流相關數據的定義等。在計算機上可以并行執行工作流模型,并分析過程模型的性能。
工作流建模有兩方面的工作:a)建立元模型。描述過程模型中各個對象及其間的關系與屬性,以便用于多個工作流之間的信息交換。b)定義工作流管理系統之間以及管理系統與建模工具之間交互過程模型的API接口。圖1為工作流管理聯盟定義的過程元模型[8]。
在工作流中還定義了任務的觸發順序和觸發條件。可以用五個視圖來概括工作流技術建模的過程,即過程視圖、組織視圖、數據視圖、交互視圖和資源視圖,如圖2所示。
2UML活動圖及其擴展
2.1UML活動圖基本元素的局限性
原UML活動圖包含下列基本元素:活動、動作流、泳道、對象流。此外,初始狀態、終結狀態、判定(分支)、合并、分劈等也是常用的圖形元素和符號,如圖3所示。
UML活動圖有圖形化描述、支持信息流表示和表達能力較豐富等諸多優點;但UML的事件觸發機制有限,與外界環境的交互能力較差,表示的信息流單調、籠統,不完全支持對業務過程的抽象和細化,應用范圍有限。
2.2UML活動圖的元素擴展
針對上述問題,對UML活動圖加以適當的擴展,以便更好地用于工作流領域的業務建模是有必要的。以下是新定義的擴展元素。
1)事件元素事件是指驅使當前狀態發生變化的活動。可以將事件理解為一種外部活動,它的發生與業務過程本身無關,只與外部環境有關。在擴展UML活動圖中,事件的圖形符號如圖4所示。
〈事件〉說明“元素的類型”是一個事件。其具體內容可以通過事件名表示。它與UML原有的路由結構相結合,可用于描述在活動觸發和轉移時與外部信息的交互。
2)活動觸發轉移是指在活動圖中一個活動的結束(完成),另一個活動的開始。在UML中,活動的轉移是自動進行的,但是現實世界中活動的轉移往往需要外部信息或事件觸發,特別在對高層、大粒度的業務過程建模時,更是如此。為此,對原路徑的表達加以擴充,可在UML活動圖中增加事件元素、分支條件元素、條件判斷結果元素,如圖5所示。
例如:客戶向供應商訂貨時,當供應商完成訂貨合同后,并不會立即進行付款處理(假如前提是貨到付款),必須等待供應商供應的貨物到達,如圖6所示。
3)數據信息它是企業業務過程的重要組成部分,建模實質上是對工作流過程活動中所需永久保存數據的建模,即如何格式化、高效的保存數據等。在此描述兩類數據信息,即永久保存數據和活動間的數據信息。數據流元素和數據對象元素的表示符號分別如圖7和8所示。
在擴展UML活動圖中,當某個活動需要由永久數據讀取數據信息時,可通過一條由數據對象到活動的虛線的有向線段描述。當某個活動需要將結果數據永久保存或修改已存在的永久數據時,可通過一條由活動到數據對象的虛線有向線段描述,如圖9所示。
在活動圖中,如果在一個活動到另一個活動的變遷弧上無信息,則該變遷弧為控制流;如果在箭頭上有信息,則表示數據流和控制流一起向箭頭方向轉移。
3擴展活動圖在工作流建模中的應用
下面以某生產廠家從客戶訂貨到向客戶銷售發貨的過程為例說明擴展UML活動圖的應用。該工作流程包括六個活動,即訂單管理、庫存管理、制訂計劃、生產管理、發貨管理和客戶置信度管理。
如圖10所示,當客戶有訂貨時,進入訂單管理業務系統。該系統對客戶訂貨信息進行一系列的確認操作,同時產生訂貨單數據對象,它的屬性分別是訂貨單號、商品信息、訂貨量等。隨著訂單管理系統執行的結束,分劈為兩個并行的活動,即庫存管理系統和客戶置信度管理系統。庫存管理系統根據庫存量與訂貨量的關系,決定是否進入制訂計劃系統和生產管理系統;同時,客戶置信度管理系統也在進行客戶置信度的審核,如果客戶的置信度不符合要求,就不進行發貨并結束處理。反之,當客戶具有較高置信度,并且庫存中有足夠的商品量時,就可以進入發貨管理系統,發貨管理需要讀取客戶的訂貨單數據對象,訂貨單數據對象具有訂貨單號,訂貨量等相關屬性。發貨管理系統還應產生出貨單數據對象,出貨單數據對象具有出貨單號、出貨數量等相關屬性,并進行相應的處理,如修改商品庫存等,發貨完畢,即終止本次活動。
4結束語
應用實例表明,對UML活動圖的擴展,可豐富描述業務元素的多樣性,克服了原有事件表達方式的不足,使工作流模型表達的含義更豐富、更細致。
參考文獻:
[1]WfMC. WFMC-TC-1003, The workflow reference model[S]. 1995.
[2]REICHERT M, DADAM P. A framework for dynamic changes in workflow management systems[C]//Proc of the 8th International Workshop on Database and Expert Systems Application. Washington DC: IEEE Compute, 1997:42.
[3]谷建鑫,仇建偉.基于Petri網的工作流模型[J].計算機工程與設計,2005,26(2):513-515.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”