コンテンツにスキップ

BPMN(Business Process Model and Notation)学習ノート

BPMN(Business Process Model and Notation)は、ビジネスプロセスを視覚的にモデリングするための国際標準表記法。OMG(Object Management Group)が策定・維持しており、国際規格 ISO 19510 として認定されている。

  • 業務担当者・業務分析者・システム開発者の間で共通言語としてビジネスプロセスを記述・共有する
  • フローチャートよりも厳密かつ詳細にプロセスを表現する
  • 標準化された記号体系: 記号と線の種類が厳密に定義されている
  • 階層化が可能: サブプロセスとして入れ子構造にでき、抽象度を段階的に変えて記述できる
  • 誰が読んでも同じ意味: 正しく記述された業務フローは、読み手によって解釈が異ならない
  • 実行可能なモデル: BPMN 2.0で記述したプロセスは、BPMS上でそのまま実行エンジンに渡すことができる
  • ビジネス部門とIT部門の間のコミュニケーションギャップを解消
  • 業務プロセスの可視化により、ボトルネックや改善点の発見が容易
  • 国際標準のため、ベンダーロックインを回避できる
  • 例外処理やメッセージ連携も記述可能
バージョン概要
BPMN 1.02004年BPMIにより初版策定
BPMN 1.12008年OMGにより正式標準化
BPMN 1.22009年マイナー改訂
BPMN 2.02011年現行標準。名称を「Business Process Model and Notation」に変更。ISO 19510として国際規格化

BPMNの記法要素は大きく以下のカテゴリに分類される。

プロセスの中で「何かが起こる」ことを示す要素。大きく開始・中間・終了の3種類に分かれる。

区分記号の形状説明
開始イベント細線の円プロセスの開始点
中間イベント二重線の円プロセス途中で発生する事象。キャッチ(受信)とスロー(送信)がある
終了イベント太線の円プロセスの終了点
トリガー開始中間キャッチ中間スロー終了説明
なし(None)o--o単純な開始/終了
メッセージ(Message)ooooメッセージの送受信でトリガー
タイマー(Timer)oo--特定の日時や周期でトリガー
条件(Conditional)oo--条件式が真になったとき
シグナル(Signal)ooooブロードキャスト型のシグナル
エラー(Error)oo-oエラー発生時
エスカレーションoooo上位プロセスへの通知
キャンセル(Cancel)-o-oトランザクションのキャンセル
補償(Compensation)-ooo取消し・やり直しの処理
リンク(Link)-oo-離れた場所へのフロー接続
終了(Terminate)---oプロセス全体の即時終了

アクティビティ(Activity)— 角丸四角形

Section titled “アクティビティ(Activity)— 角丸四角形”

「実行される作業」を示す要素。

タスク種類説明
抽象タスク(None)種類を特定しない一般的なタスク
ユーザータスク人間がシステムの支援を受けて実行
サービスタスクWebサービスやアプリケーションが自動実行
マニュアルタスクシステムを使わず人間だけで実行
スクリプトタスク事前定義されたスクリプトで自動実行
送信タスク外部参加者へメッセージを送信
受信タスク外部参加者からのメッセージを待ち受け
ビジネスルールタスクビジネスルールエンジンで判定
マーカー説明
ループ条件が満たされるまで繰り返し実行
複数インスタンス(並列)同じタスクを複数同時に実行
複数インスタンス(逐次)同じタスクを順番に複数回実行
補償取消し時に実行される補償処理
種類説明
埋め込みサブプロセス親プロセス内に展開して詳細を表示(「+」マーク)
呼び出しアクティビティ外部定義の再利用可能なプロセスを呼び出す(太枠)
アドホックサブプロセス内部タスクを任意の順序で実行可能(「~」マーク)
トランザクションロールバック可能な一連の処理(二重枠)
イベントサブプロセス特定イベントにより起動される(破線枠)

ゲートウェイ(Gateway)— ひし形

Section titled “ゲートウェイ(Gateway)— ひし形”

プロセスのフロー(分岐・合流)を制御する要素。

ゲートウェイ種類記号説明
排他ゲートウェイ(XOR)ひし形に「X」条件に基づいて1つだけの経路を選択。最も一般的
並列ゲートウェイ(AND)ひし形に「+」全ての経路を同時に実行。合流時は全分岐の完了を待つ
包含ゲートウェイ(OR)ひし形に「○」条件に基づいて1つ以上の経路を選択
イベントベースゲートウェイひし形に五角形どのイベントが先に発生するかで経路を決定
複合ゲートウェイひし形に「*」上記で表現できない複雑な条件ロジック
フロー種類表現説明
シーケンスフロー実線矢印(→)同一プール内の実行順序を示す
条件付きシーケンスフロー実線矢印(始点にひし形)条件が真の場合にのみ遷移
デフォルトシーケンスフロー実線矢印(始点にスラッシュ)他の条件が全て偽の場合に遷移
メッセージフロー破線矢印(- - →)異なるプール間のメッセージのやり取り
関連(Association)点線(…)データオブジェクトや注釈をフロー要素と結びつける
要素説明
プール(Pool)プロセスの参加者(組織、システム、役割など)を表す大きな矩形領域
レーン(Lane)プール内部を分割する区画。担当部門・担当者などの役割分担を明示
要素説明
データオブジェクトプロセスで使用・生成される情報(申請書、報告書など)
データ入力アクティビティへの入力データ
データ出力アクティビティからの出力データ
データストア永続的なデータの保管場所(データベースなど)
要素説明
テキスト注釈プロセス図に補足説明やコメントを追加する
グループ破線の角丸四角形で関連する要素を視覚的にグルーピング(フローの意味には影響しない)

以下は、BPMNの記法要素を使った経費精算プロセスの例。スイムレーンをsubgraphで、ゲートウェイをひし形ノードで表現している。

Mermaid記法BPMN対応要素説明
(("開始"))開始イベント二重丸括弧で円形ノードを表現
["タスク名"]タスク(アクティビティ)角括弧で角丸四角形を表現
{"判断"}排他ゲートウェイ(XOR)波括弧でひし形を表現
-->|ラベル|条件付きシーケンスフローラベル付きの矢印で条件分岐を表現
subgraphスイムレーン(レーン)サブグラフで担当者・部門の区画を表現