狀態圖(Statechart Diagram):
描述一個特定對象的所有可能狀態及其引起狀態轉移的事件。
並不是所有的類都需要使用狀態圖來描述它的行為,只有那些具有重要交互行為的類,我們才會使用狀態圖來描述。
組成:
狀態(State):又稱為中間狀態,用圓角矩形框表示,在一個狀態圖中可有多個狀態,每個狀態包含兩格:上格放置狀態名稱,下格說明處於該狀態時對象可以進行的活動(Action)。
初始狀態(Initial State):又稱為初態,用一個黑色的實心圓圈表示,在一個狀態圖中只能夠有一個初始狀態。
結束狀態(Final State):又稱為終止狀態或終態,用一個實心圓外加一個圓圈表示,在一個狀態圖中可能有多個結束狀態。
轉移(Transition):用從一個狀態到另一個狀態之間的連線和箭頭說明狀態的轉移情況,並用文字說明引發這個狀態變化的相應事件是什么。事件有可能在特定的條件下發生,
在UML中這樣的條件稱為守護條件(Guard Condition),發生事件時的處理也稱為動作(Action)。狀態之間的轉移可帶有標注,由三部分組成(每一部分都可省略),其語法為:事件名 [條件] / 動作名。