狀態圖用來描述一個特定對象的所有可能狀態以及由於各種事件的發生而引起的狀態之間的轉移
爲什麼要繪製狀態圖?如果系統存在複雜的狀態變換,我們需要對它進行模擬和監控,爲保證狀態的一致性,不會出現非法狀態。
狀態圖側重從行爲的結果來描述,活動圖側重從行爲的動作來描述
圖符:狀態、轉移、起點、終點
狀態機
狀態機是這樣一種行爲,它描述了對象或一個交互在生命期內響應事件所經歷的狀態序列,單個類或一組類之間協作的行爲可以用狀態機來描述。涉及元素:狀態、轉換、事件、活動。
狀態
狀態是指對象在生命期中滿足某些條件、執行某些活動或等待某些事件時的一個條件或狀況。組成元素:名稱、進入協作和退出動作、內部轉換、子狀態、延遲事件。
轉換
是兩個狀態之間的一種關係,表示對象在一狀態執行一定動作可進入第二個狀態。元素:源狀態、事件觸發、監護條件、動作、目標狀態
活動圖不是必須的,以下需要活動圖
描述一個並行的過程或者行爲
描述一個算法
描述一個跨越多個用例的活動
而狀態圖則是必須的,在有些系統中是相當重要的,系統就是執行狀態圖的引擎
我畫的機房收費系統狀態圖爲: