介紹
比起業務分析與建模來,UML在過去與軟件工程和系統設計的聯系更加緊密。並且,UML2.X標准提供了豐富的行為模型,這對於過程、活動、及對每一個業務都重要的人與信息等的建模非常有用。
除標准的UML規范外,還有兩個備受關注的UML擴展,它們進一步強化了對業務過程和相關結構的建模。第一個是業務過程建模標注,它已經廣受歡迎,並迅速成為業務過程建模與設計的新標准。第二個是 Eriksson-Penker Profile,雖然不那么流行,但在可視化、業務過程間通信、以及企業(組織)內部的信息流方面,仍然是獨一無二的。
本文將對這兩種擴展提供深入介紹,闡述如何在Enterprise Architect 中使用它們以及他們所用的通用模型結構。
業務過程建模標注(BPMN)
BPMN 定義了一種業務過程圖(BPD),該圖是基於一種專門繪制流程圖技術,用於業務過程的圖形化建模。無論是創建業務過程草圖的業務分析師,還是負責實現這個過程的技術開發人員,或者管理、監督業務過程的相關人員,所有的業務人員都容易理解這種標柱。
一個BPMN 模型是由一組簡單圖構成,每一個圖又包含一組圖形元素。
流程元素
- 活動(Activity):一個活動是業務過程中執行的一個作業,用圓角矩形表示。
- 事件(Event):一個事件是在業務過程的流程中發生的,並影響業務過程中活動的執行順序與執行時間的事情。事件用帶有不同邊界的小圓表示,以區別初始事件(細實線)、中間事件(雙實線)和終止事件(粗實線)。在圖形內部顯示圖標以便於區分觸發器和事件結果。
- 關口(Gateway):關口用來控制順序流如何在過程內進行合並和分岔。關口可用來表示判斷點,可以表示一個或多個路徑在此處不能通過。關口也可以表示一條路徑在此分岔。
- 順序流:順序流用來表示活動在業務過程中的執行順序。順序流用有實箭頭的線表示。
- 消息流:一個消息流用來表示兩個實體之間的消息流向。實體用池來表示,消息用虛線在源端連接淺顏色的圓並在目標端連接箭頭。
- 關聯:關聯是用流對象將信息與制品聯系起來。關聯采用虛線表示並在目標端有或者沒有箭頭,根據需要而定。
泳道 (分割)
- 泳池:表示一個業務過程中的參與者。一個參與者可能是業務實體或者角色。泳池表示了對業務過程的一種划分。
- 泳道:是泳池的再划分,用於組織和分類泳池內的活動。
過程要素
- 數據對象:一個數據對象對一個業務過程沒有直接的影響,但提供信息給相關的過程。數據對象用一個上角折疊的矩形來表示。
- 組:組提供了對過程內的元素進行分組的非正式手段,用虛線的矩形表示。
- 注解:注解提供一種機制使得BPMN的模型建立者為BPMN模型的用戶提供附加信息。它是用一個開口的矩形表示,注解文字寫入其中。
BPMN 示例
例 1:
上面的圖展示了BPMN的幾個主要功能。特別是將一任務過程進行層次分解成較小的任務。以及能表示循環結構和外部事件干擾正常過程流程。
"上行活動"和"下行活動"是連接觸發的中間事件,換句話說,是頁面間承上啟下的連接器。
"對每個供應商重復執行" 是一循環活動,它對每一個供應商重復執行所包含的三個活動,或者直到時間限制已到。固定在活動下邊沿的終止事件是一時間事件觸發器。
例 2:
上面的圖表示一個業務過程由一個事件開啟,在本例中,一個消息觸發器產生一個事件,該事件通知業務過程活動組處於活動狀態。該圖也顯示一個由時間事件控制的循環,並顯示一個決策關口(在本例中是“異或” 決策關口)控制什么時候循環該結束。
例 3:
該圖例示使用泳池來表達過程間的交互以及使用消息流連接器來表示消息在泳池間進行傳遞的方法
Eriksson-Penker 業務建模 Profile
本節介紹業務過程模型所使用的術語與圖標。並簡要介紹一些基本UML建模語言概念以及如何在EA的業務過程建模中如何使用它們。
一個業務過程:
- 有一個目標
- 有指定的輸入
- 有指定的輸出
- 使用資源
- 有按某種順序進行的一組活動
- 可能影響多個組織單元 ,造成橫向組織影響
- 為客戶創造某種價值,客戶可能是內部的,也可能是外部的。
過程模型
一個業務過程是一個活動的集合,用於為特定的客戶或市場產生指定的輸出。與產品所強調的“過程是什么”不同,業務過程強調作業在組織內部是如何進行的。指定在不同時間和地點的作業活動順序,帶有一個開始和一個結束,並清楚地定義輸入和輸出:一個動作結構。
始於對象信息供應鏈。供應鏈是指連接到過程的信息或對象在處理階段沒有被使用完。例如,訂單模板可能重復使用,並提供特定樣式的新訂單。作為這個活動的一部分,這個模板不會更改和被消耗光。
- 始於對象資源的供應鏈: 一個輸入供應鏈是指所連接的對象或資源將在處理過程中被消耗。例如,當消費者的訂單在被處理后,它們將標記為完成並簽字,並且每個資源僅使用一次。
- 終於對象目標的目標鏈: 一個目標鏈是指連接到業務過程的對象描述業務過程的目標。目標是執行活動的業務宗旨。
- 對象流連接對象輸出
- 始於事件的對象流:一個對象流連接是指在一個業務過程一些對象被傳遞。它強調對在實體之間或過程之間所傳遞信息的控制。
目標
一個業務過程有一些定義完備的目標。這也是組織制定業務過程的原因所在。並且這些目標的制定代表組織的整體利益和滿足組織的業務需要。
業務過程始於過程的目標鏈:一個目標鏈是指連接到業務過程的對象用於描述該過程的目標。目標是執行活動的宗旨。
信息
業務過程使用信息執行和完成它們的活動。信息不象資源,在過程中是不可消費的,它被用來做過程轉換。信息或許來自外部,或許來自客戶,或來自內部組織,甚至是其它過程所產生。
連接到業務過程的信息項:一個供應鏈是指連接到過程的信息和對象在處理階段不會被使用完。例如,訂單模板可能一用再用,一提供某種特定類型的新訂單。作為該活動的一部分,模板是不會改變或耗盡的。
輸出
典型地,一個業務過程將產生一個或多個多業務有價值的輸出,輸出可能供內部使用,也可能是為了滿足外部需求。輸出可能是物理對象(如一份報告或者發票),可是一種從原始資源到安排的轉換,也可能是一個全體的業務處理結果,如完成處理一份訂單請求。
一個業務過程的輸出可能是下一個業務過程的輸入,或者作為請求項或觸發項來觸發新活動。
資源
資源是一個業務過程的輸入,並且不像信息,在業務過程處理中要被消耗。例如:火車每天運行服務和實況記錄,服務資源將隨着處理記錄火車運行時刻的不斷進行而被用完。
連接到業務過程的資源:一個輸入連接是指所連接的對象或資源在處理過程中被消耗。例如:當消費者的訂單在被處理后,它們將標記為完成並簽字,並且每個資源(訂單)僅使用一次。