一,什麼是狀態圖?
狀態圖用來描述一個特定對象的所有可能狀態以及由於各種事件的發生而引起的狀態之間的轉移.
二,狀態圖內容
狀圖圖中包括: 狀態
轉換
起點
終點
當支票被建立時,支票為未支付的狀態,當支票被付款後,支票變成已支付的狀態,然後支票作廢。
1,狀態
狀態是指在對象的生命期中滿足某些條件,執行某些活動或等待某些事件時的一個條件或狀況。
一個狀態有以下幾個部分:
1,名稱name
2,進入協作或退出動作entryaction/exit action
3,內部轉換internal transition
4,子狀態substate
5,延遲事件deferred event
,狀態樣本:
2,轉換
一個轉換是兩個狀態之間的一種關係,表示對象將在第一個狀態中執行一定的動作,並在某個特定事件發生而某個特定的條件滿足時進入第二個狀態。
一個轉換由5部分組成:
源狀態source state
事件觸發event trigger
監護條件 guard condition
動作action
目標狀態 target state
三,狀態機器
狀態機器是這樣一種行為,它描述了一個對象或一個互動在生命週期內響應事件所經曆的狀態序列。
單個類或一組類之間協作的行為可以用狀態機器來描述。
一個狀態機器涉及到一些其他元素,包括狀態,轉換(從一個狀態到另一個狀態的流),事件(觸發轉換的)
四,比較活動圖表和狀態圖
狀態圖側重從行為的結果來描述,而活動圖表側重從行為的動作來描述。
從應用方面看,
在實際項目中,活動圖表並不是必須的.一般在一下情況需要使用活動圖表:
描述一個並行的過程或者行為.
描述一個演算法
描述一個跨越多個用例的活動.
狀態圖描述了一個具體對象的可能狀態以及它們之間的轉換.
活動圖表更像流程圖,注重邏輯和流程;而狀態圖則注重狀態之間的轉變。
,是一個大樓建造的活動圖表,主要描述了大樓建造的過程,其中建造和交易處理是並行的,體現了活動圖表可以描述並行活動的特點。
,為一個狀態圖(轉換條件省略),主要是描述了各個狀態的轉換過程,對比上面的活動圖表,可以非常直觀的看出這兩種圖所要表達的側重點。