UML序列圖 - 示例總彙

UML Sequence Diagrams是交互圖,詳細說明了如何執行操作。它們捕獲協作環境中對象之間的交互。序列圖是時間焦點,它們通過使用圖表的垂直軸來直觀地顯示交互的順序,以表示消息的發送時間和時間。

UML圖層次結構中的序列圖

序列圖捕獲:

  • 在實現用例或操作的協作中發生的交互(實例圖或通用圖)
  • 系統用戶與系統之間,系統與其他系統之間或子系統之間的高級交互(有時稱爲系統序列圖)

學習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。使用模板作爲起點來創建自己的序列圖。

對象創建和刪除

時間限制(醫院病牀分配)

預訂座位

簡單的ATM

銀行報價

下訂單

循環片段

替代組合片段

打破溝通片段

LoopAndBreakSyntax

Using MVC Stereotypes with Conditional Statement

Selection and Loops in a Combination

Make a Phone Call

Appointment

Buy Tickets

MVC Framework

Hotel Reservation


要獲得完整的UML建模功能,您可以免費使用Visual Paradight Community Edition,也可以在商業版中使用更高級的建模功能。

 

獲取Visual Paradigm Community Edition,一個免費的UML建模工具,並使用免費的序列圖工具創建自己的序列圖。它易於使用且直觀。

免費下載

相關鏈接

 

  1. 什麼是統一建模語言?
  2. 專業的UML圖工具
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章