UML序列圖

UML序列圖

時序圖(Sequence Diagram),亦稱為序列圖或循序圖,是一種UML行為圖。

簡介

它通過描述對象之間傳送訊息的時間順序顯示多個對象之間的動態協作。它可以表示用例的行為順序,當執行一個用例行為時,時序圖中的每條訊息對應了一個類操作或狀態機中引起轉換的觸發事件。

時序圖元素

時序圖中包括如下元素:角色,對象,生命線,激活期和訊息

1、角色(Actor)

系統角色,可以是人或者其他系統,子系統。

2,對象(Object)

對象代表時序圖中的對象在互動中所扮演的角色,位於時序圖頂部和對象代表

對象實例 對象實例

對象實例

類角色。

對象一般包含以下三種命名方式:

第一種方式包含包含對象名和類名

第二種方式只顯示類名不顯示對象名,即為一個匿名對象。

第三種方式只顯示對象名不顯示類名。

3,生命線(Lifeline)

生命線實例 生命線實例

生命線實例

生命線代表時序圖中的對象在一段時期內的存在。時序圖中每個對象和底部中心都有一條垂直的虛線,這就是對象的生命線,對象間 的訊息存在於兩條虛線間。

4,激活期(Activation)

激活期代表時序圖中的對象執行一項操作的時期,在時序圖中每條生命線上的窄的矩

激活期實例 激活期實例

形代表活動期。它可以被理解成C語言語義中一對花括弧“{}”中的內容

5,訊息(Message)

訊息是定義互動和協作中交換信息的類,用於對實體間的通信內容建模,信息用於在實體間傳遞信息。允許實體請求其他的服務,類角色通過傳送和接受信息進行通信

訊息實例 訊息實例

訊息實例

時序圖結構

時序圖描述對象是如何互動的,並且將重點放在訊息序列上。也就是說,描述訊息是如何在對象間傳送和接收的。時序圖有兩個坐標軸:縱坐標軸顯示時間,橫坐標軸顯示對象。每一個對象的表示方法是:矩形框中寫有對象和 / 或類名,且名字下面有下劃線;同時有一條縱向的虛線表示對象在序列中的執行情況 ( 即傳送和接收的訊息對象的活動 ) , 這條虛線稱為對象的生命線。對象間的通信用對象的生命線之間的水平的訊息線來表示,訊息線的箭頭說明訊息的類型,如同步,異步或簡單 。 瀏覽時序圖的方法是,從上到下查看對象間交換的訊息,分析那些隨著時間的流逝而發生的訊息交換。

時序圖中的訊息可以是信號、操作調用或類似於 C++ 中的 RPC ( Remote Procedure Call, 遠程過程調用)或 Java 中的 RMI ( Remote Method Invocation , 遠程方法調用)。當對象接收到一個訊息時,該對象中的一項活動就會啟動,我們把這一過程稱做激活 ( Activation )。 激活會顯示控制焦點,表明對象在某一個時間點開始執行。一個被激活的對象或者是執行它自身的代碼,或者是等待另一個對象的返回(該被激活的對象已經向另一個對象傳送了訊息)。在圖形上,激活被繪製為對象生命線上的一個瘦高矩形。

訊息可以用訊息名及參數來標識。訊息還可帶有條件表達式,表示分支或決定是否傳送訊息。如果用於表示分支,則每個分支是相互排斥的,即在某一時刻僅可傳送分支中的一個訊息。訊息也可以有順序號,但是在時序圖中,訊息的順序號很少使用,因為時序圖已經將訊息的順序顯式地表示出來了。

一個對象可以通過傳送訊息來創建另一個對象,當一個對象被刪除或自我刪除時,該對象用 "X"標識。

相關詞條

相關搜尋

熱門詞條

聯絡我們