介紹
UML(統一建模語言)時序圖是一種互動圖,專注於互動的時序約束。它們用於顯示在特定時間內物件之間的互動,強調條件隨時間的變化。本指南將詳細介紹UML時序圖,包括其目的、關鍵元素,以及如何創建和解讀它們。

UML時序圖的目的
UML時序圖用於:
- 分析時序:分析並理解物件之間互動的時序方面。
- 顯示時序約束:說明在特定時間區間內必須滿足的條件。
- 模擬即時系統:表示時序為關鍵因素的系統,例如嵌入式系統、通訊協定和效能分析。
範例應用情境:
- 醫療領域:模擬疾病的階段及干預的時機。
- 使用者體驗:分析網站或應用程式的延遲與效能。
UML時序圖的關鍵元素
生命線
生命線代表互動中的單一參與者。它可以是物件、角色或任何參與互動的實體。生命線以水平條表示,顯示參與者在時間上的存在。
狀態或條件時間軸
狀態或條件時間軸代表物件的狀態或必須滿足的條件。它以水平條表示,條上分段顯示不同時間點的狀態或條件。
持續時間約束
持續時間約束指定條件必須滿足的時間範圍。它以水平條表示,條上兩條垂直線標示持續時間的起點與終點。
時間約束
時間約束指定條件必須滿足的特定時間點。它以垂直線表示,垂直線與生命線在特定時間點相交。
消亡事件
消亡事件代表物件被銷毀的時間點。它以生命線末端的「X」表示。
符號
UML時序圖中的符號包括標籤和註解,用以提供有關時序約束和條件的額外資訊。
建立UML時序圖
建立UML時序圖的步驟
- 識別參與者:確定將參與互動的物件、參與者或實體。
- 定義生命線:繪製水平條狀以代表參與者的生命線。
- 新增狀態或條件:將生命線分割成段,以表示隨時間變化的不同狀態或條件。
- 指定持續時間限制:添加帶有垂直線的水平條狀,以表示必須滿足條件的時間範圍。
- 指定時間限制:添加與生命線相交的垂直線,以表示必須滿足條件的特定時間點。
- 新增破壞事件:在生命線末端放置「X」,以代表物件的破壞。
- 標記與註解:添加標籤與註解,以提供有關時間限制和條件的額外資訊。
解讀UML時間圖
理解生命線
- 水平條狀:表示參與者在時間上的存在。
- 段落:表示隨時間變化的不同狀態或條件。
理解持續時間限制
- 帶有垂直線的水平條狀:表示必須滿足條件的時間範圍。
- 起點與終點:表示持續時間的起點與終點。
理解時間限制
- 垂直線:表示必須滿足條件的特定時間點。
- 與生命線的交點:表示生命線上的特定時間。
理解消滅事件
- 「X」符號: 代表物件的消滅。
- 生命線末端: 消滅事件被放置在生命線的末端。
理解符號
- 標籤與註解: 提供有關時間限制和條件的額外資訊。
- 額外資訊: 包含任何有助於理解互動時間特性的相關細節。
範例:網站時間
此UML時間圖示說明了網頁互動中涉及的事件序列與時間限制,特別著重於網頁請求與回應週期的時間特性。圖示標題為「sd 網站時間」,包含四條生命線,代表互動中的參與者:網路使用者、網路瀏覽器、DNS解析器與網路伺服器。水平軸代表時間,以秒為單位標示。

生命線與狀態
- 網路使用者
- 狀態/條件:
- 閒置: 使用者未積極與網頁互動。
- URL: 使用者將URL輸入網路瀏覽器。
- 等待: 使用者正在等待網頁載入。
- 檢視中: 使用者正在檢視網頁。
- 狀態/條件:
- 網路瀏覽器
- 狀態/條件:
- 閒置: 瀏覽器未積極處理請求。
- 處理中: 瀏覽器正在處理使用者的輸入或伺服器的回應。
- 等待: 瀏覽器正在等待伺服器的回應。
- 事件/刺激:
- 解析網址: 瀏覽器將網址解析為IP位址。
- HTTP請求: 瀏覽器將HTTP請求發送到網頁伺服器。
- 顯示頁面: 瀏覽器將網頁顯示給使用者。
- 時間限制:
- 網址解析過程應在0至400毫秒之間完成。
- 在解析網址後,HTTP請求應在50至200毫秒內發送。
- 在收到HTTP回應後,頁面應在100至500毫秒內顯示給使用者。
- 狀態/條件:
- DNS解析器
- 狀態/條件:
- 空閒: DNS解析器未積極解析網域名稱。
- 處理中: DNS解析器正在處理網域名稱解析請求。
- 時間限制:
- DNS解析過程應在0至400毫秒之間完成。
- 狀態/條件:
- 網頁伺服器
- 狀態/條件:
- 等待: 網頁伺服器正在等待傳入的請求。
- 處理中: 網頁伺服器正在處理傳入的請求。
- 發送回應: 網頁伺服器正在將回應發送回網頁瀏覽器。
- 時間限制:
- 網頁伺服器應在收到請求後 200 至 800 毫秒內發送回應。
- 狀態/條件:
互動與時間限制
- 網頁使用者至網頁瀏覽器:
- 使用者將網址輸入網頁瀏覽器,從「閒置」狀態轉換至「網址」狀態。
- 網頁瀏覽器解析網址,此過程應在 0 至 400 毫秒之間完成。
- 網頁瀏覽器至 DNS 解析器:
- 網頁瀏覽器向 DNS 解析器發送同步訊息,以將網址解析為 IP 位址。
- DNS 解析器處理請求,此過程應在 0 至 400 毫秒之間完成。
- 網頁瀏覽器至網頁伺服器:
- 網頁瀏覽器向網頁伺服器發送 HTTP 請求,此請求應在解析網址後 50 至 200 毫秒內發送。
- 網頁伺服器處理請求,並將回應發送回網頁瀏覽器。
- 網頁伺服器應在收到請求後 200 至 800 毫秒內發送回應。
- 網頁瀏覽器至網頁使用者:
- 網頁瀏覽器將網頁顯示給使用者,此動作應在收到 HTTP 回應後 100 至 500 毫秒內完成。
- 使用者從「等待」狀態轉換至「檢視」網頁的狀態。
時間限制
- 網址解析: 網址解析過程應在 0 至 400 毫秒之間完成。
- HTTP 請求: HTTP請求應在解析網址後的50至200毫秒內發送。
- Web伺服器回應: Web伺服器應在收到請求後的200至800毫秒內發送回應。
- 頁面顯示: 在收到HTTP回應後的100至500毫秒內,應將網頁顯示給使用者。
狀態變更
- Web使用者: 從「空閒」轉換至「網址」,再轉換至「等待」,最後轉換至「檢視」。
- Web瀏覽器: 從「空閒」轉換至「處理中」,再轉換至「等待」,最後轉換至「顯示頁面」。
- DNS解析器: 從「空閒」轉換至「處理中」,再返回「空閒」。
- Web伺服器: 從「等待」轉換至「處理中」,再轉換至「發送回應」,最後返回「等待」。
同步訊息
- Web瀏覽器向DNS解析器發送同步訊息以解析網址,表示瀏覽器會等待DNS解析器完成解析後才繼續進行。
事件或刺激
- 瀏覽器發送到Web伺服器的HTTP請求是一項觸發Web伺服器處理請求並發送回應的事件。
此時序圖有效模擬了Web互動的時序特性,確保所有時序限制均被滿足,且互動在指定的時間區間內按預期順利進行。
時序圖
- 使用者的生命線:
- 代表使用者與網站互動的水平條狀圖。
- 表示使用者互動不同狀態的區段(例如:請求已發送、請求已接收、回應已發送)。
- 每個狀態的持續時間限制。
- 特定事件的時間限制(例如:請求已發送、回應已接收)。
- 伺服器的生命線:
- 代表伺服器處理使用者請求的水平條狀圖。
- 表示伺服器處理不同狀態的區段(例如:請求已接收、處理中、回應已發送)。
- 每個狀態的持續時間限制。
- 特定事件(例如:請求已接收、回應已發送)的時間限制。
- 符號:
- 標示使用者互動狀態與伺服器處理狀態的標籤。
- 用以說明互動時間限制與條件的註解。
結論
UML 時間圖對於模擬和分析物件之間互動的時間特性至關重要。透過理解其關鍵元素並遵循建立與解讀的步驟,您便能有效運用時間圖來思考時間並模擬即時系統。
參考文獻
- 什麼是時間圖?
- Visual Paradigm。(無日期)。什麼是時間圖? .
- 12. 時間圖 – Visual Paradigm 社群圈
- Visual Paradigm 社群圈。(2018年5月11日)。時間圖 – Visual Paradigm 社群圈 .
- 如何繪製時間圖?
- Visual Paradigm。(無日期)。如何繪製時間圖? .
- 時間限制時間圖 – UML – 討論 Visual Paradigm
- Visual Paradigm 論壇。(2019年7月19日)。時間限制時間圖 – UML – 討論 Visual Paradigm .
- Visual Paradigm 中的 UML 圖表入門 – ArchiMetric
- ArchiMetric。(2024年8月23日)。Visual Paradigm 中的 UML 圖表入門 – ArchiMetric .
- 時間圖,UML 圖表範例:狀態/條件時間軸 – Visual Paradigm 社群圈
- Visual Paradigm 社區圈。 (2018年9月24日)。時序圖,UML 圖示範例:狀態/條件時間軸 – Visual Paradigm 社區圈 .
- UML 實用指南 – 你所需要知道的 UML 建模知識
- Visual Paradigm。 (無日期)。UML 實用指南 – 你所需要知道的 UML 建模知識 .
- 時序圖 – UML 2 圖示 – UML 建模工具
- Visual Paradigm。 (無日期)。時序圖 – UML 2 圖示 – UML 建模工具 .
- 時序圖 – Visual Paradigm 社區圈
- Visual Paradigm 社區圈。 (無日期)。時序圖 – Visual Paradigm 社區圈 .












