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