文章目錄
- 1)調用(Call):訊息的寄件者將請求傳遞給訊息的接收者,請求接收者對象執行某種操作。通常,這需要發
- 2)非同步(asynchronous)訊息:這種訊息中,寄件者把控制權轉交給接收者,但並不等操作完成。
一、時序圖的含義
時序圖(Sequence Diagram)描述了對象之間傳遞訊息的時間順序,它用來表示用例中的行為順序,是強調訊息的時間順序的互動圖。
時序圖描述類系統中類和類之間的互動,它將這些互動建模成訊息交換,當執行一個用例行為時,時序圖總的每一條訊息對應了一個類操作或狀態機器中引起轉換的觸發事件。
圖形上參與互動的各對象在時序圖的頂端排列,每一個對象的底端都繪製了一條垂直虛線,當一個對象向另一個對象發送訊息時,此訊息開始於發送對象底部的虛線,終止於接收對象底部的虛線,這些訊息用箭頭表示,水平放置,沿垂直方向排列,在垂直方向上,越靠近頂端的訊息越早被發送。當對象收到訊息後,把訊息當做執行某種動作的命令。所以時序圖向使用者提供了事件流隨時間推移的、清晰的和可視化的軌跡。
二、時序圖包含的元素(1)對象
對象代表時序圖中的對象在互動中所扮演的角色。對象從左至右布置在順序圖的頂部。
(2)訊息
一個對象到另一個對象的訊息用跨越物件生命線的訊息線表示。對象還可以發送訊息給它自己,也就是說,
訊息線從自己的生命線出發又回到自己的生命線。
訊息的類型:
1)調用(Call):訊息的寄件者將請求傳遞給訊息的接收者,請求接收者對象執行某種操作。通常,這需要發
送者等待接收者返回訊息,所以這種訊息又叫做同步(synchronous)的訊息。
2)非同步(asynchronous)訊息:這種訊息中,寄件者把控制權轉交給接收者,但並不等操作完成。
(3)生命線
生命線代表時序圖中的對象在一段時期內的存在。每個對象底部中心都有一條垂直的虛線,這就是對象的
生命線,對象間的訊息存在於兩條虛線之間。
順序圖的基本圖符集:
三、時序圖的用途(1)時序圖有生命線
生命線表示一個對象在一段時期內的存在,正是因為這個特性,使時序圖適合對象之間訊息的時間順序。
一般,對象的生命線從圖的頂部畫到底部,這表示對象存在於互動的整個過程,但對象也可以在整個互動中創
建和撤銷,
(2)時序圖有啟用期
啟用期代表一個對象直接或間接的執行一個動作的時間,啟用矩形的高度代表啟用期間。時序圖的這
個特性可視化的描述了對象執行一項操作的時間,顯然這個特性使系統間對象的互動更容易理解
四、時序圖的建模技術
時序圖建模時,遵循如下策略:
(1)設定互動的語境,這些語境可以是系統、子系統、操作、類、用例和協作的一個指令碼。
(2)通過識別對象在互動中扮演的角色,根據對象的重要性,將其從左向右的方向放在時序圖中。
(3)設定每個對象的生命線。一般情況下,隊形存在於互動的整個過程,但它可以在互動過程中建立和撤銷。
(4)從引發某個互動的資訊開始,在生命線之間按從上向下的順序畫出隨後的訊息。
(5)設定對象的啟用期,這可以可視化實際計算髮生時的時間點、可視化訊息的嵌套。
(6)如果需要設定時間後空間的約束,可以為每個訊息附上合適的時間和控制項約束。
(7)給某控制流程的每個訊息附上前置或後置條件,這可以更詳細地說明這個控制流程。
五、時序圖建模舉例(1)飲料銷售機之“買飲料”理想情境建模
(2)零錢數量不對情況下的建模
(3)機房收費系統之學生上機