業務フロー図ライブラリ Q Business Process Management

シーケンスフロー

出典: Q-BPM
接続オブジェクト

image:connecting-objects.png

シーケンスフローとは、プロセス内のアクティビティの実行順序を示す接続オブジェクトのこと。Sequence Flow。

目次

シーケンスフローの概要

フローオブジェクト

image:Objectoo.png

シーケンスフローは接続オブジェクトの1つで、ビジネスプロセス図において

アクティビティ同士を接続し、そのアクティビティの順序を実線の矢印によって表現したもの」

である。一般にシーケンスフローは「一方通行」の経路で、プロセス図の左から右へまたは上から下へとプロセスを展開させるので、「矢印」の向きは基本的に右向きか下向きとなる。シーケンスフロー1つにつき、

  • ソースオブジェクト:始点(Source)となるフローオブジェクト
  • ターゲットオブジェクト:対象(Target)となるフローオブジェクト

が1つずつ置かれる。ただし、1つのフローオブジェクトに接続するシーケンスフローは複数であってもよい。

実際のビジネスプロセスにおける「作業順序」を図のなかにモデル化するオブジェクトとして、BPMNではシーケンスフローが定義されている。

シーケンスフローには、次のような特徴がある。

  • プールの境界線を横断することができない(メッセージフローとの相違点)。
  • サブプロセスの境界線を横断することができない。
  • 成果物(データオブジェクト、グループ、アノテーションなど)による影響を受けない。
  • フローオブジェクトの境界上ならどこでも接続することは可能。

BPMNの冗長性

柔軟な記法であるBPMNでは、シーケンスフローによる業務プロセスの表現として様々なバリエーションがある。そのため、同一のプロセスであるにもかかわらず、プロセス図の設計者によってさまざまな図が描けてしまい、統一性に欠け、結果的に現場の実際の業務担当者を困らせることがある。柔軟性を持つがゆえのこの性質は、一般にBPMNの「冗長性」と呼ばれている。

各種シーケンスフロー

シーケンスフローは以下の3種類に分類される。

非制御シーケンスフロー(Uncontrolled Sequence Flow)

非制御シーケンスフローは、単純に後続のフローオブジェクトに流すシーケンスフロー。条件によって左右されず、またゲートウェイを通過することはない。非制御シーケンスフローを使って同時並列を表現することができる。

制御シーケンスフロー(Conditional Sequence Flow)

制御シーケンスフローは、始点にひし形(◇)が付いていて条件式が記述されているシーケンスフロー。フロー上に定義された条件式を満たせば、フローを通過することができる。このフローの始点となるフローオブジェクトが条件分岐付きのアクティビティの場合は、シーケンスフローの始点に「制御マーカー」(小さいひし形)が付けられる。判断ゲートウェイの場合、このゲートウェイが「制御マーカー」の役割を果たすので、マーカーは不要となる。

デフォルトシーケンスフロー(Default Sequence Flow)

デフォルトシーケンスフローは、デフォルトの条件式が定義されたシーケンスフロー。他の制御シーケンスフローがすべて「偽」である場合に通過することができる。シーケンスフローの始点側にバックスラッシュ(\)を付けて表す。

シーケンスフローのメカニズム

プロセス設計者によるシーケンスフローを用いた表現には、大きく分けて通常フロー例外フローの2種類がある。

  1. 通常フロー
    開始イベントから始まり、代替経路や並行経路を経由して終了イベントで終了するまで、アクティビティの順序通りに流れ続ける。
  2. 例外フロー
    プロセスの実行時に発生する中間イベントに基づいて、プロセスの通常フローの外部において生ずる。通常フロー内のアクティビティにスロー(throw)する中間イベント(メッセージ、タイマー、エラー)が接続していて、それらを作動させる事情が生じたとき、「例外処理」のためにトークン例外フローを通過する。
例外フロー(時間切れの場合)
例外フロー(時間切れの場合)

アドホック

一連のアクティビティの順序を、プロセス設計者が事前に定義できないときに使われる。アクティビティの実行者がシーケンスフローの作用(方向、回数など)を決定する。「チルダ(tilde)記号」(~、にょろ)を用いて表現する。
アドホック
アドホック

通常フローの合流・分岐

通常フローで使用される代替経路や並行経路、経路の合流などは、以下の通りにまとめられる。

種類解説
説明
フォーク分岐(Forking Flow)
And分岐(And-Split)
1つの経路を複数の並行経路に分岐する。条件や状況に従ってフローが制御されているわけではないので、ここでは非制御シーケンスフローが使用される。並列ゲートウェイ(Parallel Gateway)を使用せずに表記する方法が最も簡単である。
And分岐
And分岐
結合 (Joining Flow / And-Join) 複数の並行経路を1つの経路に結合する。フォーク分岐で生成されたトークンが、複数の並行経路を通り並列ゲートウェイで結合する形が一般的。
結合
結合
判断分岐 (Splitting Flow)
OR分岐(OR-Split)
XOR分岐(XOR-Split)
1つの経路を複数の代替経路に分岐する。制御シーケンスフローやゲートウェイ(排他・包含・複合)を用いて表記する。
OR分岐
OR分岐
併合 (Merging Flow / OR-Join) 複数の代替経路を1つの経路に併合する。M中のN併合(複合ゲートウェイの併合)もここに含まれる。
OR分岐およびOR-Join
OR分岐およびOR-Join
アクティビティループ (Activity Looping) アクティビティの形状をした四角形の中央下に「ループマーカー」を置き、アクティビティの繰り返しを表す。展開されたサブプロセスでも用いられる。
アクティビティループ
アクティビティループ
シーケンスフローループ
(Sequence Flow Looping)
あるフローオブジェクトから、順序が先のフローオブジェクトへフローがさかのぼる。通常は、ある条件式がデフォルトと判断されなくなるまで同一のプロセスを繰り返すというモデル設計がなされる。リンク中間イベントを用いる方法もある。
シーケンスフローループ
シーケンスフローループ
シーケンスフロージャンプ
(Sequence Flow Jumping)
プロセス図が長大化してページをまたがってしまうときに用いられる。Off-PageコネクタおよびGo To オブジェクトを指し、リンク中間イベントがこの役割を果たす。
シーケンスフロージャンプ
シーケンスフロージャンプ
親プロセスとサブプロセスとの接続 親プロセスのフローオブジェクトからサブプロセス内の開始イベントへとシーケンスフローを接続することはできる。また、サブプロセスが終了しても、サブプロセス内の終了イベントから親プロセスのフローオブジェクトへと接続することも可能。
親プロセス→サブプロセス→親プロセス
親プロセス→サブプロセス→親プロセス
他のプロセスのフローの制御
(マイルストーン、Milestone)
あるフローが、他のプロセス中のアクティビティによる制御を受ける。シグナルイベントを使って表される。
シグナルイベントによるフローの制御
シグナルイベントによるフローの制御
不適切なプロセス図 グラフ構造をしたBPMNは柔軟な記法であるため、実際にはモデル通り行えなかったり、モデル設計者が予期しなかった振る舞いをされたりする恐れがある。例えばデッドロックなど。
設計ミスによるデッドロック
設計ミスによるデッドロック

関連記事

参考文献

ツールボックス
リンク元
リンク先の更新状況
アップロード
特別ページ
印刷用バージョン
この版への固定リンク


カテゴリ
一般名詞 | 固有名詞 | 汎用業務プロセス | 基幹系業務プロセス | 支援管理系業務プロセス
Q-BPM Q-BPMでは企業内の業務フローについて、そのサンプルプロセスを幅広く例示し、業務フロー図の作成を支援します。 (※ 業務フロー図: 業務の流れ図/ビジネスダイアグラム/業務プロセス図) 当サイトは世界中の協力者を募るクラウドソース型情報発信サイトであり、サイトコンテンツは原則として「特定条件を満たせば転載可能」な「CC-By SA」と呼ばれるライセンスのもとに公開されます。 株式会社クエステトラ このサイトはBPMに興味があるが多数の書籍や文献、難しい用語の調査に膨大な時間を費やしている世界中のビジネスマンの為に株式会社クエステトラによって始められました。株式会社クエステトラはBPMに興味があるが多くの関連用語を調べたり文献を探したりする手間を減らして、BPMを理解したり、BPMを実際に活用したりする時間を世界中のビジネスマンに貢献したいと思っています。

Powered by MediaWiki CreativeCommons By SA