BPMNの学習(2021.1.29)

1.BPMNによる作業計画

  1. BPMNよるプロセス標記がRPAへの近道であると考えていた。
  2. BPMNを記述するツールとしては、古くから利用しているお気に入りのフローチャート作成アプリiGrafxを選んだ。<お気に入りアプリ>
  3. iGrafxは”iGrafx Platform”というWeb上で軽快にプロセス管理・協業するツールを開発した。
    1. 経営と現場をつなぐプロセス管理プラットフォーム
    2. iGrafx Platform
    3. サンプル

2.BPMNの概念

2.1 BPMN について

      • BPMN は、異なるプロセス参加者(物)間を流れる一連のプロセス ステップとメッセージを連携させるために設計されました。
      • BPMN は、ビジネス プロセス設計とプロセス実装の間に横たわるギャップを埋める方法を標準化するものです。UML(Unified Modeling Language: 統一モデリング言語)はアプリケーションのモデリングに対してオブジェクト指向のアプローチを採用しますが、BPMN はシステムのモデリングに対してプロセス指向のアプローチを採ります。
      • 基本的にはフローを制御するためにゲートウェイを使用することが推奨されています。

2.2 BPMN とプロセス モデリング

      • プロセスのモデリングに関する重要な部分の多くは、BPMN では標準化されていません。これには、リソースの特徴と割り当て、トランザクション フローの相互作用、リソースの競合、スケジュール、アクティビティでの作業の実行方法やアクティビティの動作のモデリングに関する詳細などがあります。しかし、iGrafx を使えば、これらすべての動作をモデリングできます
      • iGrafx では、以下のような機能を使用して、プロセス図表とモデルにおいてほとんどの BPMN 動作と規則をサポートします。
        • フローティング Swimlane(BPMN のプールを表す)
        • コンテナ図形(埋め込みサブプロセスを表す)
        • 例外(アクティビティの境界イベントを表す)
        • Swimlane の境界を終点とする接続線(メッセージを表す)
      • プロセスのモデリングとシミュレーションは、リソースの使用状況と、複数のトランザクションがプロセス内で同時にどのように処理されていくのかを考えるとき、(プロセス内の無関係のトランザクション(BPMN ではプロセス インスタンスと呼ばれる)間の相互作用を処理することは)非常に有用です。したがって、BPMN モデリングは一度に 1 つの開始トランザクションのみを考慮しますが、BPMN を iGrafx のプロセス モデリングとシミュレーションを組み合わせることで、両者の最良の部分を引き出すことができます。
      • iGrafx における 2 つの重要な BPMN 概念は以下のとおりです。
        • 独立または協調プロセス間のメッセージを同期する(「モデル内のメッセージ」を参照)
        • アクティビティからの例外フロー(「例外フロー」を参照)

2.3 BPMN 図表とプロセス図表の比較

      • iGrafx には、BPMN 図表で動作をモデリングするための BPMN 標準グラフィックスが含まれています。メッセージ処理や例外フローなどの BPMN 動作は、プロセス図表でも使用できます。
      • BPMN では、図表内の特定のオブジェクトにおいて、許可される動作が制限されます。制限された動作はオブジェクトの外観に反映されます。iGrafx では、Correct-by-Construction BPMN 図表をより迅速に作成するため、BPMN の図表作成規則と制限が強化されており、規則違反に関する警告も表示されます。詳細は、「BPMN モデリング エラー」を参照してください。
      • プロセス図表と BPMN 図表のどちらにも、同じモデリング機能があります。ただし、BPMN 規格をサポートするため、BPMN テンプレートの図表作成動作は以下のような点が異なります。
        • 接続された図形の意味を表すため、接続線のスタイルが変化します。これにより、メッセージ線、シーケンス フロー線、および補正の関連付けが影響を受けます。
        • BPMN プールを作成する際のデフォルトは、フローティング Swimlane です。
        • 動作によってインジケータが異なる場合があります。これは、コンテナ図形(埋め込みサブプロセス)や再利用可能なサブプロセス インジケータのスタイル、イベント トリガ(開始、中間、または終了)の枠線のスタイル、イベントの種類(タイマー イベントの時計など)にもあてはまります。インジケータ表示に関する詳細は、「メモ、リンク、インジケータを追加する」を参照してください。
        • デフォルトでは、BPMN は「スロー」または「キャッチ」スタイル インジケータを使用して、メッセージを受信するイベントと送信するイベントを区別します。iGrafx では、送信および受信したメッセージ、エラー(障害)のスローとキャッチなどに対してインジケータを選択できます。

2.4 BPMN プロパティ

      • 図表の描画が重要であり、シミュレーションのモデリングが重要ではない場合は、BPMN 図形パレットと[プロパティ]ダイアログ ボックス – [BPMN ガイド]ページ(BPMN ガイド)を組み合わせて使用することにより、BPMN を簡単に作成できます。BPMN ガイドは、標準的な BPMN 用語をモデリング ページの適切な設定にマップします。
      • 図形を図表にドロップするか、BPMN ガイドを使用して図形を変更したとき、BPMN がサポートするデフォルトのプロパティと外観が iGrafx により設定されます。[詳細]ボタンをクリックして、[入力]、[出力]などの適切なモデリング ページを選択すると、図形の動作を確認できます。

2.5 BPMN イベント

      • イベント フロー オブジェクトは、フローの開始や終了、遅延などの中間イベントの発生など、何かが発生したことを示します。イベントには次元があり、トリガや結果の種類があり、中断的または非中断的な動作がある場合があります。
      • イベント図形は、常に円で表されます。円の枠線の種類は、シーケンス フローにおけるイベントの次元または位置(開始、中間、終了)を反映します。開始イベントおよびほとんどの中間イベントには、イベントの原因を定義するトリガが含まれます。複数の方法でイベントをトリガできます。開始または中間イベントはトリガをスローまたはキャッチできます。終了イベントと一部の中間イベントは、シーケンス フローの結果を定義し、対応する中間または開始イベントがキャッチするイベントを「スロー」します。
      • イベントには、タイマーや障害(エラー)など、トリガまたは結果という種類を割り当てることができます。これらは、プロセスフローにおける動作を示します。イベントの種類は[プロパティ]ダイアログ ボックス – [BPMN ガイド]ページで素早く設定できます。プロパティによってイベントの種類と動作が定義され、インジケータがイベントの中央に表示されます。

2.6 例外フロー

      • 例外によって、通常のフローの中断または作業の即座の中止を行うアクティビティを発生させたり、イベントが非中断的である場合には並行フローを発生させたりするためのイベントや条件を定義します。どちらの場合でも、例外は、通常のパスの代わりに、または通常のパスに追加して、例外パスでアクティビティからトランザクションを出力します。

2.7 BPMN プール

      • iGrafx では、プールとレーンという BPMN 概念がサポートされます。プールには 1 つのプロセスのみが含まれます。個々の BPMN プールはそれぞれ異なる組織を表します。複数の BPMN レーンを使用して、1 つのプロセス内の 1 つの組織を分割して表すことができます。iGrafx BPMN 図表では、プールはフローティング Swimlane を示し、空白のスペースで区切られます。これにより、プールを通るシーケンスフローが制限されます。シーケンスフローは、プール内のレーンを通過することができますが、プール間を結ぶことはできません。プール間のメッセージフローを示すために、メッセージ線が使用される場合もあります。プールとレーンの作成に関する情報は、「Swimlane とフローティング Swimlane の手順」を参照してください。
      • BPMN では、シーケンスフローは、2 つの独立したプロセス(プール)を接続することはできません。また同期するメッセージフローを 1 つのプロセス(プール)内で接続することはできません。この規格をサポートするため、シーケンスフローの線は、BPMN 図表上の 2 つのプール間にあるスペースをまたぐことはできません。
      • 一般的に BPMN プールは外部のビジネス パートナーを表します。外部のビジネス パートナーは、主要 BPMN プールとそれに属するプロセスが通信する相手となります。図表には、主要なプロセス、およびパートナーとのメッセージ交換のパターンが示されます。
      • パートナーを表すプールは、抽象プロセスをモデリングします。抽象プロセスは、アクティビティを含まないこともあれば、メッセージの順序とメッセージ間の関連を提示またはモデリングするアクティビティを含む場合もあります。またパートナーには、メッセージの実装や処理、または作業の実行に関する詳細が含まれない場合もあります。

2.8 BPMN モデリング エラー

      • iGrafx の Correct by Construction 機能を使用して図表作成規則を適用し、BPMI.orgが発行した BPMN 仕様のモデリング違反を防ぐことができます。
      • [表示]メニューの[リアルタイム検査]を選択して BPMN モデル検査のオンとオフを切り替えます。オフにすると、図表が規格から外れていても、リアルタイムで警告が表示されることはありません。リアルタイム検査をオンにすることをお勧めします。

3.BPMN 図表の操作と参照

3.1 BPMN のフロー、プロセス、動作

(1) 閉じたサブプロセスを作成する
(2) 埋め込みサブプロセスを作成する
(3) イベントサブプロセスを作成する
(4) 例外フローを作成する
(5) 接続線または補正関連を例外フローとして指定する
(6) ゲートウェイ分岐とマージの動作をモデリングする
(7) イベント(リンク以外)を作成する
(8) リンク イベントを作成する

3.2 BPMN イベントの種類の参照

      • 図表では、イベントへの、またはイベントからのシーケンス フロー(接続線)によって、開始イベント、中間イベント、終了イベントが判別されます。
      •  BPMN の規則では、イベントの使用方法が規定されています。たとえば、中止イベントは、終了イベントとしてのみ使用できます。使用方法を誤まると、インタラクティブな検査機能により警告があります。
        iGrafx は、次の表に示された BPMN イベントの種類をサポートします。非中断的境界イベント(例外)は iGrafx にサポートされますが、表には示されていません。また、中間イベント(スローまたはキャッチなど)はイベントの種類によっては両方がサポートされますが、一方しか示されていません。

3.3 BPMN アクティビティの参照

      • アクティビティフローオブジェクトは作業が実行された場所を示します。
      • アクティビティは、標準的なタスクである場合も、サブプロセスである場合もあります。
      • iGrafx では、BPMN 標準で指定されているすべてのインジケータをサポートしています。これらは、BPMN アクティビティ図形内に表示されます。
      • 種類が[タスク]または[サブプロセス]のアクティビティフローオブジェクトには、繰り返し(ループ)動作、複数インスタンス、アドホック、ビジネス トランザクションなど、さまざまな高度な動作を関連付けることができます。また、境界イベント(例外フロー)もアクティビティで許可されます。
      • アクティビティのオプションと動作を設定するには、[プロパティ]ダイアログ ボックス – [BPMN ガイド]ページを参照してください。

3.4 BPMN ゲートウェイの参照

3.5 BPMN 図表の接続線の参照

      • 接続線は、同じ BPMN プール内にある 2 つのオブジェクトを接続するシーケンスフローを表します。
      • 異なる BPMN プールにあるオブジェクトはシーケンスフローで接続することはできませんが、メッセージフローで接続することができます。
      • 2つのオブジェクトがそれぞれ異なるプール内にあり、それらが接続線で接続されている場合、この接続線はメッセージ フローであり、破線で示されます。
      • あるプールから別のプールへオブジェクトを移動すると、シーケンスフローは破棄され、接続はメッセージスタイル線に変換されます。

3.6 BPMN 用語の参照

      • BPMN は独自の用語を持つイニシアチブであり、BPMN の用語が iGrafx の BPMN モデリングとシミュレーションでどのように使用されるのか(または使用されないのか)を理解することは重要です。
      • これにより、プロセス モデリングやシミュレーションで既に使用されている用語との矛盾を避けることができます。
      • また、iGrafx では BPMN の概念とは若干異なる名前や用語を用いる場合があります。
      • 下の表には、メニュー、ダイアログ ボックスなど、iGrafx ユーザー インターフェイスでの機能が記載されています。