時序圖

時序圖

時序圖(Sequence Diagram),又名序列圖、循序圖,是一種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"標識。

創建步驟

1、確定互動過程的上下文;
2、識別參與過程的互動對象;
3、為每個對象設定生命線;
4、從初始訊息開始,依次畫出隨後訊息;
5、考慮訊息的嵌套,標示訊息發生時的時間點,則採用FOC(focus of control);
6、說明時間約束的地點。

相關詞條

熱門詞條

聯絡我們