UML Sequence Diagrams是交互圖,詳細說明了如何執行操做。 它們捕獲協做環境中對象之間的交互。 序列圖是時間焦點,它們經過使用圖表的垂直軸來直觀地顯示交互的順序,以表示消息的發送時間和時間。算法
序列圖捕獲:框架
序列圖顯示元素隨着時間的推移而相互做用,它們根據對象(水平)和時間(垂直)組織:ide
縱軸表示頁面下的時間進程(或進展)。函數
注意:序列圖中的時間都是關於排序的,而不是持續時間。 交互圖中的垂直空間與交互持續時間無關。oop
序列圖是一個交互圖,詳細說明了如何執行操做 - 發送什麼消息以及什麼時候發送消息。 序列圖根據時間進行組織。 當你走下頁面時,時間會進行。 操做中涉及的對象根據它們什麼時候參與消息序列從左到右列出。測試
如下是進行酒店預訂的序列圖。 啓動消息序列的對象是預留窗口。ui
注意:類和對象圖是靜態模型視圖。 交互圖是動態的。 它們描述了對象如何協做。編碼
Actor線程
參與者不必定表明特定的物理實體,而僅僅表明某個實體的特定角色 一個對象能夠扮演幾個不一樣Actor的角色,相反,一個Actor能夠由多個不一樣的對象來表示3d
Lifeline
生命線表明交互中的個體參與者
Activations
Call Message
注意:call message裏面出現的函數調用時目標對象的函數,而不是調用者的函數
Return Message
Self Message
Recursive Message(遞歸消息)
Create Message
Destroy Message
銷燬消息是一種消息,表示破壞目標生命線生命週期的請求(銷燬一個目標對象)
Duration Message
持續時間消息顯示消息調用的兩個時間點之間的距離
Note
註釋(註釋)使得可以將各類備註附加到元素。 註釋不帶語義力,但可能包含對建模者有用的信息。
Operator | Fragment Type |
---|---|
alt | 備用多個片斷:只執行條件爲真的片斷 |
opt | 可選:僅當提供的條件爲真時才執行片斷。 至關於只有一條跡線的alt。 |
par | 並行:每一個片斷並行運行 |
loop | 循環:片斷能夠執行屢次,而且防禦指示迭代的基礎 |
region | 關鍵區域:片斷只能有一個線程一次執行它 |
neg | 否認:片斷顯示無效的交互 |
ref | 參考:指在另外一個圖上定義的交互。 繪製框架以覆蓋交互中涉及的生命線。 您能夠定義參數和返回值。 |
sd | 序列圖:用於包圍整個序列圖 |
能夠組合幀以捕獲例如循環或分支。 組合片斷關鍵字:alt,opt,break,par,seq,strict,neg,critical,ignore,consideration,assert和loop。 約束一般用於顯示消息的時序約束。 它們能夠應用於一條消息的時間或消息之間的間隔。
用戶需求被捕獲爲精簡爲方案的用例。 用例是外部參與者與系統之間交互的集合。 在UML中,用例是:
「系統(或實體)能夠執行的一系列動做(包括變體)的規範,與系統的參與者進行交互。」
場景是經過用例的一個路徑或流程,該用例描述在系統的一個特定執行期間發生的事件序列,其一般由序列圖表示。
序列圖可能有點接近代碼級別,那麼爲何不編碼該算法而不是將其繪製爲序列圖?