介紹
UML序列圖是互動圖,詳細說明操作是如何執行的。它們在協作背景下捕捉物件之間的互動。序列圖以時間為重點,透過使用圖表的垂直軸代表時間,來視覺化顯示互動的順序、傳送的訊息及其時間。

什麼是序列圖?
序列圖,又稱為順序圖,是一種UML互動圖。它透過描述物件之間訊息傳送的時間順序,來顯示多個物件之間的動態協作。

在UML中,序列圖中的物件以一個包含物件名稱(底線標示)的矩形來表示。物件的命名方式有三種:
-
物件名稱
-
物件名稱及其類別
-
僅類別名稱(匿名物件)

序列圖中的物件
-
顯示物件之間互動的順序:將互動行為建模為訊息傳遞,並透過描述訊息在物件之間如何傳送與接收,動態地顯示物件之間的互動。
-
時間強調:與其他UML圖相比,序列圖更強調互動行為的時間順序。
-
並發性視覺化:它能視覺化地描述並發過程。
序列圖的元件
-
參與者:系統參與者,可以是人、機器、其他系統或子系統;用於在時間序列圖中表示。
-
物件:命名物件有三種方式:
-
帶類別的命名物件:包含物件名稱與類別名稱,例如:
物件:類別 -
匿名物件:僅顯示類別名稱,例如:
:課程 -
僅命名物件: 僅顯示物件名稱,而不顯示類別名稱,例如:
講師
三種命名方式皆可使用;請選擇最易於閱讀圖表的人理解的那一種。
-
-
物件的順序:
-
物件的左右順序並無重要性
-
將經常互動的物件盡可能放置得靠近
-
將啟動整個互動活動的物件放置在最左側
-
生命線
從序列圖中的物件圖示向下延伸的虛線,表示該物件存在了多久。
控制焦點(激活)
亦稱為激活期間,此符號代表物件執行對應操作的時間段。可解讀為 C 語言語義中的括號 { } 在 C 語言語義中;以一個小矩形表示。代表元件執行操作的期間。矩形的頂部與起始時間對齊,底部與完成時間對齊。
訊息
訊息通常分為三種類型:
-
同步訊息: 發送者將控制權交給訊息接收者,然後停止活動並等待接收者放棄或返回控制權,用以表示同步。
-
非同步訊息: 發送者透過訊息將信號傳遞給接收者,然後繼續其活動,無需等待接收者回傳訊息或控制權。非同步訊息的接收者與發送者是並行運作的。
-
回傳訊息: 表示從程序呼叫中返回。
建立與破壞訊息
參與者不一定會存活於序列圖互動的整個期間。參與者可根據傳遞的訊息而被建立或破壞。
-
建構函式訊息: 建立其接收者。在互動開始時已存在的發送者會放置在圖表的上方。透過建構函式呼叫在互動期間建立的目標會自動放置在圖表更下方。
-
解構函式訊息: 破壞其接收者。有其他方式可表示目標在互動期間被破壞。僅當目標的破壞設定為「解構後」時,才需要使用解構函式。
非瞬間訊息
訊息通常被視為瞬間完成,因此訊息傳送到接收者所需時間可忽略不計。訊息以水平箭頭繪製。若要表示接收者實際收到訊息需要一段時間,則需使用 使用斜箭頭.
組合片段
序列片段以一個稱為組合片段的方框表示,該方框包圍序列圖中互動的一部分。片段運算子(位於左上角)表示片段的類型。
互動片段可讓您將序列圖中的相關訊息分組。提供多種預設的片段類型,可讓您指定替代結果、平行訊息或迴圈。
序列圖中的片段是以矩形框繪製在圖表的一部分上。它們代表影響訊息傳遞流程的條件結構。這些框在UML規範中稱為組合片段,容器稱為互動操作數。框的左上角會標示標籤,此標籤在UML中稱為互動運算子。
範例 – 下單情境
一位希望線上下單的船員。所訂購的物品將根據其會員資格(VIP、一般會員)以快遞或一般郵件寄送給該會員。若會員在下單時選擇通知選項,商店將向該會員發送確認通知。

另一個範例:下單
序列圖是一種二維圖表,水平軸代表物件,垂直軸代表時間,訊息在物件之間水平傳遞,並按時間順序垂直排列。此範例顯示一個包含三個參與物件的序列圖:顧客、訂單和庫存。
-
步驟 1 和 2: 顧客建立訂單。
-
步驟 3: 顧客將商品加入訂單。
-
步驟 4、5: 檢查每項商品在庫存中的可用性。
-
步驟 6、7、8: 若商品有庫存,則加入訂單。
-
步驟 9: 回傳
-
步驟 10、11: 儲存並銷毀訂單

常用組合片段
片段類型包括 ref、assert、loop、break、alt、opt 和 neg、ref、sd。
| 運算子 | 含義 |
|---|---|
| alt | 替代多個片段: 只有條件為真的那一個會執行。 |
| opt | 可選: 當提供的條件為真時,片段才會執行。等同於僅有一條路徑的 alt。 |
| par | 平行: 每個片段會並行執行。 |
| loop | 迴圈: 片段可能執行多次,守衛條件表示迭代的依據。 |
| critical | 臨界區: 片段在同一時間內只能有一個執行緒在執行。 |
| neg | 負面: 片段顯示一個無效的互動。 |
| ref | 參考: 指向另一張圖表上定義的互動。框線會繪製以涵蓋該互動所涉及的生命線。您可以定義參數和傳回值。 |
| sd | 順序圖: 用來包圍整個順序圖。 |
重要注意事項:
-
可以結合多個框來捕捉,例如迴圈或分支。
-
合併片段關鍵字: alt、opt、break、par、seq、strict、neg、critical、ignore、consider、assert 和 loop。
-
約束通常用來顯示訊息上的時間限制。它可以應用於單一訊息的時間或訊息之間的時間間隔。
合併片段範例
1. 選擇(Alt)
一個替代片段提供多個受保護的替代片段(由互動運算元分隔),也就是用來指定兩個或更多訊息序列之間的互斥選擇,等同於傳統的 if..else…

2. 選項(可選)
包含可能發生或不發生的序列,表示可選片段僅在某個守衛條件為真時才執行:

3. 迴圈(迴圈)
迴圈允許片段重複執行,直到某個守衛條件變為假為止:

4. 跳出
當某個守衛條件為真時,跳出可讓封閉的迴圈被跳過:

跳出通常用於模擬例外處理。此順序圖範例使用跳出組合片段,因為它將「餘額 < 金額」條件視為例外,而非替代流程。要閱讀此範例,我們從順序圖的左上角開始,往下閱讀。當順序執行到回傳值「餘額」時,會檢查餘額是否小於金額。如果餘額不小於金額,則接下來發送的訊息為 addDebitTransaction,順序繼續正常執行。
5. 平行
平行片段允許多個互動同時並行執行:

框架
框架提供了一種封裝順序圖的方式。

參考(參考)
框架可以在另一個順序圖中被參考:

協定

合作

情境

訊號與接收
拍賣師將某物品的建議價格廣播給一群焦慮的投標者。當投標者聽到建議價格後,便決定是否接受該價格。
在自動拍賣中,拍賣師將如何廣播建議價格?物件可能具備指定的操作,當收到特定類型的廣播訊號時,這些操作會自動被呼叫。這些方法稱為接收。訊號是一種特殊的類別。接收的名稱通常與訊號的名稱相符。接收會顯示在一個獨立的區隔中:

在序列圖中,我們可以將訊號表示為非同步訊號,並將接收表示為接收調用:

關鍵

其他片段類型
-
嚴格
-
斷言
-
考慮
-
忽略
-
區域
-
否定
序列圖符號總結
| 符號說明 | 視覺表示 |
|---|---|
參與者
注意:
|
![]() |
生命線
|
![]() |
激活
|
![]() |
呼叫訊息
|
![]() |
回傳訊息
|
![]() |
自我訊息
|
![]() |
遞迴訊息
|
![]() |
建立訊息
|
![]() |
銷毀訊息
|
![]() |
持續時間訊息
|
![]() |
| 註解 註解(評論)可讓您將各種註解附加至元素。評論本身不具語義意義,但可能包含對建模者有用的資訊。 |
AI驅動的序列圖生成
Visual Paradigm 提供強大的 AI 支援,用於 UML 序列圖,專注於將自然語言描述轉換為詳細且具架構正確性的互動模型。其工具讓您跳過手動繪製,直接從文字情境快速轉換為專業圖表,僅需數秒。
核心 AI 序列圖功能
-
自然語言生成: 您可以輸入簡單提示,例如「使用者登入網站」,AI 會自動識別參與者(生命線)、訊息流程與激活序列。
-
複雜邏輯自動化: AI 可根據您對條件邏輯的文字描述,智能處理先進的 UML 記法,例如替代片段(alt)、選項片段(opt)與迴圈。
-
AI 精細化工具: 此專用應用程式可將簡單的互動程式碼或高階提示轉換為詳細的 MVC(模型-視圖-控制器)藍圖。它會自動將情境分解為適當的架構層級,例如視圖、控制器與模型元件。
-
對話式編輯: 透過「Visual Paradigm AI聊天機器人,您可以使用「新增重設狀態」或「將使用者重新命名為客戶」等指令,逐步優化圖表。
-
智慧設計分析:您可以要求AI評估您的圖表,例如識別應轉為非同步以提升系統效能的同步呼叫。
生態系與整合
-
多平台存取:使用 AI聊天機器人 或 Visual Paradigm Online,然後將其匯入 Visual Paradigm Desktop 應用程式中進行進階建模與程式碼工程。
-
自動化文件產生:AI可直接從您的順序圖產生專案摘要、詳細行為模型以及MVC架構文件。
-
跨模型協同:Visual Paradigm的AI可連結不同類型的圖表,例如將高階使用案例轉換為詳細的活動圖或順序圖,並透過引導式步驟分解完成。
- 參考資料
- UML順序圖:使用AI建模互動的完整指南:全面指南,說明如何使用AI建模UML順序圖與互動
- 如何使用AI聊天機器人將需求轉換為圖表:學習如何使用AI聊天機器人技術,將文字需求轉換為視覺化圖表
- 免費AI順序圖優化工具:存取Visual Paradigm的AI驅動工具,用於優化與增強順序圖
- AI順序圖優化工具 – Visual Paradigm:專業功能,支援AI輔助的順序圖建立與優化
- Visual Paradigm AI聊天機器人:透過自然語言互動式AI聊天機器人,用於建立與編輯UML圖表
- AI聊天機器人功能 – Visual Paradigm:AI聊天機器人用於圖表產生與建模功能的概覽
- Visual Paradigm AI順序圖教學:影片教學,示範AI驅動的順序圖建立
- 全面評測:Visual Paradigm 的 AI 圖表生成功能: 對 Visual Paradigm 的 AI 驅動圖表生成功能的深入評測
- Visual Paradigm AI 功能示範: Visual Paradigm 中 AI 功能的示範影片
- Visual Paradigm AI 教學: 展示 Visual Paradigm 中 AI 功能的教學
- 如何透過 Visual Paradigm 的 AI 驅動生態系統轉變 UML 開發: 分析 AI 如何改變 Visual Paradigm 中的 UML 開發工作流程




















