時序圖組成


http://blog.csdn.net/doniexun/article/details/38317537

2. 時序圖組成

 

時序圖組成 : 時序圖包括四個元素 對象(Object)生命線(Lifeline)激活(Activation)消息(Message);

 

(1) 對象(Object)

 

 

對象 : 時序圖中的對象在交互中扮演的角色就是對象;

 

對象的符號 : 時序圖中的對象與對象圖中的表示方法一樣, 使用矩形將對象名稱包含起來, 並且對象名稱下有下划線;

 

對象創建時機 : 對象可以在交互開始的時候創建, 也可以在交互過程中進行創建;

-- 處於頂部 : 如果對象的位置在時序圖頂部, 說明在交互開始的時候對象就已經存在了; 

-- 不在頂部 : 如果對象的位置不在頂部, 那么對象在交互過程中創建的;

 

 

(2) 生命線(Lifeline)

 

 

生命線 : 生命線是一條垂直的虛線, 這條虛線表示對象的存在, 在時序圖中, 每個對象的底部都有生命線;

 

生命線作用 : 生命線是一個時間線, 從時序圖頂部一直到底部都存在, 其長度取決於交互的時間;

 

對象的生命線 : 對象與生命線結合在一起就是對象的生命線, 這個概念包含對象圖標 以及 對象下面的生命線圖標 如上圖;

 

 

(3) 激活(Activation)

 

 

激活(Activation) : 代表時序圖中對象執行一項操作的時期, 激活期可以理解為語義中 {} 中的內容, 表示該對象被占用以完成某個任務;

 

去激活(Deactivation) : 指對象處於空閑狀態, 在等待消息激活這個對象;

 

激活的表示 : 當對象處於激活時期, 生命線可以拓寬為矩形, 這個矩形條成為激活條; 

 

激活去激活的時機 : 

-- 激活 : 對象激活是在激活條的頂部激活;

-- 去激活 : 激活條的底部去激活, 通常發生在一個消息離開對象生命線; 

 

 

(4) 消息

 

消息概念 : 定義 交互 和 協作 中 交換信息 的類, 對 對象之間的 通信內容 建模;

 

消息動作 : 

-- 動作種類 : 消息允許在實體間傳遞信息 (傳遞參數), 允許實體請求其它服務, 對象之間通過 發送 和 接收 消息 進行通信; 

-- 產生結果 : 消息可以觸發操作喚起信號, 或使目標對象創建 或 銷毀;

 

消息的異步和同步通信 : 

-- 異步通信 : 消息是信號的時候, 發送信號之后, 等待對方觸發相應方法, 這是明確的 命名的 對象間的異步通信;

-- 同步通信 : 直接調用對象的方法, 執行方法返回結果, 這種具有返回控制機制的操作是同步通信;

 

時序圖和協作圖中消息的區別 : 時序圖中的消息強調順序, 協作圖中的消息強調交換消息的對象間的關系;

 

消息類型 :

--  : 兩個對象間繪制消息;

--  : 兩個對象之間的過程調用;

--  : 兩個對象之間的異步消息;

--  : 過程調用中返回的消息;

--  : 繪制反身消息;

 

 

3. 時序圖示例

 

示例簡介 : 

-- 使用場景 : 汽車租賃公司;

-- 使用的對象 : Customer (客戶), Worker (工作人員), Order (請求), Record (記錄), Car (汽車);

-- 工作流程 : ① 客戶 向 工人 提出租車要求, ② 工人 檢查 請求, ③ 客戶 付款, ④ 工人 填寫 記錄, ⑤ 工人 取車;

 

時序圖 : 

 

 

4. 對象的創建和撤銷

 

對象位置 

-- 頂部 : 時序圖中對象的默認位置是在時序圖頂部, 這表明對象在交互開始之間就已經存在;

-- 中間 : 如果對象在時序圖中間部分, 說明對象時在交互過程中創建的;

 

交互過程中創建對象的方法 : 

-- 消息指向對象 : 消息是構造方法, 箭頭指向對象所代表的的矩形;

-- 消息指向激活條 : 消息是構造方法, 箭頭指向對象下面的激活條;

 

撤銷對象 : 如果想要在時序圖中撤銷一個對象, 因為如果同時有幾個對象, 如果不進行特殊操作其生命周期將會一樣長;

-- 效果圖 : 下圖中將 Customer 和 Order 對象撤消了, 因為它們基本沒有參與后期的交互;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM