UML序列圖是關鍵的互動圖,詳細描述系統內操作的執行方式。透過捕捉協作情境中物件之間的互動,這些圖表提供了時間的視覺化呈現,顯示訊息交換的具體順序。
本全面指南涵蓋從基本定義到複雜組合片段的所有內容,幫助您有效建模互動行為。
序列圖(亦稱為順序圖)是一種UML互動圖。它透過描述物件之間訊息傳遞的時間順序,展現多個物件之間的動態協作。與其他UML圖不同,序列圖特別強調互動行為的時間順序,以視覺方式描述並發處理的過程。
手動建立複雜的序列圖可能耗時,需要精確對齊生命線,並為每種訊息類型使用正確的符號。Visual Paradigm AI透過自然語言提示,讓您生成專業的UML序列圖,從而轉化此流程。
在深入複雜情境之前,理解構成序列圖的基本元素至關重要。
互動者代表與系統互動的實體所扮演的角色,例如人類使用者、機器或外部系統。需要注意的是,互動者不一定代表具體的實體,僅代表某個特定角色。一個人可以扮演多個互動者角色,反之,一個互動者角色也可能由多人扮演。
物件以包含物件名稱的矩形表示。UML中有三種標準的物件命名方式:
物件:類別).:課程).講師).提示: 將經常互動的物件放置得彼此靠近。通常將啟動互動的物件放在最左側。
從物件圖示向下延伸的虛線表示物件存在的時間長度。此垂直軸代表時間。
以生命線上的細長矩形表示,控制焦點(或激活期間)表示元件執行操作的時間段。矩形的頂部與啟動時間對齊,底部與完成時間對齊。
訊息定義生命線之間的通訊。發送者將控制權或信號傳遞給接收者。
參與者並非總是存在於整個圖表期間。一個建構器訊息建立接收者(將新物件放置在圖表更下方)。一個解構器訊息銷毀其接收者,結束其生命線。
為了模擬複雜邏輯,如迴圈、分支與替代,UML 使用組合片段。這些是包圍互動部分的矩形框。
| 運算子 | 含義 |
|---|---|
| alt | 多個片段的替代選擇;僅有條件為真的片段會執行(等同於 if..else)。 |
| opt | 選擇性;僅當條件為真時,片段才會執行。 |
| loop | 片段根據守衛條件執行多次。 |
| break | 當守衛條件為真時,允許跳出封閉的迴圈(常用於例外處理)。 |
| par | 平行;每個片段同時運行。 |
| critical | 臨界區;一次僅允許一個執行緒執行此片段。 |
| ref | 參考;指向另一個圖表中定義的互動。 |
考慮一個情境,其中顧客與訂單物件和庫存物件互動。流程如下:
在此情境中,建立訂單是一種建立訊息,檢查庫存是一種同步訊息,而儲存訂單是一種自我訊息或對資料庫物件的呼叫。
使用中斷片段非常適合用來模擬錯誤。例如,在銀行交易中:
餘額 < 金額.addDebitTransaction訊息會繼續執行。為確保您的圖表符合規範且易於閱讀,請參閱此快速符號檢查清單: