ビジネスプロセスモデリング表記法

ビジネスプロセスモデリング表記法（, BPMN）とは、ビジネスプロセスをワークフローとして描画するための表記法である。BPMN は Business Process Management Initiative (BPMI) が開発し、Object Management Group (OMG) と BPMI が 2005年に合併した後は OMG が保守している。

BPMN の目的は、すべてのビジネス関係者が容易に理解できる標準記法を提供することである。ビジネス関係者には、プロセスの作成・更新を行うビジネスアナリスト、プロセスの実装を行う技術者、プロセスを管理するマネージャなどが含まれる。さらに BPMN はビジネスプロセスと実装の間によく発生するコミュニケーションギャップを埋めることを意図している。

現在、ビジネスプロセスモデリング言語・ツール・方法論は多数存在している。BPMN はそれらの表現を統一する可能性をもっている。

最新版である BPMN 2.0 は、2011年に発行された。

BPMN は、2013年に国際規格 ISO/IEC 19510 (Information technology — Object Management Group Business Process Model and Notation) になっている。

BPMN の範囲 
BPMN はビジネスプロセスを中心とした概念のモデリングだけに利用可能である。つまり、ビジネス以外の目的のモデリングは BPMN の範囲外である。例えば、以下のようなモデリングには BPMN は適していない。
 組織の構造
 機能の詳細化
 データモデル
また、BPMN はデータ（メッセージ）の流れとデータ成果物とアクティビティとの関係を図示するが、データフロー図などとは異なる。

BPMN の利用 
ビジネスプロセスモデリングは、様々な人々が様々な情報をやり取りするのに使われる。BPMN はそのような広範囲な利用をカバーし、見た人が容易に理解できるようになっている。

BPMN のモデルは、次の3種類に分類される。
 個別ビジネスプロセス
 抽象プロセス
 協業プロセス

個別ビジネスプロセス 
特定の組織内のビジネスプロセスであり、一般にワークフローあるいはBPMプロセスと呼ばれる。スイムレーン（後述）を使った場合、個別ビジネスプロセスは1つのプール内に含まれることになる。プロセスのシーケンスフローもプール内で閉じていて、プールの境界を越えることがない。メッセージフローはプール境界を越えることができ、別の個別ビジネスプロセスとの相互作用を表す。

抽象プロセス 
個別ビジネスプロセス間の相互作用を表現する。相互作用に直接関係しない個別ビジネスプロセスの詳細部分は表示されない。したがって、抽象プロセスではビジネスプロセス間のメッセージフローを中心として、それらの相互作用を表す。抽象プロセスをプール内に描き、より大きなBPMN図の一部として他の実体とのメッセージのやりとりを描くこともできる。また、抽象プロセスと個別ビジネスプロセスを1つの図に描き、それらの関係を示すこともできる。

協業プロセス 
複数の企業などの相互作用を描く。この場合の相互作用は、メッセージ交換パターンを表すアクティビティのシーケンスとして定義される。協業プロセスをプール内に描いて、個々の相互作用をプール内の別のレーンに描くこともある。この場合、各レーンが2つの関係者（企業）間の1つのやり取りを示す。また、複数の抽象プロセス間のメッセージフローによる相互作用を描くことで協業プロセスを示すこともある。各プロセスは個別にモデル化することもできるし、より大きなBPMN図に一緒に描くことによってそれぞれの相互作用を示すこともできる。協業プロセスと関連する個別ビジネスプロセスを一緒に描き、両者の関連を描くこともできる。

BPDの種類 
これらのBPMNサブモデルから、様々な図を描くことができる。それらの図を、BPD（Business Process Diagram, BP図）という。以下にBPMNでモデル化できるビジネスプロセスの種類を示す（アスタリスク（*印）の付いたものは実行言語にはマッピングされない）。
 高度に抽象化された（機能の詳細化をしていない）個別プロセス*
 詳細な個別ビジネスプロセス
 現在または従来のビジネスプロセス*
 将来または新規のビジネスプロセス
 1つ以上の外部実体（ブラックボックス化されたプロセス）と詳細な個別ビジネスプロセスとの相互作用
 相互作用のある複数の個別ビジネスプロセス
 詳細な個別ビジネスプロセスと抽象プロセスとの関係
 詳細な個別ビジネスプロセスと協業プロセスとの関係
 複数の抽象プロセス*
 抽象プロセスと協業プロセスとの関係*
 協業プロセスだけ（例えば、ebXML BPSS や RosettaNet に対応）*
 複数の個別ビジネスプロセスの相互作用をそれらの抽象プロセスを通して描く
 複数の個別ビジネスプロセスの相互作用を協業プロセスを通して描く
 複数の個別ビジネスプロセスの相互作用をそれらの抽象プロセスと協業プロセスを通して描く

BPMN はこれら全てを描くことができる。しかし、多くのサブモデル（例えば3つ以上）を1つの図に描いてそれらの相互作用をメッセージフローで表した場合、人によっては理解するのが難しくなることに注意しなければならない。したがって、BPMN で図示する際には、何を伝えたいのかを忘れないようにすることが大切である。

要素 

BPMN によるモデリングは、少数の視覚要素を使った単純な図で表される。それによって、フローやプロセスをビジネスユーザーにとっても開発者にとっても理解しやすくする。基本要素は、以下のように分類される。

 フローオブジェクト
 イベント
 円で表し、何らかの事象の発生を示す。開始、中間、終了などがある。処理のきっかけや結果を表す。
 アクティビティ
 角を丸めた四角形で表し、実施すべき作業を示す。タスクとサブプロセスに分けられ、サブプロセスには底辺にプラス記号を付ける。
 ゲートウェイ
 菱形で表し、何らかの判断を示す。経路の分岐と結合にも使われる。
 接続オブジェクト
 接続オブジェクトは、フローオブジェクト同士をつなぐ。
 シーケンスフロー
 実線矢印で表し、アクティビティの実施される順序を示す。ゲートウェイを始点として始点の近くに斜めに横切る線があるときは、それがデフォルトの経路であることを示す。
 メッセージフロー
 破線白抜き矢印で表し、結ばれたものの間でのメッセージのやり取りを示す。
 関連
 破線で表し、フローオブジェクトと成果物との関連を示す。
 スイムレーン
 フローオブジェクトの実施者を明確化するときに使用する。
 プール
 大きな長方形で表し、内部に複数のフローオブジェクト、接続オブジェクト、成果物を描く。
 レーン
 部署や役割などによってプール内を区切ると、それぞれがレーンとなる。
 成果物
 図をより分かりやすくするために補助的に用いる。
 データオブジェクト
 ある作業で必要とするデータや生成されるデータを分かりやすく示すために用いる。
 グループ
 角の丸い一点鎖線の長方形で表す。異なる作業をフローとは無関係にグループ化するのに使う。
 注釈
 図の理解を助ける注釈。

フローオブジェクトや成果物を独自に追加して、図をより分かりやすくすることもできる。

BPMN 2.0 

BPMN はバージョン 2.0 に移行した。同じ略称 "BPMN" を用いてはいるが、正式名称は "Business Process Model and Notation" に変更された。
新しい BPMN 2.0 は、記法、メタモデル、交換用の形式を定義する単一の仕様をもつことを目指している。

BPMN 2.0 は、次の機能をもつ。
 BPMN と BPDM (business process definition meta model) を結び付けて、一つの一貫した言語になった。
 プロセスモデリングのツールの間でビジネスプロセスモデルと図表の配置を交換できるようにして、意味的な完全性を維持した。
 個別モデルまたは集成モデルとして、モデルの統合（オーケストレーション, orchestration）とコレオグラフィ (choreography) ができるように、BPMNを拡張した。
 利用者が特定の関心に焦点を合わせることができるように、モデルにおける異なる視点の表示と交換を用意した。
 ビジネスのモデル化と経営者の意思決定支援に向けてBPMNを拡張した。
 BPMNを文字列化（直列化）する方法を用意した。具体的にはXMLで表現する。そのためのXML Schemaを用意した。
仕様のβ版は2009年9月に公開され、最終版は2010年6月に公開された。

脚注

参考文献

関連項目 
 ワークフロー
 ビジネスプロセスモデリング
 ビジネスプロセス管理
 BPEL - 実行可能なビジネスプロセスモデリング言語
 YAWL
 XPDL

外部リンク 
BPMN 1.0（日本語版）
BPMN User Survey
Business Modeling & Integration Domain Task Force (BMI DTF)
Xfig BPMN Library
ProM Framework
Pattern-based Analysis of BPMN
Workflow Patterns with BPMN and UML
一般社団法人BPMコンソーシアム

ダイアグラム
経営学
仕様記述言語
モデリング言語