解析UML時序圖的通用準(zhǔn)則,用途和組成元素
本文和大家重點(diǎn)討論一下UML時序圖,UML時序圖是一種強(qiáng)調(diào)消息時序的交互圖,他由活動者(Actor)、對象(Object)、消息(Message)、生命線(Lifeline)和控制焦點(diǎn)(Focusofcontrol)組成。
UML時序圖簡介
UML時序圖(SequenceDiagram)是強(qiáng)調(diào)消息時間順序的交互圖。UML時序圖描述類系統(tǒng)中類和類之間的交互,它將這些交互建模成消息交換。UML時序圖是一個模型,用于描述對象組如何隨著時間在某些行為方面進(jìn)行協(xié)作。
UML時序圖是一種強(qiáng)調(diào)消息時序的交互圖,他由活動者(Actor)、對象(Object)、消息(Message)、生命線(Lifeline)和控制焦點(diǎn)(Focusofcontrol)組成。在UML中,對象表示為一個矩形,其中對象名稱標(biāo)有下劃線;消息在UML時序圖中由有標(biāo)記的箭頭表示;生命線由虛線表示,控制焦點(diǎn)由薄薄的矩形表示。
UML時序圖將交互關(guān)系表示為一個二維圖,縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協(xié)作中各獨(dú)立對象的類元角色。類元角色的活動用生命線表示。當(dāng)對象存在時,生命線用一條縱線虛線表示,當(dāng)對象的過程處于激活狀態(tài)時,生命線是一個雙通道。消息用從一個對象的生命線到另一個對象生命線的箭頭表示,箭頭以時間順序在圖中從上到下排列。
設(shè)計UML時序圖時的通用準(zhǔn)則
◆盡力保持消息的順序從左到右排列
◆將分類器分層
◆避免建模對象Destruction
◆分類器的原則
◆消息的原則
◆直接創(chuàng)建對象
◆為參數(shù)占位符說明類型
◆類的消息實(shí)現(xiàn)為靜態(tài)操作
◆返回值的原則
當(dāng)返回值非常明顯時就不要對返回值建模,返回值的顯示是使用帶返回值標(biāo)記的虛線箭頭,返回值是可選的。
◆為返回值占位符注明類型
◆明確地為簡單值標(biāo)明實(shí)際值
UML時序圖的用途
◆當(dāng)不同的類之間存在多個簡短的方法時,描述控制流的整體序列。
◆顯示并發(fā)進(jìn)程和激活。
◆顯示在協(xié)作圖中難以描述的時間序列。
◆顯示涉及類交互而與對象無關(guān)的一般形式。
UML時序圖組成元素
動態(tài)模型描述了系統(tǒng)隨時間變化的行為,這教學(xué)些行為是用從靜態(tài)視圖中抽取的系統(tǒng)的瞬間值的變化來描述的,在UML的表現(xiàn)上,動態(tài)模型主要是建立系統(tǒng)的交互圖和行為圖。
交互圖包括UML時序圖和協(xié)作圖,行為圖則包括狀態(tài)圖和活動圖
UML時序圖(SequenceDiagram)用來顯示對象之間的關(guān)系,并強(qiáng)調(diào)對象之間消息的時間順序,同時顯示了對象之間的交互。
UML時序圖中包括如下元素:類角色,生命線,激活期和消息
1,類角色(ClassRole)
類角色代表UML時序圖中的對象在交互中所扮演的角色,位于UML時序圖頂部和對象代表類角色。類角色一般代表實(shí)際的對象
2,生命線(Lifeline)
生命線代表UML時序圖中的對象在一段時期內(nèi)的存在。UML時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間的消息存在于兩條虛線間。
3,激活期(Activation)
激活期代表UML時序圖中的對象執(zhí)行一項操作的時期,在UML時序圖中每條生命線上的窄的矩形代表活動期。它可以被理解成C語言語義中一對花括號“{}”中的內(nèi)容
4,消息(Message)
消息是定義交互和協(xié)作中交換信息的類,用于對實(shí)體間的通信內(nèi)容建模,信息用于在實(shí)體間傳遞信息。允許實(shí)體請求其他的服務(wù),類角色通過發(fā)送和接受信息進(jìn)行通信
【編輯推薦】