看看實際效果
狀態機圖表工具範例。
同一款工具,四種需求。下方每張圖都是實際產生的成果。
輸入內容
繪製三人制撞球的狀態圖,顯示兩位玩家都在遊戲中、未進球或犯規時交換回合、清空對手球組時進入勝利狀態,以及獲勝後的自我迴圈。
接著試試在玩家 1 開始前加入開球狀態。將勝利條件改為必須打進 8 號球。
狀態圖 · OMG UML 2.5.1 §14 + Harel (1987) statechart · schematex-state
產生的圖表
什麼是狀態機圖表。
狀態機圖表會建模系統的各種狀態,以及讓系統在狀態之間移動的事件。當某個模式包含自己的內部生命週期時,也能呈現守衛、動作與複合狀態。
當系統的回應取決於目前所在狀態時,狀態機圖表特別實用,例如遊戲、裝置、通訊協定或應用程式工作階段。圖表能讓團隊集中檢視正常流程、無效事件與終止狀態。
- Standard
- OMG UML 2.5.1 §14 + Harel (1987) statechart
- Engine
- schematex-state
- Editable
- Double-click text, drag nodes
- Export
- SVG · PNG · PDF
適用對象
誰會使用狀態機圖表。
在實作控制項前,先規劃選單、遊玩、暫停與遊戲結束模式。
規劃角色動作與中斷情境,例如移動、攻擊、受傷與恢復。
規劃包含配對、準備確認與巢狀遊戲階段的工作階段狀態。
運作方式
三個步驟製作狀態機圖表。
01
描述需求
寫一段話就能開始。
“繪製三人制撞球的狀態圖,顯示兩位玩家都在遊戲中、未進球或犯規時交換回合、清空對手球組時進入勝利狀態,以及獲勝後的自我迴圈。”
02
查看圖表
由合適的繪圖引擎產生。
03
提出修改
每次修改都會保留版本。
在玩家 1 開始前加入開球狀態。
V2 · DRAWN FROM V1, NOTHING RETYPED常見問題
常見問題
什麼是狀態機圖表?
狀態機圖表會顯示系統可能處於的狀態,以及造成狀態之間移動的事件或條件。它通常用作 UML 行為圖表。
狀態機和流程圖有什麼差別?
流程圖描述工作或決策的執行順序;狀態機則描述系統如何根據目前狀態與收到的事件,以不同方式運作。
轉移上的守衛與動作是什麼?
守衛是轉移發生前必須成立的條件。動作則是轉移發生時執行的工作,例如儲存資料或通知其他系統。
什麼是複合狀態?
複合狀態包含描述內部行為的較小狀態。它會將相關模式群組在較高層級的狀態下,讓大型狀態機更容易閱讀。
如何製作狀態機圖表?
先列出起始狀態、可能的模式、狀態之間的轉移事件,以及終止或錯誤狀態。只有在守衛與動作會改變行為時才加入。
相關工具