UML之序列圖(Sequence Diagram)

類圖描述的是類之間的靜態關係,而序列圖展示的是對象之間的溝通方法,描述運行時的交互關係。
OOP編程語言裏面合理的直接交互方式只有一種,方法調用(Event通訊是間接的)。所以序列圖也可以
理解爲方法調用交互圖。方法調用有四個元素,參與者(兩個,調用者和被調用者),方法名稱,輸入
和輸出。

參與者

參與者用一個Lifeline來表示,圖像爲一個矩形外加底部的一條豎線。矩形裏面顯示對象名,格式爲
name:ClassType的樣式,都爲可選項,Martin Fowler推薦a Handler的格式,我更喜歡Handler
不過記得序列圖裏面的參與者都是對象。豎線表示生命週期,從上往下來看,Active的地方爲Bar形式,
其它爲虛線。如下圖:


方法調用

方法調用在序列圖裏面用消息來表示,爲了簡單起見,這裏只考慮同步調用。方法名體現爲消息名稱;
輸入置於消息名稱之後,用逗號分隔,並用小括號括起來,很像Java或C#裏面的參數列表;返回值用
獨立的返回消息來表示,返回值爲虛線。如下圖:


數據庫查詢的例子

注意new關鍵字,OOP裏面有構造函數的概念,新建一個對象的過程就是調用構造函數的過程。
圖如下:


小結

我覺得序列圖是類圖的一個補充,用於描述一些重要的運行時對象調用關係。簡單來理解的話,
序列圖就是方法調用棧。參與者,方法名,輸入,輸出是調用的四個組成部分。

發佈了76 篇原創文章 · 獲贊 535 · 訪問量 95萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章