Trufun UML2建模工具
原文轉自trufun.net網站,更多UML資料和項目模型,可以到網站下載。
狀態圖
我先簡單的理解一下,什麼是狀態機?
① 在日常生活中,狀態機,我們理解爲記錄下給定時刻狀態的機器,根據不同的輸入對每個給定的變化而改變其狀態或引發一個動作。
② 在UML中,狀態機由對象的各個狀態和連接這些狀態的轉換組成,是展示狀態與狀態轉換的圖。
③ 狀態圖本質上就是一個狀態機或是狀態機的特殊情況。由表示狀態的節點和表示狀態之間轉換的帶箭頭的直線組成。
• 認識狀態的概念和分類:
• 狀態圖組成還包括:
▶ 活動圖
活動圖是另一個種動態視圖,描述動作和動作導致對象狀態改變的結果,而不用考慮引發狀態改變的事件。
• 活動圖的圖形標準:
① 起點
【作用】描述活動圖的開始狀態
【表示方式】黑的實心圓
② 終止點
【作用】描述活動圖的終止狀態
【表示方式】實心圓的空心圓
③ 活動
【作用】可以是手動也可以自動的執行任務
【表示方式】圓角矩形
④ 狀態
【作用】活動的所處狀態
【表示方式】橢圓矩形
⑤ 轉換
【作用】描述一個活動轉向另一個活動
【表示方式】帶箭頭的實線段,指向轉向的活動
• 活動圖的組成
▶ 狀態圖中“動作”和活動圖中的“動作狀態”區別
• 相同點:
① 都是原子性的,動作要麼不執行,要麼就完全執行,不能中斷
② 執行時間都極短
• 不同點:
動作狀態和狀態圖中的狀態不同,不能有入口動作和出口動作,也不能有內部轉移
▶ 瞭解活動圖和狀態圖的各自作用
• 狀態圖的作用:
① 清晰描述狀態之間的轉換順序,通過轉換順序可以清晰看出事件的執行順序
② 清晰的事件順序有利於程序員在開發程序時避免出現事件錯序的情況
③ 清晰地描述了狀態轉換時所必須觸發德爾事件、監護條件和動作等影響轉換的因素,有利於程序員彙總非法事件的進入
④ 通過判斷更好地描述工作流因爲不同的條件發生的分支
• 活動圖的作用:
▶ 活動圖和狀態圖的區別
• 目的不同:活動圖的主要目的是描述動作及對象的改變結果,而狀態圖則是描述對象、子系統、系統在生命週期中的各種行爲
• 活動圖中的狀態轉換不需要任何觸發事件,狀態圖則需要觸發事件
• 活動圖種的動作可以放在泳道中,狀態圖不可以