轉載:https://www.cnblogs.com/silent2012/archive/2011/11/01/2178278.html
狀態圖主要用於描述對象具有的各種狀態、狀態之間的轉換過程以及觸發狀態轉換的各種事件和條件。
1、狀態圖的組成
1.1 狀態
主要用於描述一個對象在生命周期內的一個時間段。狀態圖中的狀態包括狀態名、內部活動、內部轉換、入口和出口動作等部分。
1.2 轉換
轉換是指狀態之間在某種事件或條件的驅動下的切換的過程。轉換分為外部轉換、內部轉換、完成轉換、復合轉換等。如下圖:
1.3 判定
判定用來表示一個事件依據不同的監護條件有不同的影響。在實際建模的過程中,如果遇到需要使用判定的情況,通常用監護條件來覆蓋每種可能,使得一個事件的發生能保證觸發一個轉換。
1.4 同步
同步是為了說明並發工作流的分支與匯合。狀態圖和活動圖中都可能用到同步。
1.5 事件
事件可以分成幾種,主要包括:信號事件、調用事件、改變事件和時間事件等。
1. 信號事件(Signal Event)信號是作為兩個對象之間的通信媒介的命名的實體,它以對象之間顯式通信為目的。
2. 調用事件(Call Event)調用事件指的是一個對象對調用(Call)的接收,這個對象利用狀態的轉換而不是利用固定的處理過程實現操作。
3. 改變事件(Change Event)指的是依賴與特定屬性值的布爾表達式所表示的條件滿足時,事件發生改變。
4. 時間事件(Time Event)時間事件(Time Event)表示時間表達式被滿足的事件,它代表時間的流逝。
2、組成狀態
在一個復雜的狀態中,可以細化為多個簡單的子狀態。這個復雜的狀態就被稱之為組成狀態(Composite State)。
2.1 順序組成狀態
2.2 並發組成狀態
(訂貨的狀態圖)
3 實例:團購旅游活動狀態圖