解析UML時序圖的四大元素
本文和大家學(xué)習(xí)一下UML時序圖,時序圖(SequenceDiagram)用來顯示對象之間的關(guān)系,并強(qiáng)調(diào)對象之間消息的時間順序,同時顯示了對象之間的交互。
UML時序圖
時序圖(SequenceDiagram)用來顯示對象之間的關(guān)系,并強(qiáng)調(diào)對象之間消息的時間順序,同時顯示了對象之間的交互。
UML時序圖中包括如下元素,類角色,生命線,激活期和消息。
1、類角色(ClassRole)
類角色代表UML時序圖中的對象在交互中所扮演的角色,位于時序圖頂部。類角色一般代表實(shí)際的對象。
2、生命線(Lifeline)
生命線代表時序圖中的對象在一段時期內(nèi)的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間的消息存在于兩條虛線間。
3、激活期(Activation)
激活期代表uml時序圖中的對象執(zhí)行一項(xiàng)操作的時期,在時序圖中每條生命線上的窄的矩形代表活動期。
4、消息(Message)
消息是定義交互和協(xié)作中交換信息的類,用于對實(shí)體間的通信內(nèi)容建模,信息用于在實(shí)體間傳遞信息。允許實(shí)體請求其他的服務(wù),類角色通過發(fā)送和接受信息進(jìn)行通信。
UML時序圖描述對象是如何交互的,并且將重點(diǎn)放在消息序列上。也就是說,描述消息是如何在對象間發(fā)送和接收的。時序圖有兩個坐標(biāo)軸:縱坐標(biāo)軸顯示時間,橫坐標(biāo)軸顯示對象。每一個對象的表示方法是:矩形框中寫有對象或類名,且名字下面有下劃線;同時有一條縱向的虛線表示對象在序列中的執(zhí)行情況(即發(fā)送和接收的消息對象的活動),這條虛線稱為對象的生命線。對象間的通信用對象的生命線之間的水平的消息線來表示,消息線的箭頭說明消息的類型,如同步,異步或簡單。瀏覽時序圖的方法是,從上到下查看對象間交換的消息,分析那些隨著時間的流逝而發(fā)生的消息交換。
UML時序圖中的消息可以是信號、操作調(diào)用或類似于C++中RPC(RemoteProcedureCall,遠(yuǎn)程過程調(diào)用)或Java中的RMI(RemoteMethodInvocation,遠(yuǎn)程方法調(diào)用)。當(dāng)對象接收到一個消息時,該對象中的一項(xiàng)活動就會啟動,我們把這一過程稱做激活(Activation)。激活會顯示控制焦點(diǎn),表明對象在某一個時間點(diǎn)開始執(zhí)行。一個被激活的對象或者是執(zhí)行它自身的代碼,或者是等待另一個對象的返回(該被激活的對象已經(jīng)向另一個對象發(fā)送了消息)。在圖形上,激活被繪制為對象生命線上的一個瘦高矩形。
消息可以用消息名及參數(shù)來標(biāo)識。消息還可帶有條件表達(dá)式,表示分支或決定是否發(fā)送消息。如果用于表示分支,則每個分支是相互排斥的,即在某一時刻僅可發(fā)送分支中的一個消息。消息也可以有順序號,但是在時序圖中,消息的順序號很少使用,因?yàn)闀r序圖已經(jīng)將消息的順序顯式地表示出來了。
【編輯推薦】