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