2009年8月14日 星期五

UML - 循序圖 (Sequence Diagram)

在使用案例圖做完後,會發現我們要提供的系統該提供哪些功能
可是系統到底應該做些什麼來達到這些功能呢
這時候就需要循序圖(Sequence Diagram)來幫忙啦

循序圖最大的好處就是可以沿著時間軸
一步一步的將某個使用案例中,系統元件的訊息交換表現出來

一個循序圖至少有下面幾個元素
元素說明
角色
(Class role)
每個物件在系統中所扮演的角色,觀眾、訂票網頁、資料庫
生命線
(Lifeline)
角色存活的時間,角色下延伸的虛線
活動
(Activity)
角色處理一項操作需要的時間,覆蓋虛線的方框
訊息
(Message)
物件之間溝通的訊息,方框間的箭頭符號
* 一般傳輸、呼叫、回傳分別用不同的箭頭表示
* 使用者對介面的溝通常會在訊息前加上"/"以示區別

透過循序圖,開發者可以先構思每個物件該如何交換訊息
而且因為有時間軸的概念,循序圖可以表示一些事件應該發生的先後順序
這是靜態圖和使用案例圖無法達到的

另外,雖然循序圖基本上是對單一使用案例的單一情況
(使用者下的決定或環境狀況)來做描述
不過如果希望將多種可能同時畫在一張循序圖上
也可以在傳遞的訊息前加上[狀況]來表達某種情況下的處理方式
不同狀況的處理方式就可以放進同一張循序圖中了
有興趣的話可以參考Interaction Diagrams
不過基本上這種做法常會讓循序圖的時間軸亂掉
如果沒有把握的話不建議使用

沒有留言:

張貼留言