UML Sequence Diagrams是交互圖,詳細說明了如何執行操作。它們捕獲協作環境中對象之間的交互。序列圖是時間焦點,它們通過使用圖表的垂直軸來直觀地顯示交互的順序,以表示消息的發送時間和時間。
序列圖捕獲:
- 在實現用例或操作的協作中發生的交互(實例圖或通用圖)
- 系統用戶與系統之間,系統與其他系統之間或子系統之間的高級交互(有時稱爲系統序列圖)
學習UML更快,更好,更容易
您是否正在尋找一種免費的UML工具來更快,更輕鬆,更快速地學習UML?Visual Paradigm Community Edition是一個支持所有UML圖類型的UML軟件。它是一款屢獲殊榮的國際UML建模師,但它易於使用,直觀且完全免費。
序列圖的目的
- 模擬系統中活動對象之間的高級交互
- 對實現用例的協作中的對象實例之間的交互建模
- 對實現操作的協作中的對象之間的交互建模
- 模擬通用交互(顯示通過交互的所有可能路徑)或交互的特定實例(僅顯示交互中的一條路徑)
序列圖一覽
序列圖顯示元素隨着時間的推移而相互作用,它們根據對象(水平)和時間(垂直)組織:
對象維度
- 橫軸表示交互中涉及的元素
- 傳統上,操作中涉及的對象根據它們何時參與消息序列從左到右列出。但是,橫軸上的元素可以按任何順序出現
時間維度
- 縱軸表示頁面下的時間進程(或進展)。
注意:
序列圖中的時間都是關於排序的,而不是持續時間。交互圖中的垂直空間與交互持續時間無關。
序列圖示例:酒店系統
序列圖是一個交互圖,詳細說明了如何執行操作 - 發送什麼消息以及何時發送消息。序列圖根據時間進行組織。當你走下頁面時,時間會進行。操作中涉及的對象根據它們何時參與消息序列從左到右列出。
以下是進行酒店預訂的序列圖。啓動消息序列的對象是預留窗口。
注意:類和對象圖是靜態模型視圖。交互圖是動態的。它們描述了對象如何協作。
序列圖表示法
符號說明
視覺表現
參與者
- 與主體交互的實體所扮演的一種角色(例如,通過交換信號和數據)
- 在主體外部(即,在某個意義上,參與者的實例不是其相應主題的實例的一部分)。
- 表示人類用戶,外部硬件或其他主題所扮演的角色。
注意:
- 參與者不一定代表特定的物理實體,而僅僅代表某個實體的特定角色
- 一個人可以扮演幾個不同參與者的角色,相反,一個參與者可以由多個不同的人演奏。
生命線
- 生命線代表交互中的個體參與者。
激活
- 生命線上的細長矩形表示元素執行操作的時間段。
- 矩形的頂部和底部分別與啓動和完成時間對齊
來電留言
- 消息定義了交互的生命線之間的特定通信。
- 呼叫消息是一種表示目標生命線操作調用的消息。
返回消息
- 消息定義了交互的生命線之間的特定通信。
- 返回消息是一種消息,表示將信息傳遞迴相應的前消息的調用者。
自我消息
- 消息定義了交互的生命線之間的特定通信。
- 自我消息是一種表示同一生命線的消息調用的消息。
遞歸消息
- 消息定義了交互的生命線之間的特定通信。
- 遞歸消息是一種表示同一生命線的消息調用的消息。它的目標指向在調用消息的激活之上進行激活。
創建消息
- 消息定義了交互的生命線之間的特定通信。
- 創建消息是一種表示(目標)生命線實例化的消息。
消滅消息
- 消息定義了交互的生命線之間的特定通信。
- 銷燬消息是一種消息,表示破壞目標生命線生命週期的請求。
持續時間消息
- 消息定義了交互的生命線之間的特定通信。
- 持續時間消息顯示消息調用的兩個時間點之間的距離。
注意
註釋(註釋)使得能夠將各種備註附加到元素。註釋不帶語義力,但可能包含對建模者有用的信息。
消息和控制焦點
- 事件是發生事情的交互中的任何一點。
- 控制重點:也稱爲執行發生,執行發生
- 它在生命線上顯示爲高而薄的矩形)
- 它表示元素執行操作的時間段。矩形的頂部和底部分別與啓動和完成時間對齊。
序列片段
- UML 2.0引入了序列(或交互)片段。序列片段可以更輕鬆地創建和維護準確的序列圖
- 序列片段表示爲一個框,稱爲組合片段,它包含序列圖中的一部分相互作用
- 片段運算符(在左上角的短號)表示片段的類型
- 片段類型:ref,assert,loop,break,alt,opt,neg
操作符號
片段類型
ALT
備用多個片段:只執行條件爲真的片段。
選擇
可選:僅當提供的條件爲真時才執行片段。相當於只有一條跡線的alt。
平價
並行:每個片段並行運行。
環
循環:片段可以執行多次,並且防護指示迭代的基礎。
區域
關鍵區域:片段只能有一個線程一次執行它。
NEG
否定:片段顯示無效的交互。
REF
參考:指在另一個圖上定義的交互。繪製框架以覆蓋交互中涉及的生命線。您可以定義參數和返回值。
SD
序列圖:用於包圍整個序列圖。
注意:
- 可以組合幀以捕獲例如循環或分支。
- 組合片段關鍵字:alt,opt,break,par,seq,strict,neg,critical,ignore,consideration,assert和loop。
- 約束通常用於顯示消息的時序約束。它們可以應用於一條消息的時間或消息之間的間隔。
組合片段示例
用例場景建模的序列圖
用戶需求被捕獲爲精簡爲方案的用例。用例是外部參與者與系統之間交互的集合。在UML中,用例是:
“系統(或實體)可以執行的一系列動作(包括變體)的規範,與系統的參與者進行交互。”
場景是通過用例的一個路徑或流程,該用例描述在系統的一個特定執行期間發生的事件序列,其通常由序列圖表示。
序列圖 - 代碼前的模型
序列圖可能有點接近代碼級別,那麼爲什麼不編碼該算法而不是將其繪製爲序列圖?
- 一個好的序列圖仍然比實際代碼的水平高一點
- 序列圖是語言中立的
- 非編碼人員可以做序列圖
- 作爲一個團隊,更容易做序列圖
- 可用於測試和/或UX線框圖
尋找一個好的和免費的UML工具來創建序列圖?
Visual Paradigm Online 是你的選擇,它提供:
免費序列圖示例和模板可在在線序列圖軟件中編輯:Visual Paradigm Online。使用模板作爲起點來創建自己的序列圖。
Using MVC Stereotypes with Conditional Statement
Selection and Loops in a Combination
要獲得完整的UML建模功能,您可以免費使用Visual Paradight Community Edition,也可以在商業版中使用更高級的建模功能。
獲取Visual Paradigm Community Edition,一個免費的UML建模工具,並使用免費的序列圖工具創建自己的序列圖。它易於使用且直觀。
相關鏈接