1. 程式人生 > >UML之時序圖(Sequence Diagram)

UML之時序圖(Sequence Diagram)

在我們開發系統的時候我們都要知道這件事情是怎麼幹的,時間順序是怎麼著的,哪個進行完了之後進行哪個,時序圖發揮的就是這個作用。

在面向物件動態建模,用於建立行為的實體間行為互動的四種圖:狀態圖(Stage Diagram),序列圖(Sequence Diagram),協作圖(Communication Diagram),活動圖(Activity Diagram) ,其中,“順序圖”與“協作圖”表述的是相似的訊息。

接下來說時序圖


一、概念

 時序圖,英文名曰:Sequence Diagram,也稱順序圖和序列圖,是一種行為圖,她通過描述物件之間傳送訊息的時間順序顯示多個物件之間的動態協作。她可以表示用例的行為順序,當執行一個用例行為時,時序圖中的每條訊息對應了一個類操作或狀態機引起轉換的觸發事件。

二、時序圖的元素

生命線、角色、物件、控制焦點、訊息

1、生命線

每條生命線上都關聯著一個物件,上圖中有三條生命線,可以看到有三個物件,但是三個物件的命名方式都是不一樣的。選擇一個物件,在屬性中可以更改這種命名,分別介紹一下這三種命名方式:


顯示例項名和類名,方式:例項名:類名;只顯示類名,方式::類名;只顯示例項名,方式:例項名。其實,三種命名方式,沒有特別的要求,哪一種能讓閱讀該時序圖的人一眼就能看明白,就使用哪種,而我一般使用的是第一種和第二種,第一種資訊量多,在單例時,可以用來表示;第二種,畫時序圖時不用刻意的去強調例項名,只需要作出類名就好了;但是,第三種,我一直不知道存在的意義,給你一個例項名,其實從圖中真的看不出其的類名。所以,我個人還是建議大家使用第一種和第二種。


2、控制焦點控制焦點是順序圖中表示時間段的符號,在這個時間段內物件將執行相應的操作

3訊息

訊息一般分為同步訊息、非同步訊息和返回訊息;如下圖表示


(1)同步訊息

就是指訊息的傳送者把控制傳遞給訊息的接收者,然後停止活動,等待訊息的接收者放棄或者返回控制。用來表示同步的意義。(2)非同步訊息

就是指訊息傳送者通過訊息把訊號傳遞給訊息的接收者,然後自己繼續活動,不等待接收者返回訊息或者控制。非同步訊息的接收者和傳送者是併發工作的。(3)返回訊息

就是指訊息從過程呼叫返回。同步訊息=呼叫訊息(Synchronous Message訊息的傳送者把控制傳遞給訊息的接收者,然後停止活動,等待訊息的接收者放棄或者返回控制。用來表示同步的意義。


(4)自關聯訊息表示方法的自身呼叫以及一個物件內的一個方法呼叫另外一個方法,如下圖:


三、如何閱讀時序圖首先,時序圖用來表示用例中的行為順序,當執行一個用例行為時,順序圖中的每條訊息對應了一個類操作或者狀態機中引起轉換的事件;其次,時序圖展示物件之間的互動,這些互動是指在場景或用例的事件流中發生的。時序圖屬於動態建模;最後,時序圖的重點在訊息序列上,也就是說,描述訊息是如何在物件間傳送和接收的。表示了物件之間傳遞訊息的時間順序。

四、機房例項



小結:在軟體開發的過程中時序圖是非常重要的一個UML圖,要倍加重視。