BPMN2.0十分鐘就夠了

BPMN(Business Process Modeling Notation)是一種流程建模的通用和標準語言,用來繪製業務流程圖,以便更好地讓各部門之間理解業務流程和相互關係,旨在促進業務流程的溝通和理解。

BPMN 2.0 只要瞭解以下 三個基本建模元素,就能掌握BPMN2.0的核心。


一、基本概念介紹


1. 事件 (Event)

三種主要類型的事件:

1. 開始 - 表示一個流程的開始。
2. 中間 - 發生的開始和結束事件之間,影響處理的流程。
3. 結束 - 表示該過程結束。

注意:如果您添加一個信封的圖標給上述任何某個事件,那你將觸發一個消息事件。即可以是由一個消息的到達而啓動一個進程,也可以是在中間的某個位置與中間事件中發送一個消息(或捕獲消息),或者可以在一個過程結束時發送的消息。


2. 活動 (Activity)

活動是工作或任務的一個通用術語。首先,一個活動可以是一個任務,或者它可以是一個當前流程的子處理流程; 其次,你還可以指定不同類型的活動。

例如,任務可以是需要人工完成的任務,也可以自動完成的任務,比如由腳本完成的任務,或服務任務(交由web服務器處理的指令)。



3. 網關 (Gateway)

網關用來處理決策,有兩種常用網關需要了解:

• 排他網關 (x) ——只有一條路徑會被選擇。

    流程執行到該網關時,按照輸出流的順序逐個計算,當條件的計算結果爲true時,繼續執行當前網關的輸出流;

    如果多條線路計算結果都是 true,則會執行第一個值爲 true 的線路。如果所有網關計算結果沒有true,則引擎會拋出異常。

    排他網關需要和條件順序流結合使用,default 屬性指定默認順序流,當所有的條件不滿足時會執行默認順序流。


• 並行網關 (+) ——所有路徑會被同時選擇。

    拆分 —— 並行執行所有輸出順序流,爲每一條順序流創建一個並行執行線路。

    合併 —— 所有從並行網關拆分並執行完成的線路均在此等候,直到所有的線路都執行完成才繼續向下執行。

    image.png

• 包容網關 (+) —— 可以同時執行多條線路,也可以在網關上設置條件

    拆分 —— 計算每條線路上的表達式,當表達式計算結果爲true時,創建一個並行線路並繼續執行

    合併 —— 所有從並行網關拆分並執行完成的線路均在此等候,直到所有的線路都執行完成才繼續向下執行。


• 事件網關 (+) —— 專門爲中間捕獲事件設置的,允許設置多個輸出流指向多個不同的中間捕獲事件。當流程執行到事件網關後,流程處於等待狀態,需要等待拋出事件才能將等待狀態轉換爲活動狀態。


4、子流程和調用活動 

子流程是嵌入在主流程中,可以被主流程或其他流程通過ID調用,即不用重複畫出子流程的細節;

子流程的限制:

1)只能且僅能包含一個空啓動事件

2)至少要有一個結束事件

3)子流程中順序流不能直接設置輸出流到子流程之外的活動上,如果需要可以通過邊界事件代替。

5、描述性建模符號

泳道(Pool):代表流程中的參與者,用來對活動進行組織和分類;

泳池 (Lane):泳道里的一個子劃分;

信息流(message flow):虛線表示;

數據對象和倉庫;

文本註釋;


總結

下圖就是本文所介紹的最常用的BPMN符號了。掌握了這些,就可以理解或者設計出大部分的工作流程和業務流程圖了。

二、BPMN2.0流程示例

BPMN2.0爲所有業務元素定義了標準的符號,不同的符號代表不同的含義,以OA應用中請假流程爲例,使用標準的BPMN2.0圖元定義示意如圖:

在上述的流程示意圖中,所涉及到的執行語義圖元主要有8類:

除了上述標準的BPMN2.0圖元外,上述流程圖還使用了泳道(業務部門、人力資源部、考勤系統),分別表示流程活動所涉及到的部門或角色。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章