UML狀態圖的兩個問題

  • 作者:由 匿名使用者 發表于 遊戲
  • 2022-10-19

UML狀態圖的兩個問題匿名使用者2009.03.04 回答

你需要先理解什麼是狀態、狀態的分類。

狀態分為簡單狀態和組合狀態。比如:電話通話中是一個簡單狀態,電話振鈴也是一個簡單狀態,這兩個狀態又可統稱為電話忙狀態(組合狀態)。

從簡單狀態來看,轉移條件只需要一個條件就夠了。但對於組合狀態未必,但組合狀態最終還是由簡單狀態來體現的,所以,歸根結底的說,狀態轉移只需要一個條件。

第二個問題,最終狀態和初始狀態並不是真正的狀態,而是UML為了問題描述的方便引入的兩個“偽狀態”。只要物件的生命週期結束,就可說這個物件的狀態隨之結束。所以只要物件的生命週期有不同的結束形式,就對應的多個最終狀態。比如對於“網上選課系統”中的“課程物件”,學期結束對應一個最終狀態。但有時候,你執行“選課系統”的目的僅僅是為了修改一門課程的資訊,修改完畢後,其生命週期隨之結束,對應著一個最終狀態。

所以對於“最終狀態”,你要抓住一個實質:物件生命週期的終結。雖然有多種最終狀態,但本質是一樣的。

至於正常結束和非正常結束,你不必太較真,這是UML2。0複雜冗餘的一種表現,UML2。0有好多不合理的地方,比如“物件圖”,沒有什麼作用,基本上已被廢棄。

Top