UML定時圖入門
UML(統一建模語言)定時圖是一種專門的互動圖,用於展示物件在特定時間內的行為。它著重於時間約束和事件的順序,因此在模擬即時系統和性能分析方面特別有用。本教程將引導您了解UML定時圖的基本知識,包括其目的、關鍵元素,以及如何建立和解讀它們。
UML定時圖的目的
UML定時圖在系統設計與分析中具有多項關鍵用途:
- 模擬即時系統:它們對於設計時間因素至關重要的系統至關重要,例如嵌入式系統、通訊協定以及性能關鍵應用。
- 分析時間約束:它們有助於理解並分析物件之間互動的時間特性,確保所有時間約束均被滿足。
- 性能分析:它們用於透過模擬事件與互動的時間來評估系統的性能。
UML定時圖的關鍵元素
生命線
生命線代表互動中的單一參與者,例如物件或參與者。它以一條水平條帶表示,顯示該參與者在時間上的存在。
狀態或條件時間軸
狀態或條件時間軸代表物件的狀態或必須滿足的條件。它以一條水平條帶顯示,條帶上的不同區段表示時間上的不同狀態或條件。
持續時間約束
持續時間約束指定條件必須滿足的時間範圍。它以一條水平條帶表示,條帶上的兩條垂直線標示出持續時間的起點與終點。
時間約束
時間約束指定條件必須滿足的具體時間點。它以一條垂直線表示,該線與生命線在特定時間點相交。
消亡事件
消亡事件代表物件被銷毀的時間點。它以生命線末端的「X」符號表示。
符號表示法
UML定時圖中的符號表示法包括標籤和註解,用以提供有關時間約束和條件的額外資訊。
建立UML定時圖
建立UML定時圖的步驟
- 識別參與者:確定將參與互動的物件、參與者或實體。
- 定義生命線:繪製水平條帶以代表參與者的生命線。
- 新增狀態或條件:將生命線劃分為段落,以表示隨時間變化的不同狀態或條件。
- 指定持續時間限制:添加帶有垂直線的水平條,以表示必須滿足條件的時間範圍。
- 指定時間限制:添加與生命線相交的垂直線,以表示必須滿足條件的具體時間點。
- 新增破壞事件:在生命線末端放置「X」,以表示物件的破壞。
- 標記與註解:添加標籤與註解,以提供有關時間限制和條件的額外資訊。
範例:網路互動時間圖
目的
用於模擬網路互動的時間特性,特別著重於網路請求與回應週期的時間。

參與者
- 網路使用者:與網路互動的個人。
- 網路瀏覽器:用於存取網路的瀏覽器。
- DNS解析器:將網域名稱解析為IP位址的伺服器。
- 網路伺服器:托管網路內容的伺服器。
時間圖
- 網路使用者的生命線:
- 狀態/條件:
- 閒置:使用者未積極與網路互動。
- 網址: 使用者在網路瀏覽器中輸入網址。
- 等待: 使用者正在等待網頁載入。
- 檢視中: 使用者正在檢視網頁。
- 狀態/條件:
- 網路瀏覽器的生命線:
- 狀態/條件:
- 空閒: 瀏覽器未積極處理任何請求。
- 處理中: 瀏覽器正在處理使用者的輸入或伺服器的回應。
- 等待: 瀏覽器正在等待伺服器的回應。
- 事件/刺激:
- 解析網址: 瀏覽器將網址解析為IP位址。
- HTTP請求: 瀏覽器將HTTP請求發送到網路伺服器。
- 顯示頁面: 瀏覽器將網頁顯示給使用者。
- 時間限制:
- 網址解析過程應在0至400毫秒之間完成。
- 網址解析後,HTTP請求應在50至200毫秒內發送。
- 收到HTTP回應後,頁面應在100至500毫秒內顯示給使用者。
- 狀態/條件:
- DNS解析器的生命線:
- 狀態/條件:
- 空閒:DNS解析器未積極解析網域名稱。
- 處理中:DNS解析器正在處理網域名稱解析請求。
- 時間限制:
- DNS解析過程應在0至400毫秒之間完成。
- 狀態/條件:
- Web伺服器的生命線:
- 狀態/條件:
- 等待中:Web伺服器正在等待傳入的請求。
- 處理中:Web伺服器正在處理傳入的請求。
- 傳送回應:Web伺服器正在將回應傳送回Web瀏覽器。
- 時間限制:
- Web伺服器應在收到請求後200至800毫秒內傳送回應。
- 狀態/條件:
互動與時間限制
- Web使用者至Web瀏覽器:
- 使用者將URL輸入Web瀏覽器,從「空閒」狀態轉換至「URL」狀態。
- Web瀏覽器解析URL,此過程應在0至400毫秒之間完成。
- Web瀏覽器至DNS解析器:
- Web瀏覽器向DNS解析器發送同步訊息,以將URL解析為IP位址。
- DNS解析器處理請求,這應該在0到400毫秒之間完成。
- 網頁瀏覽器到網頁伺服器:
- 網頁瀏覽器向網頁伺服器發送HTTP請求,這應該在解析URL後的50到200毫秒內發送。
- 網頁伺服器處理請求,並將回應發送回網頁瀏覽器。
- 網頁伺服器應在收到請求後的200到800毫秒內發送回應。
- 網頁瀏覽器到網頁使用者:
- 網頁瀏覽器將網頁顯示給使用者,這應該在收到HTTP回應後的100到500毫秒內發生。
- 使用者從「等待」狀態轉換到「檢視」網頁。
解讀UML時序圖
理解生命線
- 水平條:表示參與者在時間上的存在。
- 區段:表示隨時間變化的不同狀態或條件。
理解持續時間約束
- 帶有垂直線的水平條:表示必須滿足條件的持續時間。
- 起點和終點:表示持續時間的起點和終點。
理解時間約束
- 垂直線:表示必須滿足條件的特定時間點。
- 與生命線的交集:表示生命線上的特定時間。
理解消亡事件
- 「X」符號:表示物件的消亡。
- 生命線的終點: 毀滅事件被放置在生命線的末端。
理解符號
- 標籤與註解: 提供有關時間約束和條件的額外資訊。
- 額外資訊: 包含任何有助於理解互動時間方面的相關細節。
結論
UML 時間圖對於模擬和分析物件之間互動的時間方面至關重要。透過理解關鍵元素並遵循建立和解讀時間圖的步驟,您可以有效地運用時間圖來推理時間並模擬即時系統。
參考資料
- 什麼是時間圖?
- 12. 時間圖 – Visual Paradigm 社區圈
- Visual Paradigm 社區圈。 (2018年5月11日)。12. 時間圖 – Visual Paradigm 社區圈 2.
- 如何繪製時間圖?
- 時間約束時間圖 – 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 社群圈 .