業務流程模型與符號(BPMN)作為業務流程建模的行業標準。它提供了一種圖形化符號,所有業務利益相關者——從技術開發人員到業務分析師——都能理解。若缺乏共同語言,流程改進計畫往往因溝通誤解而停滯。本指南將剖析BPMN圖表的核心架構,專注於推動流程邏輯的三大支柱:事件, 網關,以及流程.
理解這些組件可讓組織精確地繪製複雜的工作流程。無論您是在記錄採購週期,還是協調客戶入職旅程,符號使用的精確性都能確保清晰度。我們將探討特定符號、它們的行為,以及使用它們的規則,而不涉及任何特定軟體工具。

1. 事件:觸發與結果 ⏱️
事件代表流程執行期間發生的某件事。它們以圓形表示。圓形邊框的粗細表示事件類型。事件本身不會孤立地開始或結束流程;它們標示流程中的一個動作或反應點。
1.1 三種事件狀態
事件根據其在序列中的位置和功能進行分類:
- 開始事件:標示流程的開始。它沒有任何流入的序列流。每個流程圖中至少必須有一個開始事件。若存在多個開始事件,則流程將由其中任意一個觸發。
- 中間事件:發生在開始與結束之間。它代表流程生命週期中的一個暫停或發生的事件。這些事件可以捕獲流入的觸發訊號,或發出流出的信號。
- 結束事件:標示流程的終止。一個流程可以有多個結束事件,以表示不同的結果(成功、失敗、取消)。
1.2 事件類型及其符號
事件的類型由圓形內部的圖標定義。邊框的粗細也提供視覺提示:細線代表一般事件,粗線代表與活動相關的邊界事件,雙線代表複雜或多重執行個體的情境。
| 事件類型 | 視覺指示 | 功能 | 常見使用情境 |
|---|---|---|---|
| 訊息事件 | 信封圖標 | 在參與者之間接收或發送訊息。 | 等待電子郵件回覆或發送發票。 |
| 計時器事件 | 時鐘圖示 | 根據時間或持續時間觸發。 | 註冊後3天發送提醒。 |
| 錯誤事件 | 驚嘆號圖示 | 處理系統或執行時錯誤。 | 結帳期間資料庫連接失敗。 |
| 信號事件 | 閃電圖示 | 在流程中廣播或捕獲信號。 | 觸發多個工作流程的全域警示。 |
1.3 边界事件
邊界事件是一種特殊形式的中間事件,附著於活動的一側。它們允許中斷正在進行的活動。
- 中斷型邊界事件: 當事件發生時,會取消其附著的活動。例如,如果計時器邊界事件觸發,任務會立即停止。
- 非中斷型邊界事件: 當事件發生時,活動會繼續平行運行。這對於記錄或通知目的非常有用,而無需停止核心任務。
例如,在貸款審核流程中,如果申請人提交了缺失的文件,邊界事件可能會觸發。審核任務會繼續進行,但同時會向申請人發送通知。
2. 網關:決策點 🚦
網關控制流程中路徑的分叉與匯合。它們以菱形表示。網關本身不執行工作;它們根據條件或令牌的存在來引導流程。
2.1 排他性網關(XOR)
排他性網關是最常見的決策點。它代表一個只能選擇一條路徑的選擇。它作為邏輯 或.
- 邏輯: 如果條件 A 為真,則遵循路徑 A。如果條件 B 為真,則遵循路徑 B。只有一條路徑處於活躍狀態。
- 視覺呈現: 內部帶有「X」的菱形。
- 範例: 用戶提交表單。如果資料有效,則繼續儲存。如果無效,則顯示錯誤。兩者不能同時發生。
2.2 平行網關(AND)
平行網關會同時分割或合併流程。它代表一個邏輯AND。所有外出的路徑會同時啟動,且所有進入的路徑都必須完成後,網關才會繼續進行。
- 邏輯: 如果路徑 A 和路徑 B 被觸發,兩者會同時執行。
- 視覺: 一個內部帶有加號(+)的菱形。
- 範例: 購買確認後,發送電子郵件收據並更新庫存系統。這兩個任務會同時發生。
2.3 包含網關(OR)
包含網關允許根據條件選擇一條或多條路徑。它比排他網關更具彈性。
- 邏輯: 如果條件 A 滿足,則走路徑 A。如果條件 B 滿足,則走路徑 B。如果兩者都滿足,則兩條路徑都走。
- 視覺: 一個內部帶有『O』的菱形。
- 範例: 客戶符合折扣資格。他們可能會收到簡訊、電子郵件,或兩者都收到,取決於其偏好。
2.4 事件驅動網關
此網關等待事件發生,而非條件滿足。它通常用於有多種可能結果的情境中,流程必須對最先發生的事件做出反應。
- 邏輯: 流程會等待。如果事件 A 發生,則向左走;如果事件 B 發生,則向右走。一旦選擇一條路徑,另一條路徑就會被取消。
- 視覺: 一個內部帶有圓圈的菱形。
- 範例: 等待客戶回覆。如果他們在24小時內回覆,則繼續撥回電話。如果未回覆,則發送提醒。
3. 流程與活動:工作 🔄
雖然事件和網關控制邏輯,但流程與活動代表實際執行的工作。理解序列流程與訊息流程之間的差異,對於準確建模至關重要。
3.1 序列流程
序列流程定義單一流程實例中活動的順序。它們以實線箭頭表示。
- 方向:流程從上到下,從左到右。
- 用途:連接同一池內的事件、網關和活動。
- 標籤:條件應標示於網關的輸出路徑上,以明確邏輯。
3.2 消息流
消息流代表參與者(池)之間的資訊交換。它們以虛線箭頭表示,起點為開放圓圈,終點為開放箭頭。
- 方向:表示通信的方向。
- 用途:連接不同的池或泳道。無法連接同一池內的兩個活動。
- 情境:用於顯示一個部門的流程正在等待另一個部門的回應。
3.3 活動與任務
活動是執行的工作,以圓角矩形表示。
- 使用者任務:由人類執行的工作。需要手動介入。
- 服務任務:由自動化系統或後端服務執行的工作。無人類互動。
- 腳本任務:由腳本或程式碼片段定義的邏輯。
- 發送/接收任務:發送或接收訊息而不等待回應(非同步)。
3.4 子流程
複雜的流程可拆分為子流程,以維持圖表的可讀性。
- 收縮的子流程:以帶有加號的單一方框顯示任務,詳細資訊被隱藏。
- 展開的子流程:在相同圖表中顯示任務的內部邏輯。
- 呼叫活動: 參考其他地方定義的可重用流程定義。
4. 結構與容器 🧩
整理圖表與使用的符號同等重要。BPMN 使用容器來邏輯性地分組元素。
4.1 池與泳道
池代表流程中的參與者。單一池代表一個組織。多個池表示多個組織之間的互動。
- 池: 流程的矩形容器。
- 泳道: 將池劃分為子類別,通常代表角色、部門或系統。
例如,「客戶入職」流程可能包含「銷售」、「IT支援」和「財務」等泳道。任務應放置於負責該任務的泳道中。
4.2 數據對象
數據對象代表流程中創建或消耗的資訊。它們以帶有摺角的頁面形式呈現。
- 用途: 連接到任務,以顯示輸入或輸出。
- 範例: 「合約」文件附加到「審核合約」任務上。
4.3 文字註解
註解允許作者在不混亂流程的情況下為圖表添加註釋或說明。它們以帶有文字行的文件形式表示。
- 用途: 澄清複雜規則,或為特定任務提供背景資訊。
- 最佳實務: 慎用以避免圖表混淆。
5. 提升可讀性的最佳實務 📝
一個構建良好的BPMN圖表應能自我說明。構建不佳的圖表會造成混淆,並需要不斷的口頭解釋。
- 保持線性: 儘量讓流程從左到右或從上到下流動。避免線條交叉。
- 符號使用的一致性: 不要隨意混合網關。如果網關分岔路徑,請確保條件清晰明確。
- 限制複雜度: 如果圖表過於龐大,請使用子流程或呼叫活動來進行拆分。
- 清晰的標籤: 每個從閘道器離開的序列流都應有標籤(例如:「是」、「否」、「狀態:已批准」)。
- 平衡閘道器: 每個分叉閘道器最好都應有對應的合併閘道器,以確保流程能回到單一流程。
6. 常見陷阱,應避免 ⚠️
即使經驗豐富的建模人員也可能引入錯誤。了解常見錯誤有助於維持高品質的文件。
- 懸空流: 每個元素都應相互連接。沒有任何流入或流出的活動會成為死路。
- 孤兒閘道器: 一個只分叉但從不合併的閘道器,可能導致多個難以追蹤的終止狀態。
- 任務中的複雜邏輯: 不要在任務框內放置複雜的決策邏輯。應使用閘道器來處理決策。
- 訊息流混淆: 確保訊息流僅跨越泳道邊界。序列流不應跨越泳道邊界,除非它們代表特定的整合。
7. 精確建模的影響 📊
投入時間進行精確的BPMN建模會帶來實質成果。這能減少開發團隊中的模糊性,並使業務期望保持一致。
- 效率: 當流程被正確地視覺化時,識別瓶頸會變得更容易。
- 合規性: 法規要求可直接對應到特定的任務和閘道器。
- 自動化: 清晰的邏輯路徑讓自動化工具能在無需人工干預的情況下執行流程。
- 溝通: 利益相關者可以審閱圖表並理解流程,而無需進行簡報。
8. 元件總結 🏁
總結一下,BPMN的核心在於特定元素之間的互動:
- 事件: 開始、中間、結束。它們觸發並結束動作。
- 閘道器: 排他性、平行性、包容性、基於事件的。它們控制分支與合併。
- 流程: 序列與訊息。它們定義路徑與互動。
- 活動: 任務、子流程。它們代表工作內容。
- 容器: 池與泳道。它們組織範圍。
掌握這些元件需要練習。從簡單的線性流程開始,接著引入閘道進行決策,最後加入事件以應對外部觸發。隨著複雜度增加,使用標準符號的紀律能確保模型對組織而言仍具有效性和實用性。
遵循這些標準,團隊能建立穩固的流程改進基礎。符號是一種提升清晰度的工具,而不僅僅是文檔記錄。當每位利害關係人都能理解圖表時,優化之路便變得清晰明確。













