BPMN2.0十分鐘就夠了

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

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


1、基本概念介紹ide


1. 事件 (Event)spa

三種主要類型的事件:
設計

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

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


2. 活動 (Activity)blog

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

例如,任務能夠是須要人工完成的任務,也能夠自動完成的任務,好比由腳本完成的任務,或服務任務(交由web服務器處理的指令)。事件



3. 網關 (Gateway)

網關用來處理決策,有兩種經常使用網關須要瞭解:

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

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

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

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


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

    拆分 —— 並行執行全部輸出順序流,爲每一條順序流建立一個並行執行線路。

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

    image.png

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

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

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


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


四、子流程和調用活動 

子流程是嵌入在主流程中,能夠被主流程或其餘流程經過ID調用,即不用重複畫出子流程的細節;


子流程的限制:

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

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

3)子流程中順序流不能直接設置輸出流到子流程以外的活動上,若是須要能夠經過邊界事件代替。


五、描述性建模符號

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

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

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

數據對象和倉庫;

文本註釋;


總結

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

2、BPMN2.0流程示例

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

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

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

相關文章
相關標籤/搜索