全面認識UML動態模型圖
本文和大家重點討論一下UML動態模型圖,動態模型圖主要包括交互圖和行為圖,交互圖又分為時序圖和協作圖,行為圖又分為狀態圖和活動圖。
UML動態模型圖
動態模型時指系統隨時間變化的行為,行為是用從靜態視圖中抽取的系統的瞬間值的變化來描述的。
從UML的表現上,UML動態模型圖主要是:
交互圖和行為圖
交互圖又分為:
時序圖
協作圖
行為圖又分為:
狀態圖
活動圖
下面詳細讀解各類圖:
時序圖
UML動態模型圖中時序圖(SequenceDiagram)用來顯示對象之間的關系,并強調對象之間消息的時間順序,同時顯示了對象之間的交互。
時序圖主要包括如下元素:
類角色,生命線,激活期,消息
1,類角色(ClassRole)
類角色代表時序圖中的對象在交互中所扮演的角色,位于時序圖頂部和對象代表類角色。類角色一般代表實際的對象
2,生命線(Lifeline)
生命線代表時序圖中的對象在一段時期內的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間的消息存在于兩條虛線間。
3,激活期(Activation)
激活期代表時序圖中的對象執行一項操作的時期,在時序圖中每條生命線上的窄的矩形代表活動期。它可以被理解成C語言語義中一對花括號“{}”中的內容
4,消息(Message)
消息是定義交互和協作中交換信息的類,用于對實體間的通信內容建模,信息用于在實體間傳遞信息。允許實體請求其他的服務,類角色通過發送和接受信息進行通信
協作圖
協作圖(CollaborationDiagram)是UML動態模型圖的另一種表現形式,它強調參加交互的各對象的組織。協作圖只對相互間有交互作用的對象和這些對象間的關系建模,而忽略了其他對象和關聯。協作圖可以被視為對象圖的擴展,但它除了展現出對象間的關聯外,還顯示了對象間的消息傳遞。
協作圖中包括如下元素:類角色,關聯角色和消息流
1,類角色(ClassRole)
類角色代表協作圖中對象在交互中所扮演的角色。在協作圖中矩形中的對象代表類角色,類角色的代表參與交互的對象,它的命名方式和對象的命名方式一樣
2,關聯角色(AssociationRole)
關聯角色代表協作圖中連接在交互中所扮演的角色。協作圖中連線代表著關聯角色
3,消息流(MessageFlow)
消息流代表協作圖中對象間通過鏈接發送的消息。協作圖中類角色之間的箭頭表明在對象間交換的消息流,消息由一個對象發出由消息所指向的對象接收。鏈接用于傳輸或實現消息的傳遞。消息流上標有消息的序列號和類角色間發送的消息,一條消息會觸發接受對象中的一項操作
狀態圖
UML動態模型圖中狀態圖是表現一個系統或一個組件可能存在的狀態
狀態圖用業顯示一個對象的狀態序列,使對象達到這些狀態的事件和條件,以及在此過程中所做的操作。
圖通常包括如下內容
1,狀態
狀態定義對象在其生命周期中的條件或狀況,在此期間,對象滿足某些條件,執行某些操作或等待某些事件。狀態用于對實體在其生命中狀況建模
2,轉換
轉換包括事件和動作。事件是發生在時間空間上的一點值得注意的事情,動作是原子性的。它通常表示一個簡短的計算處理過程。
在UML中,圖形上每一個狀態圖都有一個初始狀態(實心圓),用來表示狀態機的開始。還有一個終止狀態(半實心圓),用來表示狀態機的終止。其它的狀態用一個圓角的矩形表示。轉換表示狀態間可能的路徑,用箭頭表示,事件寫在由它們觸發引起的轉換上。
活動圖
UML動態模型圖中活動圖是一種表述過程基理,業務過程以及工作流的技術。它所起到的作用與流程圖類似,但是,與流程圖不同的是,活動圖支持并行行為。活動圖可看作是狀態圖的特例或者擴展。而活動圖除表述對象狀態外,更注更對象的活動
整個過程用黑實心圓表示開始,用黑白黑心圓表示終止,用圓角矩形表示活動。分支以及分支結束時的合并merge在圖中用菱形表示。解以及分解結束時的線程結合join在圖中用粗黑線表示
UML動態視圖比較
UML的動態視圖包括交互圖,狀態圖和活動圖,它們的區別是:
1,狀態圖是為一個對象的生命期間的情況建立模型
2,交互圖(時序圖和協作圖)表示若干個對象在一起工作完成某項服務
3,活動圖描述活動的序列,建立活動間控制流的模型
【編輯推薦】