3

BPMN を使用して一部のソフトウェアの展開プロセスをモデル化しようとしています。展開のさまざまな部分で問題が発生する可能性があるため、それぞれの場合に取るべき手順を図に示したいと思います。

最初はこれに「補償」イベントを使用する必要があるように見えましたが、「エラー」イベントを使用することになりました。これら 2 つの明確な区別を見つけることはできませんでしたが、私が思いついた最善の方法は、「エラー」は、タスクがエラーを生成した場合にすぐに発生することを示し、「補償」は、いずれかの場合に発生する必要があることを示すということです。後で、プロセスを逆にする必要があります。

私が見た補償の例は、ホテルの予約を行う旅行代理店のようなものです。予約をキャンセルするタスクは、予約タスクの補償イベントになります。「エラー」の適切な例をたくさん見つけることができませんでした。この場合、「エラー」を使用するのは正しいですか?

4

2 に答える 2

4

私が理解できる最善のことですが、それは真実ではないかもしれません。

補正を使用すると、プロセスを完了できるように何かを修正できます。キャンセルとは、アクティビティが中止されることです。エラーは、プロセスが失敗し、プロセスを修正しないアクティビティがトリガーされた場合です。

旅行代理店の例: 旅行代理店のプロセスが単純にキャンセルされた場合、(元に戻されていないため) ライブ予約がまだ存在する可能性があるため、補償アクティビティが必要です。旅行代理店が部屋を適切に予約できなかった場合、旅行代理店に通知を提供するためにエラー プロセス ステップが必要になりますが、システムによって補償がすぐに有効になることはありません。
補償活動を処理するのは旅行代理店次第です。

ピザ注文の例: 電話またはインターネットでのピザ注文が放棄 (キャンセル) された場合、補償活動は必要ありません。支払いシステムがダウンした場合 (エラー)、ユーザーに通知する必要があり、補償は自動的に行われません。補償により、他のカード、COD、またはタブのように、代替の手配が可能になります。

そのため、プロセスが標準パスで完了しない場合は、エラーまたは補正が必要になる場合があります。この代替パスが呼び出されたが、それ以上の作業 (補正アクティビティ) が必要ない場合は、エラーが発生します。キャンセルは代替経路を必要としない傾向があります。

于 2013-09-09T05:52:45.360 に答える