狀態模型

此主題解釋了 ClearQuest 狀態模型的概念。

狀態模型代表一種記錄類型的程序模型。狀態代表記錄的狀態,例如,「已送出」、「已指派」、「已開啟」和「已關閉」。CHANGE_STATE 動作是使用者所執行的一種活動,可將記錄移至下一個狀態。一般的 CHANGE_STATE 動作包括「送出」、「指派」和「關閉」。

這種移動記錄的動作即稱為狀態轉移。狀態轉移是由來源狀態(現行狀態)、目的地狀態以及將記錄從來源狀態移至目的地狀態的動作所組成。

狀態模型會顯示該類型記錄的所有有效狀態和狀態轉移。例如,此圖中的狀態模型顯示 EnhancementRequest 記錄類型(包含在數個預先定義的綱目中)如何從一種狀態移至另一種狀態,成為使用者動作的結果 (圖 1)。

圖 1. 「加強功能」記錄類型的狀態模型此影像說明「加強功能」記錄類型的狀態和動作。

開始設計狀態模型的最佳方式,就是列出並說明對特定記錄類型有效的所有狀態(亦即,記錄的特定類型)。例如,下表說明 EnhancementRequest 記錄類型的狀態。

狀態
說明
已提交
新記錄的第一個狀態。
已開啟
正在處理記錄。
已關閉
已驗證記錄修正。
複製
此記錄與另一筆記錄重複。

修改狀態模型和動作有兩種機制可用:「狀態轉移矩陣」和「動作格線」。

「狀態轉移矩陣」是以類似試算表的格線來表示狀態模型,列出兩側的軸和上軸的狀態,以及容許資料格所顯示的各狀態進行轉移的動作。

「動作格線」列出綱目所定義的動作。格線中每一列包含動作名稱、動作類型、動作的存取控制設定及選用的「起始設定」、「驗證」、「確定」、「通知」和「記錄 Script」等設定。


意見