BPMN 図の例:受注処理プロセスをステップごとに作る

フローチャートに見えて実は違う BPMN を、受注処理プロセスを例に、プール、レーン、イベント、ゲートウェイ、メッセージフローの順に解説します。

2026/10/22

BPMN 図の例:受注処理プロセスをステップごとに作る

BPMN(Business Process Model and Notation)は、記号が少し多いフローチャートのように見えます。実際、多くの人はそう捉えて使い始めます。しかし、その追加の記号こそが肝心です。各ステップを誰が担当するのか、何がプロセスを開始するのか、何が並行して進むのか、何が組織の境界をまたぐのかを、開発者と業務部門のマネージャーが同じ意味に読み取れるほど正確に図で示せるからです。

このガイドでは、オンラインショップの受注処理プロセスを題材に、1 つの BPMN 図をステップごとに組み立て、要素が登場するたびに説明します。読み終えるころには、自分の業務に合わせて応用できるプロセスと、BPMN 図を読みにくくする間違いのリストが手元に残ります。

必要な要素

BPMN 2.0 の語彙は豊富ですが、ほとんどのプロセス図は少数の中核要素だけで描けます。

要素 形 意味
プール 大きな枠 1 つの参加者(会社や顧客など)
レーン プール内の行 その参加者の中の役割、チーム、システム
開始イベント 細い線の円 プロセスを開始するもの(メッセージ、タイマー、特になし)
終了イベント 太い線の円 プロセスの終わり方の 1 つ
中間イベント 二重線の円 途中で起きること、または途中で待つこと
タスク 角丸の四角形 1 単位の作業。マーカーでユーザータスク、サービスタスク、送信タスク、手動タスクの区別を示す
排他ゲートウェイ X の入ったひし形 出ていく経路のうち、ちょうど 1 つだけを通る
並列ゲートウェイ + の入ったひし形 出ていく経路をすべて実行する。対になるゲートウェイがすべての完了を待つ
シーケンスフロー 実線の矢印 1 つのプール内でのステップの順序
メッセージフロー 破線の矢印 プール間のコミュニケーション

例: 受注処理

プロセスを平易な言葉で書くと、次のとおりです。

  1. 顧客から注文が届きます。
  2. 販売システムが在庫を確認します。
  3. 在庫がなければ、顧客に通知して注文をキャンセルします。
  4. 在庫があれば、決済を行い、それと同時に倉庫が注文の商品をピッキングして梱包します。
  5. 両方が終わったら、出荷担当が荷物を配送業者に引き渡します。
  6. 販売システムが追跡リンクをメールで送り、プロセスは終了します。

これを BPMN で描くと、次のようになります。

BPMN 図。メッセージ開始イベントで注文を受け、販売システムが在庫を確認します。在庫がなければ顧客に通知してキャンセルします。在庫があれば決済とピッキング・梱包を並行して行い、出荷したあと追跡メールを送ります。

14 個のコンポーネント · 15 個の接続

Archboard で開く
ダイアグラムの内容
  • Customer
  • Online shop
  • Order received
  • Check stock
  • In stock?
  • Notify customer
  • Order cancelled
  • Charge payment
  • Pick and pack
  • Ship order
  • Send tracking email
  • Order fulfilled
  • no
  • yes
  • order
  • out of stock notice
  • tracking link
このガイドの受注処理プロセスを BPMN で描いた図。ショップのプール内に 3 つのレーン、在庫を判定する排他ゲートウェイ、並列の決済とピッキング、顧客へのメッセージフローがあります。

では、1 つずつ組み立てていきましょう。

ステップ 1: プールとレーン

まず参加者から始めます。ショップは 1 つのプールで、Sales system(販売システム)、Warehouse(倉庫)、Shipping(出荷)の 3 つのレーンがあります。顧客は 2 つ目のプールで、折りたたんだ空の帯として描きます。関心があるのは顧客が何を送り、何を受け取るかであって、顧客がどう判断するかではないからです。

レーンを使えば、タスクにラベルを 1 つも付けずに「誰がやるのか」に答えられます。あるタスクをどのレーンに置くべきか決められないなら、たいていそれは、提起する価値のある本当の責任分担の問題です。

ステップ 2: 開始イベントと終了イベント

プロセスは注文メッセージが届いたときに始まるので、開始イベントにはメッセージマーカーを付けます。終わり方は 2 通りあるので、終了イベントも 2 つです。Order fulfilled(注文完了)と Order cancelled(注文キャンセル)です。各終了イベントに結果を表す名前を付けると、図がどんな結末を迎えうるのかがひと目でわかります。

ステップ 3: タスク名は動詞と目的語で

すべてのタスクに、動詞と目的語で名前を付けます。たとえば Check stock(在庫を確認する)、Charge payment(代金を決済する)、Pick and pack(ピッキングして梱包する)、Ship order(注文を出荷する)、Send tracking email(追跡メールを送る)です。役に立つ場合はタスクの種類も付けましょう。サービスタスクは人を介さずに実行され、ユーザータスクには人が必要で、送信タスクはメッセージを送ります。このマーカー 1 つで、開発者はどのステップを自動化すべきかがわかります。

ステップ 4: 判断と並行作業のためのゲートウェイ

Check stock の後ろにある排他ゲートウェイは In stock?(在庫あり?)という問いを立て、そこから出ていくフローに答えの yes と no を付けます。通る経路は 1 つだけです。

yes の経路の先では、並列ゲートウェイがフローを分岐させ、Charge payment と Pick and pack が同時に進みます。2 つ目の並列ゲートウェイがそれらを合流させるので、出荷は両方が終わってから始まります。分岐と合流は対で使います。合流のない並列分岐を置くと、プロセスの残りの部分をトークンが流れ続けることになり、それが意図どおりであることはまずありません。

ステップ 5: プール間のメッセージフロー

シーケンスフローはプールの中にとどまります。プール間のコミュニケーションには、破線で描くメッセージフローを使います。開始イベントに入る注文メッセージ、顧客に返す在庫切れの通知と追跡メールがそれにあたります。BPMN ではシーケンスフローがプールの境界をまたぐことは認められていません。このルールがあるので、組織間の受け渡しはすべて明示的に描くことになります。

プロセスを拡張する

実際のプロセスには、さらに多くの要素が必要です。よくある拡張と、それを BPMN でどう表すかを紹介します。

  • 決済が失敗する。 Charge payment と Pick and pack をサブプロセスでまとめ、そのサブプロセスにエラー境界イベントを付けて、商品を在庫に戻し顧客に通知するタスクへつなぎます。並列の分岐の片方だけからエラー経路を出すと、合流が永遠に待ち続けることになります。
  • ピッキングに時間がかかりすぎる。 Pick and pack に非割り込み型のタイマー境界イベント(たとえば 24 時間)を付け、エスカレーション用のタスクへつなぎます。
  • 倉庫が外部のパートナーである。 倉庫を別のプールにし、そこへ入るシーケンスフローをメッセージフローに置き換えます。これで、図が 2 社間の取り決めを示すようになります。

これらの拡張は、議論に必要なときだけ加えましょう。すべての例外を描こうとしたプロセス図は、矢印の壁になってしまいます。

よくある間違い

  • プールをまたぐシーケンスフロー。 参加者の間にはメッセージフローを使います。
  • 合流なしでまとめた並列経路。 択一の経路はそのまま次のタスクに流し込んでもかまいませんが、並列の経路は並列ゲートウェイで合流させる必要があります。そうしないと、次のタスクが分岐の数だけ実行されます。
  • 問いを置く要素の間違い。 問いはタスクではなくゲートウェイに、答えはそこから出ていくフローに書きます。
  • あいまいなタスク名。 「注文を処理する」は 5 つのステップを隠しています。説明に 1 段落が必要なタスクは、サブプロセスにすべきです。
  • すべてを 1 つのレーンに入れる。 レーンのない BPMN 図は、記号が凝っているだけのフローチャートです。

BPMN か、フローチャートか?

手早くロジックを示したいとき、アルゴリズムや手順を説明するときはフローチャートを使います。責任の所在、待ち、並行作業、参加者間のやり取りが重要なら BPMN を使います。複数のチームが関わる業務プロセスの多くはこちらに当てはまります。Archboard では両方を同じキャンバスで扱えます。よりシンプルなスタイルについては、フローチャートのユースケースと部門横断フローチャートのテンプレートをご覧ください。

Archboard で作る

  1. Google または GitHub でサインインし、図を作成します。
  2. BPMN パックから、ショップ用のプールを追加して 3 つのレーンを設け、顧客用に空の 2 つ目のプールも追加します。
  3. 開始イベントと終了イベント、タスクの種類を設定したタスクノード、ゲートウェイの種類を排他または並列に設定した排他ゲートウェイノードを追加します。
  4. プール内のステップを接続し、メッセージフローとしてプール間に破線のエッジを引きます。
  5. ゲートウェイから出ていくフローに答えのラベルを付け、読み手が知っておくべきことはテキスト注釈で補足します。

この例で使うノードは 14 個で、Free プランの範囲に収まります。関連するプロセスについては、決済フロー図とバリューストリームマッピングのユースケースをご覧ください。

よくある質問

BPMN 2.0 をすべて覚える必要がありますか? いいえ。プール、レーン、開始イベントと終了イベント、タスク、排他ゲートウェイと並列ゲートウェイ、メッセージフローがあれば、ほとんどの図は描けます。それ以外の記号は、実際のケースで必要になったときに加えてください。

BPMN 図は実行できますか? プロセスエンジンは、必要な技術的詳細を含む BPMN モデルを実行できます。この例のように人が読むために描いた図は、まずプロセスについて合意するためのものです。

1 つの図はどのくらいの大きさにすべきですか? 1 画面に収まらなくなったら、タスクのまとまりをサブプロセスに移し、それを別の図として描きます。

システムやデータはどこに置きますか? 作業を行うシステムにはレーンを使います(ここでの販売システムがその例です)。タスクが読み書きする情報には、データオブジェクトやデータストアを使います。

プロセス図はどうレビューすればよいですか? 実際に作業をしている人たちと一緒に、在庫切れの注文のような実際のケースを 1 つ、図に沿ってたどってみてください。「実は、うちでは…」と言われた箇所はすべて修正点です。

無料で始める — 1 シート、クレジットカード不要。

関連記事

← ブログに戻る

1分でキャンバスを開く

Google または GitHub でサインイン。1シートは無料で、チームが加わったらアップグレード。