状態モデルとは 1 つのタイプの変更依頼の プロセス モデルを表したものです。状態は、Submitted、Assigned、Opened、Closed など、 変更依頼の状態を表します。アクションとは、ユーザーが実行するアクティビティであり、 それにより変更依頼が次の状態に推移します。典型的なアクションには、Submit、Assign、Modify、Close などがあります。
このように変更依頼が推移することを状態遷移と呼びます。 状態遷移は、遷移元の状態 (現在の状態)、遷移先の状態、レコードを遷移元の状態から遷移先の状態に移行させるアクションから構成されます。
状態モデルは、変更依頼のタイプで有効なすべての状態と状態遷移を表示します。 たとえば、図の状態モデルは、ユーザー アクションの結果として、EnhancementRequest レコード タイプ (いくつかの 事前定義されたスキーマに含まれます) が、どのようにある状態から別の状態に 遷移するかを示しています (図 1 を参照)。
状態モデルの設計は、特定のレコード タイプ (つまり、変更依頼の特定のタイプ) で有効な すべての状態のリストを作成し、それらの状態を記述するところから始めるのが最善です。 たとえば、EnhancementRequest レコード タイプの状態は次の表のとおりです。
状態モデルとアクションを修正する 2 つの手段があります。 状態遷移マトリックスとアクション グリッドです。
状態遷移マトリックスでは、状態モデルをスプレッドシートのようなグリッドとして表します。 状態は上軸と横軸に一覧表示され、状態間の遷移を可能にするアクションがセルに示されます。
アクション グリッドでは、スキーマに定義済みのアクションを一覧表示します。グリッドの各行には、 アクション名、アクションのタイプ、アクションのアクセス制御の設定、さらにオプションの 初期化、確認、コミット、通知、レコード スクリプトなどの設定が含まれています。