2019年11月4日

BPMN: Business Process Model and Notation

BPM(Business Process Modeling) 是將企業運作流程建模,標準化,讓系統整合的層次由 IT 進入商業領域。關於 BPM 的標準很多:

  • OASIS 的WS-BPEL(Business Process Execution Language for Web Services)
  • BPMI協會的BPML(Business Process Modeling Language)和BPMN(Business Process Modeling Notation)
  • W3C的WS-CDL(Web Services Choreography Description Language)
  • WfMC協會的XPDL(XML Process Definition Language)
  • OMG的MDA(Model-Driven Architecture)

業務流程模型和標記法(BPMN: Business Process Model and Notation)是以圖形及符號描述業務流程的示意圖。最初由 BPMI, Business Process Management Initiative 發展,後來與 OMG 合併,2011/1 發布 BPMN 2.0 版。

BPMN 跟 UML 的 Activity Diagram 及傳統的 Flow Chart 很接近,可將特定的業務流程圖形化,讓大家能快速了解複雜的業務流程。BPMN 有圖形化標記規範,同時可轉換為 BPEL (Business Process Execution Language),這是一種描述業務流程的 XML。

BPMN

BPMN 僅限於支援業務流程方面的 Modeling,以下這些項目,不屬於 BPMN 的範圍:

  • 組織架構
  • 職能分析
  • 資料建模
基本要素
  1. Flow Object
    Events, Activities, Gateways
  2. Connecting Object
    Sequence Flow, Message Flow, Association
  3. Swimlane Pool, Lane
  4. Artifact Data Object, Group, Annotation

NPMN 允許在 BPD 中建立自訂的 Flow Object 及 Artifact。

Flow Object
  1. Events
    事件以圓環表示,代表發生的事件,圓環內可加上該事件的圖示,例如信封代表訊息,時鐘代表時間。

    事件也分為 catching / throwing 兩種,catching 是捕抓輸入的事件,因而開始一個事件處理流程,throwing 是流程結束,往外丟出結束事件。

    • Start Event: 流程的觸發,是空心的圓環
    • Intermediate Event: 在事件開始與結束之間,雙線圓環,可以是 catching/throwing event
    • End Event: 流程結束,是實心圓環,只能 throwing
  2. Activity
    以圓角矩形表示,描述要做的工作內容。

    • Task: task 表示一個工作單元,不能被分解為深層次的業務流程細節
    • Sub-Process: 用來隱藏/顯示深層業務流程細節,隱藏時,用 + 標記這是子流程

    • Transaction: 這是一種子流程,裡面包含的所有活動,都必須要全部完成,結束後,才算是完成工作,只要有失敗,就必須要 rollback。用雙線環繞標記。

  3. Gateway
    用菱形表示,基於描述的條件,決定路徑的分流或合併

Connecting Object

Flow Object 是以 Connecting Object 互相連接,Connecting Object 有三種:

  1. Sequence Flow
    實心線及箭頭表示,描述活動進行的順序,可在開始端帶有符號,增加一個小菱形,變成 conditional flow,或是以對角斜線,標記發自活動,帶有條件的 default flow

    由上而下分別是 Normal Flow, Conditional Flow, Default Flow

  2. Message Flow
    以空心圓圈開始,最後是空心的箭頭,用來表示有訊息跨過 pool 邊界,Message Flow 不能用在同一個 Pool 裡面連接活動或事件

  3. Association
    用點狀的線表示的箭頭,用來建立 artifact 到 flow object 的關係,可使用空心箭頭,表示方向性,指向 artifact 表示結果,源自 artifact 表示輸入,兩者都有,表示有讀取跟更新。

Swimlane

在視圖上用來分類的機制,有兩種類型

  1. Pool
    表示流程中的主要參與者,通常用來區分不同的組織,一個 Pool 可有多個 Lane,當 Pool 展開是大矩形,裡面有流程細節,收合後是一個空的矩形。

  2. Lane
    依照工作職能,或是角色分類,繪製成矩形,裡面包含 Flow Object, Connecting Object, Artifact

Artifact

在 Pool 裡面,增加更多資訊,增加視圖可讀性。預設 Artifact 有三種

  1. Data Object
    在活動中需要或產生的資料

  2. Group
    虛線園角矩形,可將不同的活動分組

  3. Annotation
    註解,增加可讀性

Example

以下是一個議題討論流程的實例,花7天進行 email 討論,結束的1天前,會發送 deadline 警告,另外在過程中,會協調 conf call 時間進行討論。討論後,會評估此次討論過程的有效性,最終決定討論的結果是否有效。

References

BUSINESS PROCESS MODEL AND NOTATION SPECIFICATION VERSION 2.0 spec

BPM提升營運的智慧

業務流程模型和標記法

BPMN 2.0 by Example: non-normative OMG document with BPMN 2.0 examples)

BPMN符號與BPMN的關係

BPMN規範中的三種視圖

業務流程建模標注(BPMN)詳細介紹

BPMN

沒有留言:

張貼留言