一 定義
順序圖是將交互關系表示為一個二維圖。縱向是時間軸(生命線),時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處於激活狀態時,生命線是一個雙道線;
二 順序圖的要素
活動者,對象、生命線、控制焦點、消息
活動者:活動的發起人活着活動的承受者。
對象:活動中交互的實體,三種表示如下:
生命線:描述對象的生存周期,對象下方的虛線就是生命線,如上圖。
控制焦點:指活動者或對象執行狀態的時間段:
消息:消息用於描述對象間交互的方式和內容:
1.同步消息:一個對象向另一個對象發出同步消息后,將處於阻塞狀態,一直等到另一個對象的回應。
2.異步消息:一個對象向另一個對象發出異步消息后,這個對象可以進行其他的操作,不需要等到另一個對象的響應。
3.返回消息:同步消息的返回消息
4.自關聯消息:用來描述對象內部函數的互相調用。
1.條件判斷:用於描述代碼中if…else…這種結構
標記為“alt” 例如:
2.可選:是一種特殊的“條件判斷”,它只是一個if,沒有else if或else
可選的標記為:opt 例如:
3.循環:是指代碼中的for、while之類的語句塊。
循環的標記為:loop
例如:下圖中[m,n]是指至少執行m次,最多執行n次
4.同步:用於描述多線程的情況。
同步的標記是:par 例如:
順序圖的引用:
在一個順序圖中,可以引用另一個順序圖,其引用方式類似於復合片段,
標簽為:ref 例如:
三:畫順序圖的步驟
1. 確定交互的范圍
2. 確定參與交互的活動者與對象
3. 確定活動者、對象的生存周期
4. 確定交互中產生的消息
5. 細化消息的內容
四:酒店預訂的一個用例(尋找酒店)
代碼實例:
五:用例圖、活動圖、時序圖之間的關系
六 :類圖與時序圖之間的關系
類圖描述系統的靜態結構,時序圖描述系統的動態行為。
若出現了一個新的消息(不是類中的操作),則需要為類添加一個新的操作。