Table of Contents
hide
狀態機圖由幾個關鍵組成部分組成:
- 狀態:以圓角矩形表示,狀態是物件可以存在的條件或情境。
- 轉移:以箭頭表示,轉移表示在事件觸發下從一個狀態移動到另一個狀態。
- 事件:引發狀態之間轉移的觸發條件。事件標示在轉移箭頭上。
- 初始狀態:以實心黑圓表示,初始狀態表示狀態機的起始點。
- 終止狀態:以一個黑圓周圍包圍一個圓圈表示,終止狀態表示狀態機的終點。
- 判斷點:以菱形表示,判斷點表示根據條件進行分支。
- 動作:在轉移過程中或狀態內執行的活動。
建立狀態機圖
建立狀態機圖時,請遵循以下步驟:
- 識別狀態:確定物件可能處於的不同狀態。每個狀態應代表一種獨特的條件或情境。
- 定義轉移:識別引發狀態間轉移的事件。以對應的事件標示轉移。
- 繪製狀態:使用圓角矩形表示每個狀態。以描述性名稱標示每個狀態。
- 新增轉移:以箭頭連接各狀態以顯示轉移。以觸發轉移的事件標示箭頭。
- 包含初始狀態與終止狀態:將初始狀態放置於圖表的起始點,終止狀態放置於圖表的終點。
- 新增判斷點:如有需要,加入判斷點以表示根據條件進行分支。
解讀狀態機圖
背景
在現代電話系統的開發過程中,有效地管理電話在運行期間所經歷的各種狀態和轉換至關重要。這確保系統能正確運作,並提供無縫的使用者體驗。狀態機圖是一種強大的工具,可用於視覺化和管理這些狀態與轉換。
問題陳述
電話系統需要有效處理多種狀態與轉換,以確保通話從啟動到終止都能正確管理。目前的系統缺乏一個清晰且全面的模型來表示這些狀態與轉換,導致可能出現通話中斷、錯誤的通話路由以及使用者混淆等問題。

讓我們解讀附上的狀態機圖,該圖展示了電話的狀態與轉換:
- 初始狀態:流程從「空閒」狀態開始。
- 狀態:
- 空閒:電話處於非活躍狀態,正在等待事件發生。
- 撥號音:電話正在提供撥號音。
- 撥號中:電話正在撥打號碼的過程中。
- 連接中:電話正在嘗試連接通話。
- 響鈴:電話正在響鈴。
- 已連接:通話已連接。
- 已斷開:通話已斷開。
- 警告:電話處於警告狀態,可能是由於錯誤所致。
- 逾時:電話處於逾時狀態,正在等待回應。
- 錄音訊息:電話正在播放錄音訊息。
- 忙音:電話正在播放忙音。
- 快速忙音:電話正在播放快速忙音。
- 轉換:
- 掛機:將電話從「已連接」轉換為「空閒」,或從「已斷開」轉換為「空閒」。
- 逾時:將電話從「撥號中」轉換為「逾時」,或從「逾時」轉換為「空閒」。
- 數字(n):將電話從「撥號音」轉換為「撥號中」,或從「撥號中」轉換為「撥號中」。
- 有效號碼:將電話從「撥號中」轉換為「連接中」。
- 無效號碼:將電話從「撥號中」轉換為「警告」。
- 路由:將電話從「連接中」轉換為「振鈴」。
- 被叫電話接聽:將電話從「振鈴」轉換為「已連接」。
- 被叫電話掛機:將電話從「振鈴」轉換為「已斷開」,或從「已連接」轉換為「已斷開」。
- 號碼忙:將電話從「連接中」轉換為「忙音」。
- 中繼忙:將電話從「連接中」轉換為「快速忙音」。
- 事件:
- 掛機:電話已掛機。
- 逾時:發生逾時事件。
- 數字(n):撥打了一個數字。
- 有效號碼:撥打了有效號碼。
- 無效號碼:撥打了無效號碼。
- 路由:呼叫已路由。
- 被叫電話接聽:被叫電話已接聽。
- 被叫電話掛斷:被叫電話已掛斷。
- 號碼忙:被叫號碼正忙。
- 中繼線忙:中繼線正忙。
結論
狀態機圖是用於視覺化和管理系統與物件動態行為的強大工具。透過展示狀態與轉移,它們提供了物件對事件的生命周期與回應的清晰且簡明的呈現。無論是用於視覺化狀態轉移、理解物件生命週期,或設計反應式系統,狀態機圖都能提升溝通效率,並促進有效的系統設計與管理。
參考資料
Visual Paradigm
- 什麼是狀態機圖?
- 關於狀態圖你需要知道的一切
- 關於狀態圖你需要知道的一切
- 本文深入探討了狀態圖、其關鍵組件,以及如何有效地建立它們13.
- 如何使用UML建模狀態機?
- 如何使用UML建模狀態機?
- 此資源提供從控制器類別建立子狀態機圖的步驟,並在該處建模狀態機14.
- 狀態機圖教程
- 狀態機圖與活動圖的比較
- 狀態機圖與活動圖的比較
- 本文比較狀態機圖與活動圖,突出它們的差異與應用情境16.
Cybermedian
- UML狀態機圖中的複合狀態是什麼?
- UML狀態機圖中的複合狀態是什麼?
- 本文解釋UML狀態機圖中的複合狀態,允許同時存在並行狀態或多個狀態17.
- 透過範例學習:UML狀態機圖
- 透過範例學習:UML狀態機圖
- 本指南提供UML狀態機圖的範例,並解釋其關鍵組件與最佳實務18.
- 狀態機圖全面教程:軟體開發者的指南
- 狀態機圖全面教程:軟體開發者的指南
- 一份關於狀態機圖的詳細教程,包括其關鍵組件以及如何有效地創建它們19.
ArchiMetric
- Visual Paradigm 中的 UML 圖表入門
- Visual Paradigm 中的 UML 圖表入門
- 本文介紹了 Visual Paradigm 中提供的 14 種 UML 圖表,包括狀態機圖,用以描述物件的狀態及其狀態之間的轉移20.
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性
- 探索 UML:14 種圖表類型的概覽及其在敏捷環境中的相關性
- 本概述探討了 14 種 UML 圖表類型,包括狀態機圖,以及它們在敏捷環境中的相關性21.












