はじめに
複雑なビジネス運営の世界では、明確さが何よりも重要です。内部ワークフローの合理化、パートナー間の相互作用の定義、サービスの自動化など、ビジネス関係者と技術実装者の間のギャップを埋めるための共通言語が必要です。その役割を果たすのが、BPMN(ビジネスプロセスモデルと表記法).

BPMNは、ビジネスプロセス図においてビジネスプロセスを指定するための標準化されたグラフィック表記法です。オブジェクト・マネジメント・グループ(OMG)によって維持されており、ワークフローの精密なモデリングを可能にする豊富なシンボルセットを提供します。これは、単純なフローチャートやUMLアクティビティ図の能力を遥かに超えています。このガイドは、BPMNの包括的なチュートリアルとして、その中核要素、イベントの種類、ゲートウェイ、タスク、そしてオーケストレーション、コリオグラフィ、コラボレーションの間の重要な違いを網羅しています。
1. 中核概念:BPMN図とは何か?
BPMN図は、特定の表記セットを使用してビジネスプロセスを描画します。フローチャートに似ていますが、BPMNはビジネスプロセス領域に特化して設計された、より豊かな意味論を提供します。
BPMN図には、それぞれ異なる抽象化レベルに対応する3つの主要な種類があります:
-
BPMN会話図:参加者間の通信のハイレベルな概要。
-
BPMNコラボレーション図:2つ以上のビジネスエンティティ(プール)間の相互作用を示します。
-
BPMNコリオグラフィ図:参加者間のメッセージ交換のシーケンスに焦点を当てます。
主要シンボルの概要
これらの図を作成するために、BPMNは複数のカテゴリのシンボルを利用します:
-
スイムレーン:責任を整理するためのプールとレーン。
-
アクティビティ:タスク、トランザクション、サブプロセス、および呼び出しアクティビティ。
-
ゲートウェイ:フローの分岐を制御する意思決定ポイント。
-
イベント:プロセスの開始、中間、および終了ポイント。
-
データ:入力、出力、ストレージ、およびオブジェクト。
-
フロー:シーケンスフロー、メッセージフロー、およびデータ関連付け。
-
アーティファクト:整理のためのグループとテキスト注釈。
2. BPMN イベント:プロセスフローのトリガー
イベントとは、起こるプロセスの進行中に発生するものです。円形で描かれ、プロセス内での位置と振る舞いによって分類されます。
位置によるイベントの種類
-
開始イベント:標準幅の線で描かれます。標準幅の線プロセスの開始をトリガーします。
-
中間イベント:二重の標準幅の線で描かれます。二重の標準幅の線アクティビティの間で発生します。
-
終了イベント:太い枠線で描かれます。太い枠線プロセスパスの終了を示します。

中断型と非中断型の境界イベント
境界イベントはアクティビティ(タスク)の境界に付随します。アクティビティが進行中に外部の刺激に対してプロセスがどのように反応するかを定義します。
-
中断型:イベントが発生した場合、現在のアクティビティは直ちに停止され、プロセスはイベントの流れに従います。
-
非中断型:イベントが発生した場合、現在のアクティビティは継続します。アクティビティが完了すると、プロセスは分岐し、標準パスとイベント固有のパスの両方を並行して続行します。
スローイベントとキャッチイベント
-
スローイベント:イベントをトリガーします(例:シグナルやメッセージの送信)。
-
キャッチイベント:トリガーされたイベントを待機し、それに応答します。
イベント組み合わせの包括的なリスト
開始/中間/終了と送出/キャッチのすべての組み合わせが有効なわけではありません。以下にBPMNで定義された意味のある組み合わせを示します。
BPMN開始イベント
-
補償開始イベント(中断型)
-
条件付き開始イベント(中断型および非中断型)
-
エラー開始イベント(中断型)
-
エスカレーション開始イベント(中断型および非中断型)
-
メッセージ開始イベント(中断型および非中断型)
-
複数開始イベント(中断型および非中断型)
-
並列複数開始イベント(中断型および非中断型)
-
シグナル開始イベント(中断型および非中断型)
-
タイマー開始イベント(中断型および非中断型)
BPMN中間イベント
-
メッセージ:キャッチ、送出、中断型境界キャッチ、非中断型境界キャッチ。
-
タイマー:キャッチ、中断型境界キャッチ、非中断型境界キャッチ。
-
エスカレーション:中断型境界キャッチ、非中断型境界キャッチ。
-
条件付き:キャッチ、中断型境界キャッチ、非中断型境界キャッチ。
-
リンク:キャッチ、送出。
-
エラー:中断型境界キャッチ。
-
キャンセル:中断型境界キャッチ。
-
補償: 中断境界キャッチ、スロー。
-
シグナル: キャッチ、中断境界キャッチ、非中断境界キャッチ、スロー。
-
複数: キャッチ、中断境界キャッチ、非中断境界キャッチ、スロー。
-
並列複数: キャッチ、中断境界キャッチ、非中断境界キャッチ。
BPMN 終了イベント
-
なし終了イベント
-
メッセージ終了イベント
-
シグナル終了イベント
-
複数終了イベント
-
エスカレーション終了イベント
-
エラー終了イベント
-
補償終了イベント
-
キャンセル終了イベント
-
終了終了イベント
3. BPMN ゲートウェイ: ワークフローの制御
ゲートウェイは、シーケンスフローの分岐と合流を制御する意思決定ノードです。内部に特定のマーカを持つダイヤモンドとして描画されます。

ゲートウェイの種類
-
排他的ゲートウェイ (XOR):
-
シンボル: 空のダイヤモンド、または「X」が入ったダイヤモンド。
-
機能: 意思決定点として機能します。条件に基づいて、1 つ の出力パスが選択されます。条件が満たされない場合、デフォルトフロー(定義されている場合)が使用されます。これは
if-else文に類似しています。
-
-
イベントベースゲートウェイ:
-
シンボル:五角星を含む円を持つダイヤモンド。
-
機能:排他的ゲートウェイに似ていますが、分岐はどのイベントが最初に発生するかに基づいて選択されます。データ条件を評価するのではなく。
-
-
包括ゲートウェイ(OR):
-
シンボル:内部に円’O’を持つダイヤモンド。
-
機能:それぞれの条件が満たされた場合、複数の出力パスを同時に実行することを許可します。また、複数の入力パスを統合することもできます。
-
-
並列ゲートウェイ(AND):
-
シンボル:内部にプラス記号’+’を持つダイヤモンド。
-
機能:並行パスにフローを分割します(すべてのパスが実行されます)。統合時には、すべての入力パスが完了するまで待機してから続行します。UMLのフォーク/ジョインに相当します。
-
-
並列イベントベースゲートウェイ:
-
シンボル:プラス記号’+’を含む円を持つダイヤモンド。
-
機能:特定のイベントによってトリガーされる並行フローにプロセスを分岐させます。
-
-
複合ゲートウェイ:
-
シンボル:内部にアスタリスク「*」が入ったダイヤモンド。
-
機能:他のゲートウェイではモデル化できない複雑な意思決定シナリオに使用されます。内部パラメータによって定義されます。注:あまり使用されず、通常は他のゲートウェイを組み合わせることが好まれます。
-
4. BPMN タスク:作業単位
タスクはプロセス内の原子的な活動であり、角丸長方形で表されます。タスクの具体的な種類は、左上隅のアイコンで示されます。

タスクの種類
-
抽象タスク:特定のサブタイプを持たない一般的なタスク。
-
ビジネスルールタスク:1 つ以上のビジネスルールを実行します。
-
手動タスク:ソフトウェアによる自動化なしで、人間が物理的に実行します。
-
ユーザータスク:人間ユーザーによって実行され、ソフトウェアアプリケーションの支援を受ける場合があります。
-
受信タスク:メッセージの到着を待ちます。受信すると完了します。
-
送信タスク:外部参加者にメッセージを送信します。送信すると完了します。
-
スクリプトタスク:プロセスエンジンによって実行されるスクリプトを含みます。
-
サービスタスク:サービス、Web サービス、またはアプリケーションモジュールを介した自動化処理を使用します。
5. サブプロセスとトランザクション
サブプロセスにより階層化モデリングが可能となり、複雑さを隠すことで図を整理できます。
-
サブプロセス:ネストされたプロセスです。これは折りたたまれ(下部に小さなプラス記号の四角形で表示)または展開(すべての内部ノードを表示)。
-
アドホックサブプロセス:内部のアクティビティは任意の順序で、複数回実行したり、完全にスキップしたりできます。
-
イベントサブプロセス:特定のイベントによって起動されます。イベントの種類によっては、メインプロセスと並行して実行したり、メインプロセスをキャンセルしたりできます。
-
トランザクション:同時に成功または失敗しなければならない一連のアクティビティです。結果には「成功」「エラー(ハザード)」「キャンセル」が含まれます。
6. フローとコネクタ

コネクタは、図内の関係と移動を定義します。
-
シーケンスフロー:矢印付きの実線です。実行順序に従ってアクティビティを接続します。
-
条件付きフロー:条件が真の場合のみ実行されます。
-
デフォルトフロー:「else」ブランチで、他の条件が満たされない場合に実行されます。
-
-
メッセージフロー:始点に開いた円、終点に矢印を持つ破線です。独立したプール(参加者)間の通信を表します。
-
関連付け:点線です。アティファクト(テキスト注釈など)をフローオブジェクトにリンクします。
-
データ関連付け:矢印付きの点線です。データオブジェクトをアクティビティにリンクします。
7. BPMN データ要素
データ要素は、プロセスを通過する情報またはプロセスによって保存される情報を表します。
-
データオブジェクト:システムの各部分間で送信される情報。
-
データオブジェクトコレクション:一連のデータオブジェクト。
-
データ入力/出力:プロセスによって必要とされたり生成されたりする外部データ。
-
データストア:プロセスのライフタイムの外に存在する永続ストレージ(例:データベース)。
8. スイムレーン:責任の整理
スイムレーンは、参加者と役割に基づいて図を整理します。
-
プール:主要な参加者(例:会社、部署、またはシステム)を表します。図には複数のプールが存在できます。
-
レーン:プール内の細分化された領域です。レーンは、その参加者内の特定の役割、部署、またはシステムを表します。
9. BPMN オーケストレーション対振付対コラボレーション
モデルの範囲を理解することは不可欠です。BPMNは、プライベートな内部プロセスとパブリックな組織間相互作用を区別します。
パブリックプロセス対プライベートプロセス
-
プライベート(内部)プロセス:単一のエンティティ内の詳細なフロー。
-
パブリックプロセス:パートナー間の相互作用を記述します。内部の詳細は「ブラックボックス」として扱われ、交換されるメッセージとオブジェクトのみが焦点となります。
3つのカテゴリ
1. オーケストレーション
-
定義:単一の調整視点を持つ標準的なプロセスモデル。
-
範囲:単一のビジネスエンティティ内(単一のプール)。
-
ユースケース:内部ワークフローの自動化。
2. コラボレーション
-
定義:2つ以上のビジネスエンティティ間の相互作用を示します。
-
範囲:メッセージフローで接続された複数のプール。
-
構造:プール内の詳細なプロセスを示すか、それらをブラックボックスとして扱うことができます。

3. チェオグラフィ
-
定義: 「メッセージ交換」メッセージ交換に厳密に焦点を当て、内部タスクには焦点を当てません。
-
範囲: プールは使用しません。参加者はタスク形状内に埋め込まれます。
-
ユースケース: 組織間の相互作用の「契約」を定義します。
コリオグラフィ記法の進化
-
BPMN 1.1: コリオグラフィはオーケストレーションと混在しており、専用の記法がありませんでした。

-
BPMN 2.0: 専用のコリオグラフィ図を導入しました。
コリオグラフィタスク
コリオグラフィタスクは相互作用を定義します。これらは次の要素で構成されます:
-
開始参加者: 色で塗りつぶされています。
-
非開始参加者: 灰色で塗りつぶされています。
-
メッセージ: 開始メッセージとオプションの応答メッセージを定義します。


例: クリニックプロセス
患者と医師の事務所の間の相互作用を示します。開始者は、誰が相互作用を開始するかによって色が変化します。

例: MIS(管理情報システム)

BPMN 会話図
最も抽象度の高いレベルです。プロセスロジックを完全に排除し、誰が誰と話すか.
-
要素: プール、会話ノード(六角形)、および会話リンク(二重線)。
-
表示: コミュニケーションの「30,000フィートからの眺め」
例:MIS 会話
この図は、以前の振る舞いを高レベルの会話ブロックに簡略化しています。

結論
BPMN は、ビジネスと技術の境界を越えた明確なコミュニケーションを可能にする、強力な標準化された言語です。次の違いをマスターすることで、オーケストレーション (内部統制)、コラボレーション (複数当事者間の相互作用)、および振る舞い (メッセージ契約)の違いを理解すれば、対象読者に適した詳細レベルでプロセスをモデル化できます。
単純な承認ワークフローの文書化であっても、複雑な多組織サプライチェーンの設計であっても、BPMN は必要な厳密性と柔軟性を提供します。これらの図を効果的に作成するには、専門的なツールの活用が不可欠です。Visual Paradigmは、このガイドで議論されたすべての図タイプ(詳細なオーケストレーションフローから高レベルの会話マップまで)をサポートする、堅牢なBPMNモデリングツールスイートを提供します。このようなツールを使用することで、BPMN 2.0規格への準拠が保証され、ステークホルダー間の協力が容易になります。












