ビジネスプロセスモデルと表記法(BPMN)は、ビジネスプロセスをモデル化するための標準化されたグラフィカルな表記法です。BPMNイベントはこの表記法の重要な構成要素であり、プロセスの進行中に発生する出来事を表します。本ガイドでは、BPMNイベント表記の詳細な概要と多くの例を紹介しています。

BPMNイベント:構造的な概要
BPMN(ビジネスプロセスモデルと表記法)におけるイベントは円で表され、プロセスに影響を与える出来事を示します。これらのイベントは、プロセスが内部または外部のトリガーに対してどのように反応するかを定義し、トリガーの種類は円内のアイコンで示されます。以下に、BPMNイベントの詳細な分類、種類、および使用方法を示します:
BPMNイベントの主な特徴
- イベントによるトリガー動作
- イベントは特定のトリガー(例:メッセージ、タイマー、エラーなど)に基づいてアクションを開始します。
- イベントの階層
- レベル1:基本イベント(なし、メッセージ、タイマー開始イベント;なし、メッセージ、終了イベント)。
- レベル2:拡張イベント(中間イベント、エラー、エスカレーション、条件付き、シグナル、リンク)。
- 視覚的インジケータ
- 中間イベント:二重輪の円。
- 境界イベント:アクティビティに接続され、例外処理や並行処理を担当します。
イベントの種類とその機能
1. 開始イベント
プロセスの開始位置を示します。
- なし開始イベント
- トリガー: なし(指定なしまたは手動開始)。
- 使用例: サブプロセス(必須)またはトリガーが定義されていないトップレベルプロセス。
- メッセージ開始イベント (✉️)
- トリガー: 外部メッセージ。
- 使用例: メッセージ受信時(例:顧客の依頼)にプロセスが開始される。
- タイマー開始イベント (⏰)
- トリガー: スケジュールされた日時。
- 使用例: 定期実行プロセス(例:月次レポート作成)。
- 複数の開始イベント
- トリガー: 複数のトリガーのいずれか。
- ユースケース: 開始ポイントが柔軟なプロセス。
2. 終了イベント
プロセスが終了する場所を示す。
- なし終了イベント
- 結果: シグナルが送信されない。
- ユースケース: デフォルトのプロセス完了。
- メッセージ終了イベント (✉️)
- 結果: 完了時にメッセージを送信する。
- ユースケース: 外部システムやユーザーに通知する(例:注文確認)。
- 終了終了イベント (⛔)
- 結果: すべての並行フローを中止する。
- ユースケース: 臨界的な例外(例:システム障害)を処理する。
3. 中間イベント
: スタートイベントとエンドイベントの間に発生する。
- タイマーイベント(受信) (⏰)
- アクション: 指定された時間/期間になるまでプロセスを遅らせる。
- 使用例: デッドライン(例:支払い期間)を待つ。
- メッセージイベント(送信) (✉️)
- アクション: メッセージを送信し、処理を続行する。
- 使用例: 「送信タスク」と同等(例:サプライヤーに通知する)。
4. バウンダリーイベント
: アクティビティに接続され、例外処理や並行処理を扱う。
- 中断型バウンダリーイベント
- 動作: アクティビティを停止し、例外フローをトリガーする。
- 使用例: エラー処理(例:支払い失敗)
- 非中断型境界イベント
- 動作: アクティビティと並行して実行される。
- 使用例: 監視(例:タスク中の進捗リマインダー)
- 境界タイマーイベント (⏰)
- アクション: アクティビティの時間制限を超えた場合に発動する。
- 使用例: SLAの遵守(例:期限超過のタスクを昇格)
特殊なイベントタイプ
- エラーイベント (❌)
- 使用例: 中断を引き起こす例外(例:システムクラッシュ)
- エスカレーションイベント (📈)
- ユースケース: 非中断型の例外(例:マネージャーの承認が必要な場合)
- シグナルイベント (⚡)
- 動作: すべてのリスニングプロセスにシグナルをブロードキャストする。
- ユースケース: プロセス間の調整(例:システム全体のアラート)
- リンクイベント (🔗)
- 動作: プロセスの2つのセクションを接続する。
- ユースケース: 複雑な図を簡素化する(例:ページネーションされたワークフロー)
重要な考慮事項
- メッセージ vs. シグナル
- メッセージ: 特定のプロセス/インスタンスに送信される。
- シグナル: すべてのプロセスにブロードキャストされる(特定のターゲットなし)
- イベント・サブプロセス
- BPMN 2.0で導入され、例外処理や繰り返し実行されるアクション(例:エラーのログ記録)を処理するために使用される。
- エラー vs. エスカレーション
- 使用する場合はエラー中断型の例外に使用;エスカレーション非中断型のものに使用。
ベストプラクティス
- 使用する場合はタイマー開始イベントスケジュールされたプロセスに使用し、インスタンスの意味を明確にする。
- 過度に使用しないこと。終了イベント(終了)重要な例外に限定して使用する。
- 次を優先する:非中断型境界イベントモニタリングに使用し、ワークフローの中断を回避する。
これらのイベントタイプおよびそのトリガーを習得することで、モデル作成者は現実世界のプロセス行動を反映した正確で効率的なBPMN図を作成できる。