業務流程模型佮標記法
業務流程模型佮標記法(BPMN,Business Process Model and Notation)是一套圖形化表示法,用佇咧以業務流程模型詳細說明各種業務流程。
伊頭先由業務流程管理倡議組織(BPMI , Business Process Management Initiative)開發,這號名 " Business Process Modeling Notation ",即「業務流程建模標記法」。 BPMI 佇二空空五年佮物件管理組織(OMG , Object Management Group)合併。二空一一年一月 OMG 發佈二四界空版本,同時改做這馬的名稱。
概述
業務流程模型佮標記法(BPMN , Business Process Model and Notation)是物件管理組織(OMG , Object Management Group)維護的關於業務流程建模的行業性標準。伊建立佇咧佮 UML 的活動圖欲仝仔欲仝的流程圖法(flowcharting)基礎上,為「業務流程圖」(BPD , Business Process Diagram)中的特定業務流程提供一套圖形化標記法。BPMN 的目標是,通過提供一套既符合業務人員直觀閣會當表現複雜流程語意的標記法,同時為技術人員佮業務人員做業務流程管理提供支援。BPMN 規範猶閣提供對標記法的圖到執行語言基礎構造的對映,尤其是業務流程執行語言(BPEL)。
BPMN 的首要目的是提供全體業務相關者較有理解的標準標準記法。業務相關者包括創造佮梳理流程的業務分析師、負責實施流程的技術開發者、以及管理佮監督流程的經理人。BPMN 旨咧充當公共語言,跨越業務流程設計佮實施施之間捷看的鴻溝。
當前有足濟款競爭的業務流程建模語言標準供建模的過程佮工具選用。廣泛採用 BPMN 對統一基本的業務流程概念的表達(比如講:公共抑是私有的流程、編排), 就親像一寡進階的業務概念仝款(比如講:例外處理、事務補償)。
歷史
BPMN 上早由業務流程管理倡議組織(BPMI , Business Process Management Initiative)開發,這組織佇二空空五年和物件管理組織(OMG , Object Management Group)合併,自彼陣仔起,由 OMG 維護。BPMN 上頭仔號名 " Business Process Modeling Notation ",即「業務流程建模標記法」,二空一一年一月 OMG 發佈二四界空版本,同時改做這馬的名稱。[一]
BPMN 基本話題
範圍
BPMN 干焦限於支援對業務的流程有路用的建模概念。意這味著組織所做的非業務目的其他類型建模將排除佇咧 BPMN 以外。比如講,以下方面的建模無屬於 BPMN 的一部份:
- 組織結構
- 職能分解譯註二
- 資料模型另外,雖然 BPMN 會顯示資料的流(訊息)閣有活動佮資料器物的關聯,但是伊並毋是資料流圖(data flow diagram)。
愛素
BPMN 用真細的圖形愛素做簡單的圖來建模,這將令業務使用者佮開發者仝款容易理解其中的過程佮流。伊的四種基本欲素如下:
流東西(Flow Object)
- 事件(Events), 活動(Activities), 閘道器(Gateways)
連接東西(Connecting Objects)
- 順序流(Sequence Flow), 訊息流(Message Flow), 關聯(Association)
泅水道(Swimlanes)
- 池(Pool), 道(Lane)
'器物'(Artifacts / Artefacts)
- 資料物件(Data Object), 組(Group), 注釋(Annotation)
這四大類的物件咱有機會做出簡單的業務的流程圖(BPD , business process diagram)。 同時,BPMN 凡勢佇咧 BPD 中建立你家己的流物件、器物類型,了後使圖閣較好理解。
流東西佮連接東西
- * * *
流東西(Flow Objects)是 BPMN 的主要是描述物件,由三種核心的討素(事件、活動、關口)組成。
事件(Event)
- 「事件」(Event)以圓環表示,指發生的代誌(區分於「活動」代表所做的代誌)。 圓環中的圖示代表事件的類型(比如講:批囊做訊息,時鐘為時間)。 事件嘛予人分做「揣取」(Catching,比論揣著輸入的訊息而開始一个流程)抑是「抌落去」(Throwing,譬如講佇流程結束擲訊息)。
開始事件(Start event)
- 做為流程的觸發器;以細單線的標明,並且干焦會當「揣取」(Catch), 所以伊顯示空心(輪達)的圖示。
結束事件(End event)
- 表現流程的結果;以粗單線標明,而且只有「抌落去」(Throw), 所以顯示為實心圖示。
中央事件(Intermediate event)
- 表現發生佇咧開始佮結束事件之間的代誌;以雙線標明,會當是「抌落去」抑是「揣取」(應該是採用實心抑是空心圖示)。 比如講,一任務流到事件,擲一个訊息到另外一窟,然後由後一个事件守起來,揣其回應。
活動(Activity)
- 「活動」(Activity)用圓角矩形表示,並且描述必須愛做的工課的種類。
任務(Task)
- 任務代表單一工作單元,因為袂抑袂當予人分解做閣較深層次上的業務流程細節,毋包括操作程式傷厚的圖示(此非 BPMN 的目的)。
子流程(Sub-process)
- 用佇咧隱藏抑是顯露深層業務流程細節—— 收的時陣,佇矩形底部用加號標明子流程;開展的時陣,佇矩形內顯示全部的流物件、連接物件佮器物。
- 子流程自含開始結束事件,來自「父」流程的順序流袂當迒過其邊框。
事務(Transaction)
- 子流程的一个形式,其實所包含的全部活動必須愛做為一个整體對待,即𪜶著愛完全結束以滿足目標,其中任何一个失敗就必須愛全部償還(撤回)。 事務作為擴充的子流程,用雙線環踅。
關口(Gateway)
- 「關口」(Gateway)用斜糕形表示,是因為所示條件決定路徑的分流佮合併。
「 流東西」通過「連接東西」(Connecting objects)互相連接。連接物件包括三个類型(順序、訊息、關聯):
順序流(Sequence Flow)
- 「順序流」用實心線和箭頭表示,顯示活動進行的順序。「順序流」閣會當佇開始捀有符號,以細條菱形標明其中一寡發自活動的「條件流」(conditional flow), 同時以對角斜線標明發自活動抑是決定,紮條件流的「預設流」(default flow)。
訊息流(Message Flow)
- 「訊息流」用虛線表示,起先捀有一个空心圓箍仔,終端是一个空心箭頭。伊共咱講佗一寡訊息流跨過組織的這个邊界(就介於池之間)。 訊息流袂使用佇仝一窟池內底連接活動抑是事件。
關聯(Association)
- 「關聯」(Association)較用點線表示。伊用佇建立器物抑是文字到流物件的聯絡,並且會當用空心箭頭標明某一種方向性(指向器物表示結果,源自器物表示輸入,同時出現則表示讀佮更新)。 當器物抑是文字聯絡著順序抑是訊息流時,關聯無需要標明的方向(遐的流已經顯示矣方向)。
泅水道佮器物
- * * *
泅水道(Swimlanes)是對視覺上對活動加以組織抑是分類的機制。伊基於交叉功能流程圖基礎,佇咧 BPMN 著愛有兩種類型:
池(Pool)
- 表示講流程當中的主要參與者,典型地,用來分開無仝的組織。一窟會當納一搭抑是偌隻道(像真實的泳池遐爾仔)。 當池為展開的(顯示出內部細節), 畫做大欉的矩形;若為著收藏起來(隱藏起內部細節), 繪做沿圖的長抑是寬伸展空的矩形。
道(Lane)
- 佇咧窟仔內底,用佇活動照職能譯註三或者是角色歸類。繪做按池的長抑是闊展開的矩形。道包含流物件、連接物件佮器物。
器物(Artifacts)使開發者會當帶予模型/圖閣較濟的資訊,通過這一方式,模型/圖閣較通讀。預定的三種器物如下:
資料物件(Data Objects)
- 「資料物件」向讀者顯示佇活動中需要抑是產生佗一寡資料。
組(Group)
- 組表現做虛線的圓角矩形。組用來共無仝的活動分組,但無影響圖當中的流。
注釋(Annotation)
- 注釋做模型/圖的讀者增加可理解性。
業務流程圖的類型
- 點擊小圖檢視全 sài-sù 圖
- * * *
佇咧 BPMN 的三種子模型之內佮之間,會當建立各種類型的圖。以下列出的是會使用 BPMN 建模的業務流程類型(其中帶星號的可能無法度對映到執行語言):
- 高層次私有流程的活動(非職能分解)\ *
- 細節私有流程(Detailed private business process)
- 當前抑是過往的業務的流程 \ *
- 未來抑是新業務流程
- 佮一个抑是個外部實體互動的細節私有業務的流程(抑是「烏觳仔」流程)
- 兩个抑是閣較濟細節私有業務的流程的互動作用
- 細節私有業務的流程到抽象流程的聯絡
- 細節私有業務的流程到協同運作流程的聯絡
- 兩个抑是閣較濟抽象流程 \ *
- 抽象流程佮協同運作流程的關係 \ *
- 單獨的協同運作流程(比如講:ebXML BPSS 抑是 RosettaNet)\ *
- 兩个抑是閣較濟細節私有業務的流程通過抽象流程的互動作用
- 兩个抑是閣較濟細節私有業務的流程通過一个協同運作的流程的互動作用
- 兩个抑是閣較濟細節私有業務的流程通過抽象佮寫作的流程的互動作用
BPMN 的設計目標是欲允准傳出全部類型的圖樣。毋過,需要細膩的是,包括太濟子模型類型,比如講三種抑是閣較濟私有流程之間攏有訊息流連接,按呢的圖可能會變做歹理解。因而,咱建議建模者為諸如私有流程、協同運作流程的 BPD 建立明確的目標。
BPMN 二孵空
BPMN 二嬸零為新的業務流程模型佮標記法建立單一規範,嘿𪜶的記法、元模型佮交換格式做出界定。二交零版的名稱有所修改,毋過猶是會維持「BPMN」這个標誌。特徵包括:
- 結合 BPMN 佮業務流程定義元模型(BPDM), 形成單純一致的語言
- 予會當佇咧建模工具間交換業務流程模型佮其布局,以保持語意完整性
- 擴充 BPMN 以允准將模型組態佮編排做獨立抑是整合的模型
- 支援模型上無仝透視法的顯示佮交替,使用者會當聚焦於特定的關心點
- 串行化 BPMN,為模型轉換提供 XML 方案(schemes), 向執行決策支援方向擴充業務模型。
BPMN 二嬸空佇二空一一年一月發布。
BPMN 的使用
業務流程建模用佇傳達廣泛而多樣的資訊予廣泛而多樣的受眾。BPMN 的設計就是為著欲起這種廣泛的用途,並且允准捀到捀的業務流程建模,對令圖的觀察者會當方便所在分一个 BPMN 圖頂的無仝部份。佇一个捀到捀的 BPMN 模型中有三種基本的子模型:「 私有」(內部的)業務流程、「 抽象」(公共的)流程,和「協同運作」(全域的)流程:
私有(Private;內部的)業務流程
- 私有業務流程是講特定組織內部而且通常予人號做是工課流或者是業務流程管理(BPM)流程的一類流程。若用著泳道,是一个私有業務流程將包容佇單个的池中。該當時程的順序流完全是包括佇咧其池內底,毋通迒過邊仔的界。訊息流會當迒對池的邊界去,顯示無仝的私有業務流程間的互動作用。
抽象(Abstract;公共的)流程
- 表示私有業務的流程佮其他的流程抑是參與者之間的互動。只有遐的通訊範圍超出私有業務流程的活動包括佇咧抽象流程當中。賰遐的私有業務的流程的「內部」活動無顯示佇咧抽象流程當中。即,抽象流程向外部世界顯示訊息序列,遮的訊息序列是佮其業務的流程互動所必須愛的。抽象流程會當包含佇一个池內底而且單獨建模,抑是包括佇一个大的 BPMN 圖內底顯示抽象流程活動佮其他實體之間的訊息流。若是一抽象流程佮其對應的私有流程佇仝一个圖內底,則其活動對會當關聯的流程雙方是共享的。
協同運作(Collaboration;全域的)流程
- 協同運作流程刻畫兩个抑是閣較濟業務實體之間的互動作用。遮的互動作用定義做活動序列,遮的活動序列表示所牽涉實體之間的訊息交換模式。協同運作流程也可能包容佇一个池內底,無仝參與者的業務互動作用顯示講為這个池中的道。佇咧這个情形下,每一个道共代表兩个參與者佮𪜶之間的徙動方向。𪜶嘛會當顯示講是兩个抑是閣較濟的抽象流程,通過訊息流互動作用(像頂一節所描述)。 遮的流程會當獨自建模,抑是講佇一个大的 BPMN 圖內底顯示協同運作流程活動佮其他實體間的關聯。若是協同運作流程佇仝一个圖中作為協同運作的私有業務的流程,則其活動對會當關聯的流程雙方是共享的。
BPMN 的弱點
BPMN 的弱點牽連以下方面:
- 佇共享的 BPMN 模型中的歧義佮相濫摻
- 對例行工課的支援
- 著智識工課的支援
- BPMN 模型到執行環境的轉換
譯註
參考文獻
外部連結
一 . BPMN Information Home Page OMG information page for BPMN . 二 . BPMN 一孵一 Poster-Poster showing all BPMN constructs