UML九種建模圖--狀態圖


狀態圖

一個狀態圖(Statechart Diagram)本質上就是一個狀態機,或者是狀態機的特殊情況,它基本上是一個狀態機中元素的一個投影,這也就意味着狀態圖包括狀態機的所有特征。

在UML中,狀態圖由表示狀態的節點和表示狀態之間轉換的帶箭頭的直線組成。狀態的轉換由事件觸發,狀態和狀態之間由轉換箭頭連接。每一個狀態圖都有一個初始狀態(實心圓),用來表示狀態機的開始。還有一個中止狀態(半實心圓),用來表示狀態機的終止。狀態圖主要由元素狀態、轉換、初始狀態、中止狀態和判定等組成,一個簡單的狀態圖如下:

 

 狀態圖由狀態、轉換、事件、活動和動作五部分組成。

狀態

  用於對實體在其生命周期中的各種狀況進行建模,一個實體總是在有限的一段時間內保持一個狀態。狀態由一個帶圓角的矩形表示,狀態的描繪素應該包括名稱、入口和出口動作、內部轉換和嵌套狀態。如下圖,為一個簡單狀態:

 

 轉換:

在UML的狀態建模機制中,轉換用帶箭頭的直線表示,一端連接源狀態,箭頭指向目標狀態。轉換還可以標注與此轉換相關的選項,如事件、監護條件和動作等,如下圖所示。注意:如果轉換上沒有標注觸發轉換的事件,則表示此轉換自動進行。

初始狀態:

每個狀態圖都應該有一個初始狀態,它代表狀態圖的起始位置。初始狀態是一個偽狀態(一個和普通狀態有連接的假狀態),對象不可能保持在初始狀態,必須要有一個輸出的無觸發轉換(沒有事件觸發器的轉換)。通常初始狀態上的轉換是無監護條件的,並且初始狀態只能作為轉換的源,而不能作為轉換的目標。在UML中,一個狀態圖只能有一個初始狀態,用一個實心圓表示。

終止狀態:

終止狀態是一個狀態圖的終點,一個狀態圖可以擁有一個或者多個終止狀態。對象可以保持在終止狀態,但是終止狀態不可能有任何形式的和觸發轉換,它的目的就是為了激發封裝狀態上的轉換過程的結束。因此,終止狀態只能作為轉換的目標而不能作為轉換的源,在UML中,終止狀態用一個含有實心圓的空心圓表示。

5)判定:

活動圖和狀態圖中都有需要根據給定條件進行判斷,然后根據不同的判斷結果進行不同轉換的情況。實際就是工作流在此處按監護條件的取值發生分支,在UML中,判定用空心菱形表示。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM