以下先介紹狀態圖的圖示,然後給一個示範。
一、UML狀態圖的圖示
- 狀態:(State) 用圓角方形、其中寫狀態名稱,表示一個狀態。圓角方形中間可打一橫線,線下方標示該狀態的效果。
- 效果:(Effect) 以格式為 "動作類型 / 動作" 的文字,描述一個狀態的進、出、及運作的效果。動作類型有 Entry, Exit, 和 Do 等等。動作可以是類別的操作方法、或是簡單的動詞。對一項狀態來說,如果同一組動作類型的行為都有同樣的效果,則應該將此狀態效果寫出來。
- 傳遞:(Transition) 從一項狀態拉出帶箭頭的線、到另一項狀態、並在線上標識名稱,表示從一項狀態傳遞到另一項狀態。
- 傳遞標籤:(Transition Label) 以格式為 "事件 [限制條件] / 動作效果" 的文字,描述一項狀態滿足條件時會觸發一項事件、轉為另一項狀態,並且造成一項效果。事件(event)若使用英文應記為過去式動詞。限制條件是一則判斷式,為了表達明確,不要使用重疊的限制條件,例如 x <= 0 是重疊的,應該分為 x < x =" 0" style="font-weight: bold;">動作效果要標記類別的操作方法;動作效果和狀態效果有相同意義。
- 起動狀態:(Initial State) 用實心圓點表示起動狀態。起動狀態拉出的傳遞線不能有限制條件。
- 結束狀態:(Final State) 用外圍圓邊的實心圓點表示結束狀態。
以下示範一台讀卡機的狀態圖。