簡介
在複雜的業務運作世界中,清晰至上。無論您是簡化內部工作流程、定義合作夥伴之間的互動,還是自動化服務,您都需要一種通用語言,以填補業務利害關係人與技術實施者之間的鴻溝。現在,讓我們來看看BPMN(業務流程建模與標記法).

BPMN 是一種用於在業務流程圖中指定業務流程的標準化圖形標記法。由對象管理組(OMG)維護,它提供了一套豐富的符號,能夠精確地建模工作流程,其能力遠超簡單的流程圖或 UML 活動圖。本指南作為 BPMN 的全面教程,涵蓋其核心元素、事件類型、閘道、任務,以及編排、協作與合作之間的重要區別。
1. 核心概念:什麼是 BPMN 圖?
BPMN 圖使用一套特定的標記法來描繪業務流程。雖然與流程圖相似,但 BPMN 提供了更豐富的語義,專門為業務流程領域設計。
主要有三種 BPMN 圖,每種圖適用於不同的抽象層級:
-
BPMN 對話圖:參與者之間通信的高層視圖。
-
BPMN 協作圖:顯示兩個或多個業務實體(泳道池)之間的互動。
-
BPMN 編排圖:專注於參與者之間訊息交換的順序。
關鍵符號概覽
要構建這些圖,BPMN 使用了幾類符號:
-
泳道:泳道池與泳道,用於組織職責。
-
活動:任務、交易、子流程及呼叫活動。
-
閘道:控制流程分支的決策點。
-
事件:流程的開始、中間與結束點。
-
資料:輸入、輸出、儲存與物件。
-
流程:序列流程、訊息流程與資料關聯。
-
工件:用於組織的群組與文字註解。
2. BPMN 事件:流程的觸發器
事件是發生在過程中的事物。它們以圓形表示,並根據其在流程中的位置及行為進行分類。
依位置分類的事件類型
-
開始事件:以標準寬度的線條表示。它們觸發流程的開始。
-
中間事件:以雙重標準寬度的線條表示。它們發生在活動之間。
-
結束事件:以寬邊框表示。它們標誌著流程路徑的結束。

中斷式與非中斷式邊界事件
邊界事件附著於活動(任務)的邊界上。它們定義了當活動進行中時,流程如何回應外部刺激。
-
中斷式:若事件發生,當前活動將立即停止,且流程將遵循該事件的流向。
-
非中斷式:若事件發生,當前活動將繼續進行。一旦活動完成,流程將分岔,同時繼續標準路徑與事件特定路徑。
拋出式與捕捉式事件
-
拋出事件:觸發事件(例如,發送訊號或訊息)。
-
接收事件:等待並回應已觸發的事件。
事件組合完整清單
並非所有開始/中間/結束與發送/接收的組合皆有效。以下為 BPMN 中定義的有意義組合。
BPMN 開始事件
-
補償開始事件(中斷型)
-
條件開始事件(中斷型與非中斷型)
-
錯誤開始事件(中斷型)
-
升級開始事件(中斷型與非中斷型)
-
訊息開始事件(中斷型與非中斷型)
-
多重開始事件(中斷型與非中斷型)
-
平行多重開始事件(中斷型與非中斷型)
-
訊號開始事件(中斷型與非中斷型)
-
計時器開始事件(中斷型與非中斷型)
BPMN 中間事件
-
訊息:接收、發送、中斷型邊界接收、非中斷型邊界接收。
-
計時器:接收、中斷型邊界接收、非中斷型邊界接收。
-
升級:中斷型邊界接收、非中斷型邊界接收。
-
條件:接收、中斷型邊界接收、非中斷型邊界接收。
-
連結:接收、發送。
-
錯誤:中斷型邊界接收。
-
取消:中斷型邊界接收。
-
補償: 中斷邊界捕捉、拋出。
-
訊號: 捕捉、中斷邊界捕捉、非中斷邊界捕捉、拋出。
-
多重: 捕捉、中斷邊界捕捉、非中斷邊界捕捉、拋出。
-
多重並行: 捕捉、中斷邊界捕捉、非中斷邊界捕捉。
BPMN 結束事件
-
無結束事件
-
訊息結束事件
-
訊號結束事件
-
多重結束事件
-
上報結束事件
-
錯誤結束事件
-
補償結束事件
-
取消結束事件
-
終止結束事件
3. BPMN 閘道:控制工作流程
閘道是控制序列流程分叉與匯聚的決策節點。它們以內部帶有特定標記的菱形表示。

閘道類型
-
排他性閘道(XOR):
-
符號: 空菱形或帶有「X」的菱形。
-
功能: 作為決策點。僅有一條 條 outgoing 路徑會根據條件被選取。若未滿足任何條件,則使用預設流程(若已定義)。類似於
if-else語句。
-
-
基於事件閘道:
-
符號: 帶有包含五角星的圓圈的菱形。
-
功能: 類似於排他式,但分支的選擇是基於哪個事件先發生,而非評估資料條件。
-
-
包容式閘道(OR):
-
符號: 內部帶有圓圈「O」的菱形。
-
功能: 允許多條 條 outgoing 路徑在各自條件滿足時同時執行。它也能合併多條 incoming 路徑。
-
-
並行閘道(AND):
-
符號: 內部帶有加號「+」的菱形。
-
功能: 將流程分割為並行 路徑(所有路徑都會執行)。在合併時,它會等待所有 條 incoming 路徑完成後才繼續。相當於 UML 中的 Fork/Join。
-
-
並行基於事件閘道:
-
符號: 帶有包含加號「+」的圓圈的菱形。
-
功能: 將流程分割為由特定事件觸發的並行流程。
-
-
複雜閘道:
-
符號:內部帶有星號「*」的菱形。
-
功能:用於無法由其他閘道器建模的複雜決策情境。由內部參數定義。注意:較少使用;通常建議結合其他閘道器。
-
4. BPMN 任務:工作單位
任務是流程中的基本活動,以圓角矩形表示。任務的具體類型由左上角的圖示標示。

任務類型
-
抽象任務:無特定子類型的通用任務。
-
業務規則任務:執行一項或多項業務規則。
-
手動任務:由人類以實體方式執行,無需軟體自動化。
-
使用者任務:由人類使用者執行,可能借助軟體應用程式。
-
接收任務:等待訊息到達。收到後完成。
-
發送任務:將訊息發送給外部參與者。發送後完成。
-
腳本任務:包含由流程引擎執行的腳本。
-
服務任務:透過服務、網路服務或應用程式模組進行自動化處理。
5. 子流程與交易
子流程支援階層式建模,透過隱藏複雜性保持圖表清晰。
-
子流程:嵌套的流程。它可以是摺疊(底部顯示為小加號方塊)或展開(顯示所有內部節點)。
-
臨時子流程:其內的活動可以以任何順序執行、多次執行,或完全跳過。
-
事件子流程:由特定事件觸發。根據事件類型,它可與主流程並行執行,或終止主流程。
-
事務:一組必須同時成功或失敗的活動。結果包括成功、錯誤(風險)或取消。
6. 流程與連接器

連接器定義圖形內的關係與移動路徑。
-
順序流程:帶有箭頭的實線。按執行順序連接活動。
-
條件流程:僅在條件為真時執行。
-
預設流程:「否則」分支,當其他條件均未滿足時執行。
-
-
訊息流程:虛線,起始端為空心圓圈,末端為箭頭。代表不同泳道(參與者)之間的通訊。
-
關聯:點線。將工件(如文字註解)連結至流程物件。
-
資料關聯:帶有箭頭的點線。將資料物件連結至活動。
7. BPMN 資料元素
資料元素代表在流程中傳遞或儲存的資訊。
-
資料物件:系統各部分之間傳遞的資訊。
-
資料物件集合:一系列資料物件。
-
資料輸入/輸出:流程所需或產生的外部資料。
-
資料儲存:存在於流程生命週期之外的永久儲存(例如:資料庫)。
8. 泳道:組織職責
泳道依參與者與角色來組織圖表。
-
池:代表主要參與者(例如:公司、部門或系統)。一個圖表可包含多個池。
-
泳道:池內的子分類。泳道代表該參與者內部的特定角色、部門或系統。
9. BPMN 編排 vs. 編舞 vs. 協作
理解模型的範圍至關重要。BPMN 區分私有內部流程與公開的跨組織互動。
公開流程 vs. 私有流程
-
私有(內部)流程:單一實體內的詳細流程。
-
公開流程:描述合作夥伴之間的互動。內部細節視為「黑盒子」,僅關注交換的訊息與物件。
三大類別
1. 編排
-
定義:標準流程,模擬單一協調觀點。
-
範圍:單一商業實體內(單一池)。
-
使用案例:內部工作流自動化。
2. 協作
-
定義:顯示兩個或多個商業實體之間的互動。
-
範圍:多個池透過訊息流程連接。
-
結構:可顯示池內的詳細流程,或將其視為黑盒子。

3. 編舞
-
定義: 嚴格專注於訊息交換 參與者之間的互動,而非內部任務。
-
範圍: 無泳道。參與者嵌入在任務形狀內。
-
使用案例: 定義組織間互動的「契約」。
編排符號的演進
-
BPMN 1.1: 編排與調度混合在一起,缺乏專屬符號。

-
BPMN 2.0: 引入專屬的編排圖。
編排任務
編排任務定義互動。它們包含:
-
發起參與者: 以彩色標示。
-
非發起參與者: 以灰色標示。
-
訊息: 定義發起訊息與可選的回應訊息。


範例:診所流程
顯示患者與診所之間的互動。發起者的顏色會根據誰啟動互動而改變。

範例:管理資訊系統(MIS)

BPMN 對話圖
最高層次的抽象。它完全移除流程邏輯,僅顯示誰與誰對話.
-
元素: 泳道、對話節點(六邊形)與對話連結(雙線)。
-
檢視: 「30,000 英尺視角」的溝通。
範例:MIS 對話
此圖將先前的協作簡化為高階對話區塊。

結論
BPMN 是一種強大且標準化的語言,能夠促進業務與技術邊界之間的清晰溝通。透過掌握以下概念之間的區別:編排(內部控制)、協作(多方互動),以及協作(訊息合約),您便能為您的受眾以適當的詳細程度來建立流程模型。
無論您是記錄簡單的核准工作流程,還是設計複雜的多組織供應鏈,BPMN 都能提供所需的嚴謹性與靈活性。要有效建立這些圖表,善用專業工具至關重要。Visual Paradigm提供一套強大的 BPMN 建模工具套件,支援本指南中討論的所有圖表類型,從詳細的編排流程到高階對話地圖。使用此類工具可確保符合 BPMN 2.0 標準,並促進利害關係人之間更輕鬆的協作。












