我的雲端生活網 - Life+

Thursday, March 19, 2009

工具系列:UML順序圖

本文介紹UML順序圖(Sequence Diagram)。順序圖是討論系統中物件彼此溝通時、全部操作的順序。因此,圖中應該列出物件、物件的並存、訊息、以及通訊方向。以下說明圖示的畫法及擺設方式,接著再給一個示範。

一、UML順序圖的圖示
  • 參與項目:(Participant) 將參與的物件水平地擺開,並取適當距離、提供後續繪圖空間。參與的物件,包含在使用案例圖定義的參與者和外部實體、以及在物件圖定義的物件。挑選適當數目的參與項目,使順序圖的主題比較突顯。
  • 生命線:(Lifeline) 從每個物件下方、向下拉出虛線,表示物件運作的時間範圍。通常,同一張圖的每個物件生命線都一樣長;而若一項物件比其他物件更早消滅(從記憶體移除),要在生命線末端添加交叉線符號(X),並且該物件的生命線比其他物件的生命線短。

  • 活動:(Activation) 在生命線上拉出一塊空白縱長方形,表示該參與項目在運作範圍內、有一段活動的時期。活動來自程序呼叫,因此活動方塊也可以稱為程序呼叫方塊(Method-call Box)。物件接受一項程序呼叫、啟動活動時期、最後再傳回結果。
  • 訊息:(Message) 用帶有箭頭的水平線、並在上方加上訊息名稱,表示一項訊息或操作過程的呼叫。線有三種類型:(1) 實線和實心箭頭、代表同步訊息;(2) 實線和線條箭頭、代表非同步訊息;(3) 點線、代表傳回值(return value)。實線是用來呼叫程序,訊息名稱是「操作方法(參數列)」的形式;虛線是用來表示回應訊息,訊息名稱是傳回值的名稱。

  • 通訊起點:可能從一項參與項目先發出訊息,從該項目的生命線直接拉出第一條訊息線。或者,可能不是從任何參與項目先發出訊息,則從左端畫一粒黑點、從黑點拉出第一條訊息線。


二、順序圖的示範

以下示範一般用戶登入 RFID 系統的順序圖,即門禁管理的案例。用戶靠卡創造啟動訊息;讀卡機查詢特定方向、讀取卡片代碼和密碼;接著,讀卡機將密碼加密,傳送到系統系統資料庫代理人取得用戶密碼;系統讀卡機送來的密碼解密、並與資料庫代理人送來的密碼比對,傳回結果;系統讀卡機傳送登入狀態;最後,讀卡機用戶呈現接收情況。

示範的順序圖如下:

No comments:

Blog Archive