業務流程模型和標記法（BPMN, Business Process Model and Notation）a是一套圖形化表示法，用於以業務流程模型詳細說明各種業務流程。
它最初由業務流程管理倡議組織（BPMI, Business Process Management Initiative）開發，名稱為"Business Process Modeling Notation"，即「業務流程建模標記法」。BPMI于2005年與對像管理組織（OMG, Object Management Group）合併。2011年1月OMG發佈2.0版本，同時改為現在的名稱。
概述
業務流程模型和標記法（BPMN, Business Process Model and Notation）b是對像管理組織（OMG, Object Management Group）維護的關於Business process modeling的行業性標準。它建立在與UML的活動圖非常相似的流程圖法（flowcharting）基礎上，為「業務流程圖」（BPD, Business Process Diagram）中的特定業務流程提供一套圖形化標記法。BPMN的目標是，通過提供一套既符合業務人員直觀又能表現複雜流程語義的標記法，同時為技術人員和業務人員從事業務流程管理提供支援。BPMN規範還提供從標記法的圖到執行語言基礎構造的對映，尤其是Business Process Execution Language（BPEL）。
BPMN的首要目的是提供全體業務相關者易於理解的標準標記法。業務相關者包括創造與梳理流程的Business analyst、負責實施流程的技術開發者、以及管理和監督流程的經理人。BPMN旨在充當公共語言，跨越業務流程設計和實施之間常見的鴻溝。
目前有多種競爭的業務流程建模語言標準供建模過程和工具選用。廣泛採用BPMN將有助於統一基本的業務流程概念的表達（例如：公共或私有的流程、編排），就像一些高級的業務概念一樣（例如：例外處理、事務補償）。
歷史
BPMN最初由業務流程管理倡議組織（BPMI, Business Process Management Initiative）開發，該組織于2005年與對像管理組織（OMG, Object Management Group）合併，從那時起，由OMG維護。BPMN最初的名稱為"Business Process Modeling Notation"，即「業務流程建模標記法」，2011年1月OMG發佈2.0版本，同時改為現在的名稱。1
BPMN基本話題
範圍
BPMN僅限於支援對業務流程有用的建模概念。這意味著組織所做的非業務目的其他型別建模將排除在BPMN之外。例如，以下方面的建模不屬於BPMN的一部分：
* 組織結構
* 職能分解譯註2
* 數據模型
此外，雖然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）
在池中，用於活動按職能譯註3或角色歸類。繪做按池的長或寬展開的矩形。道包含流對像、連線對像和器物。
器物（Artifacts）使開發者可以帶給模型／圖更多的資訊，通過這一方式，使模型／圖更可讀。預定的三種器物如下：
數據對像（Data Objects）
「數據對像」向讀者顯示在活動中需要或產生哪些數據。
組（Group）
組表現爲虛線的圓角矩形。組用來將不同的活動分組，但不影響圖中的流。
註釋（Annotation）
註釋為模型／圖的讀者增加可理解性。
業務流程圖的型別
在BPMN的三種子模型之內和之間，可以建立各種型別的圖。以下列出的是能夠用BPMN建模的業務流程型別（其中帶星號的可能無法對映到執行語言）：
* 高層次私有流程的活動（非職能分解）* 細節私有流程（Detailed private business process）
* 目前或過往的業務流程* 未來或新業務流程
* 與一個或多個外部實體互動的細節私有業務流程（或「黑盒子」流程）
* 兩個或更多細節私有業務流程的互動作用
* 細節私有業務流程到抽像流程的聯繫
* 細節私有業務流程到協作流程的聯繫
* 兩個或更多抽像流程* 抽像流程與協作流程的關係* 單獨的協作流程（例如：ebXML BPSS或RosettaNet）* 兩個或更多細節私有業務流程通過抽像流程的互動作用
* 兩個或更多細節私有業務流程通過一個協作流程的互動作用
* 兩個或更多細節私有業務流程通過抽像與寫作流程的互動作用
BPMN的設計目標是允許上述全部型別的圖。然而，需要小心的是，包含了太多的子模型型別，例如三種或更多的私有流程之間都有訊息流連線，這樣的圖可能會變得難以理解。因而，我們建議建模者為諸如私有流程、協作流程的BPD建立明確的目標。
BPMN 2.0
BPMN 2.0為新的業務流程模型和標記法建立單一規範，對標記法、Metamodeling和交換格式做出界定。2.0版的名稱有所修改，但仍會維持「BPMN」這個標誌。特徵包括：
* 結合BPMN和Business Process Definition Metamodel（BPDM），形成單純一致的語言
* 使能在建模工具間交換業務流程模型及其佈局，以保持語義完整性
* 擴充BPMN以允許將模型配置與編排成獨立或整合的模型
* 支援模型上不同透視法的顯示和交替，令使用者可以聚焦于特定的關注點
* 序列化BPMN，為模型轉換提供XML方案（schemes），向執行Decision support方向擴充套件業務模型。
BPMN 2.0在2011年1月發佈。
BPMN的使用
業務流程建模用於傳達廣泛而多樣的資訊給廣泛而多樣的受眾。BPMN的設計就是爲了覆蓋這種廣泛的用途，並且允許端到端的業務流程建模，從而令圖的觀察者能夠方便地區分一個BPMN圖上的不同部分。在一個端到端的BPMN模型中有三種基本的子模型：「私有」（內部的）業務流程、「抽像」（公共的）流程，和「協作」（全域性的）流程：
私有（Private；內部的）業務流程
私有業務流程是指特定組織內部且通常被稱為工作流或業務流程管理（BPM）流程的一類流程。如果用了泳道，則一個私有業務流程將包容在單個的池中。該流程的順序流完全包含在其池之中，不可跨越邊界。訊息流可以跨越池的邊界，顯示不同的私有業務流程間的互動作用。
抽像（Abstract；公共的）流程
表示私有業務流程與其它流程或參與者之間的互動。只有那些通訊範圍超出私有業務流程的活動包括在抽像流程中。剩下那些私有業務流程的「內部」活動不顯示在抽像流程中。即，抽像流程向外部世界顯示訊息序列，這些訊息序列是與其業務流程互動所必須的。抽像流程可包含在一個池中並單獨建模，或包含在一個大的BPMN圖中顯示抽像流程活動與其它實體之間的訊息流。如果一抽像流程與其對應的私有流程在同一個圖中，則其活動對可關聯的流程雙方是共用的。
協作（Collaboration；全域性的）流程
協作流程刻畫兩個或更多業務實體之間的互動作用。這些互動作用定義為活動序列，這些活動序列表示所涉及實體之間的訊息交換模式。協作流程也可能包容在一個池中，不同參與者的業務互動作用顯示為該池中的道。在這種情形下，每個道將代表兩個參與者和他們之間的移動方向。它們也可以顯示為兩個或更多的抽像流程，通過訊息流互動作用（如上一節所描述）。這些流程可以獨自建模，或者在一個大的BPMN圖中顯示協作流程活動和其它實體間的關聯。如果協作流程在同一個圖中作為協作的私有業務流程，則其活動對可關聯的流程雙方是共用的。
BPMN的弱點
BPMN的弱點涉及以下方面：
* 在共享的BPMN模型中的歧義與混淆
* 對例行工作的支援
* 對知識工作的支援
* BPMN模型到執行環境的轉換
譯註
* a這裡"Notation"在中文有多種譯名，例如"標註"。《UML參考手冊》中譯作「表示法」。根據BPMN的內容，和建模領域背景的考量，這裡暫時譯作「標記法」。
* 譯註2Organization是擁有業務的實體，可包括任何型別——非商業的、政府的、民間的；對於組織，Function在漢語中通常應該是「職能」而非「功能」。
* 譯註3按照BPMN的基本理解，這裡的participant（參與者）、function（職能，功能）、role（角色），都不一定是「人的」（組織、職能與業務人員），也可以是計算機的（應用系統、功能、代理程式），這在中文更精確的表達中，造成一定的困惑。