乱数を利用したワークフローの自動分岐

2013年11月11日
業務プロセスの中で「乱数」を使うケースは、、、あまりナイ。

強いて言えば、内部統制視点で「レビュー者の固定化」を防いだり、当選者を決める「厳正な抽選における当選者番号の決定」で自動化させたり、…するくらいだろうか?

以下のワークフローサンプルは、社内で「しりとり」ができる業務プロセス定義だ。全くもって実用性はないが、クエステトラのブログで紹介したところ「アーカイブを見てみたい」との稀有な意見もあったので、改めて当サイトのコンテンツとして紹介しておく。(もちろんアーカイブも無料ダウンロード可能)

この例では「しりとり」のやり取り相手(回答者)が「乱数」で選択される。分岐ゲートウェイの直前で「乱数」を発生させ、その乱数に従って分岐ゲートウェイの経路が選択される仕組みだ。(自動分岐)

[しりとりフロー]
ここで利用される「乱数」は、自動処理『スクリプトタスク』内の Javascript (ECMA) 関数 random が都度生成している。random 自体は「0以上1未満の小数」を生成する関数のため、「0以上2未満の自然数」を取得すべく2倍値(random() * 2)の小数部を切り捨てるスクリプトになっている。

Math.floor(Math.random() * 2); //floor: 切り捨て関数(床関数)

ちなみに、もし"5択値"が必要なら「Math.floor(Math.random() * 5) 」、もし"10択値"なら「Math.floor(Math.random() * 10) 」とすればよい。業務フローの途中で乱数が必要なら、是非応用してもらいたい。

※ 自動処理『スクリプトタスク』: クラウド型ワークフロー『Questetra BPM Suite』の ver 9.7 以降で利用可能

[しりとりフロー:「2a. 答える」画面]

[スクリプト設定画面]

[データ項目一覧画面]


[ダウンロード]
<類似プロセス>
≪関連記事≫

0 件のコメント :

コメントを投稿