1、順序圖
順序圖又稱為時序圖,顧名思義,它着重表現的是對象間消息傳遞的時間順序。順序圖描述的對象也是一個用例,即一組行為操作,而它表現的是這組行為的先后關系(縱坐標),以及每個行為是屬於哪個對象的(橫坐標)。
作用:用對象間的交互來描述用例。
組成成分:參與者、對象
對象的生命線:用於表示某段時間內該對象是存在的,表示對象的生存時間。
消息:表示對象間的通信。當收到消息后,接收消息的對象立即開始執行活動,起到激活對象的作用。通常用消息名和參數表來標識。
橫坐標:表示不同的對象。對象的左右順序不重要,但是為了整潔清晰,應該遵循以下兩個原則:(觀點來自於http://www.lupaworld.com/article-233409-1.html)
(1)把交互頻繁的對象盡可能地靠攏。
(2)把初始化整個交互活動的對象(有時是一個參與者)放置在最左邊。
縱坐標:表示行為的先后關系。在圖上方的消息在時間上先於下方的消息,消息的閱讀順序是嚴格自上而下的。
下面以銀行儲蓄系統為例:

參與者:儲戶、業務員
對象:窗口類(Windows)的對象表單(form)、賬戶類(Account)的對象、取款記錄類(WithdrawRecord)的對象。
消息:
1)首先業務員向表單對象發送消息:inputWithdrawInfo(輸入取款信息);
2)表單對象接收到消息后向賬戶對象發送消息:withdraw(取款),消息含有參數:accountNo(賬戶編號)、amount(取款數量);
3)賬戶對象接收消息后向自己發送消息,激活自己的行為活動:checkBalance(查詢余額),消息含有參數:accountNo(賬戶編號)、amount(取款數量);
4)接下來賬戶對象向窗口對象(表單)發送返回消息:requestPassword(要求輸入密碼);
5)儲戶輸入密碼后,向賬戶對象發送消息:checkPassword(請求檢驗密碼),消息含有參數:pwd(密碼);
6)賬戶對象檢查密碼后,如果密碼正確,則回饋給儲戶密碼正確的信息(return true);
7)、8)賬戶對象向自身發送信息,激活自身的行為:compInterest(計算利息)、compBalance(計算賬戶余額);
9)賬戶對象向取款記錄對象發送消息:addRecord(增加記錄),消息參數有:accountNo(賬戶編號)、amount(取款數量)、interest(利息);
10)如果添加記錄成功,取款記錄對象向賬戶對象返回正確的消息(return true);
11)如果賬戶對象收到正確的消息,則向業務員返回正確的消息(return true)。
2、用Visio畫UML順序圖
(1)打開Visio 2010軟件
(2)點擊“新建”->“軟件和數據庫”->“UML模型圖”。
(3)在“模型資源管理器”中右擊“頂層包”或者先新建一個子系統,“新建”->“序列圖”
(4)下面就可以拖拽各種組件來構建自己的順序圖了。
其中“參與者”在“UML用例”中可以找到,其他的組件都在“UML序列”中可以找到。
如果想更改對象或者消息的名稱,則雙擊繪制屏幕上的組件,輸入信息即可。
