
- UML 教程
- UML - 首頁
- UML - 概述
- UML - 構建塊
- UML - 架構
- UML - 建模型別
- UML - 基本符號
- UML - 標準圖
- UML - 類圖
- UML - 物件圖
- UML - 元件圖
- UML - 部署圖
- UML - 用例圖
- UML - 互動圖
- UML - 狀態圖
- UML - 活動圖
- UML - 總結
- UML 2.0 概述
- UML 2.0 - 概述
- UML 有用資源
- UML - 有用資源
- UML - 知識測試
- 實用工具
- UML - 工具與實用工具
- UML - 討論
UML - 狀態圖
圖的名稱本身就闡明瞭圖的目的和其他細節。它描述了系統中元件的不同狀態。這些狀態特定於系統的元件/物件。
狀態圖描述了一個狀態機。狀態機可以定義為一個機器,它定義了物件的不同狀態,而這些狀態受外部或內部事件控制。
下一章中解釋的活動圖是一種特殊的狀態圖。由於狀態圖定義了狀態,因此它用於對物件的整個生命週期進行建模。
狀態圖的目的
狀態圖是用於對系統動態特性進行建模的五個 UML 圖之一。它們定義了物件在其生命週期中的不同狀態,並且這些狀態會因事件而改變。狀態圖可用於對反應式系統進行建模。反應式系統可以定義為對外部或內部事件做出響應的系統。
狀態圖描述了從一個狀態到另一個狀態的控制流。狀態被定義為物件存在的一種條件,當觸發某些事件時,它會發生變化。狀態圖最重要的目的是對物件從建立到終止的生命週期進行建模。
狀態圖也用於系統的正向和反向工程。但是,主要目的是對反應式系統進行建模。
以下是使用狀態圖的主要目的:
對系統的動態方面進行建模。
對反應式系統的生命週期進行建模。
描述物件在其生命週期中的不同狀態。
定義狀態機來對物件的狀態進行建模。
如何繪製狀態圖?
狀態圖用於描述物件在其生命週期中不同狀態。重點放在某些內部或外部事件發生時狀態的變化上。這些物件的狀態對於分析和準確實現它們非常重要。
狀態圖對於描述狀態非常重要。狀態可以識別為當特定事件發生時物件的條件。
在繪製狀態圖之前,我們應該闡明以下幾點:
確定要分析的重要物件。
識別狀態。
識別事件。
以下是一個狀態圖示例,其中分析了 Order 物件的狀態
第一個狀態是空閒狀態,程序從此開始。接下來的狀態是針對傳送請求、確認請求和排程訂單等事件而到達的。這些事件是導致訂單物件狀態更改的原因。
在物件(此處為訂單物件)的生命週期中,它會經歷以下狀態,並且可能存在一些異常退出。此異常退出可能是由於系統中的一些問題引起的。當整個生命週期完成後,它被認為是一個完整的交易,如下面的圖所示。物件的初始狀態和最終狀態也顯示在下面的圖中。

在何處使用狀態圖?
從上面的討論中,我們可以定義狀態圖的實際應用。狀態圖用於對系統的動態方面進行建模,就像本教程中討論的其他四個圖一樣。但是,它具有一些用於建模動態特性的獨特特徵。
狀態圖定義了元件的狀態,並且這些狀態更改本質上是動態的。其特定目的是定義由事件觸發的狀態更改。事件是影響系統的內部或外部因素。
狀態圖用於對狀態以及作用於系統的事件進行建模。在實現系統時,闡明物件在其生命週期中的不同狀態非常重要,狀態圖用於此目的。當這些狀態和事件被識別後,它們被用於對它進行建模,並且這些模型在系統實現過程中使用。
如果我們深入瞭解狀態圖的實際實現,那麼它主要用於分析受事件影響的物件狀態。此分析有助於理解系統在執行期間的行為。
主要用途可以描述為:
對系統的物件狀態進行建模。
對反應式系統進行建模。反應式系統由反應式物件組成。
識別導致狀態更改的事件。
正向和反向工程。