de_DEen_USes_ESfa_IRfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

UML時序圖的全面指南

介紹

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

What is Timing Diagram?

UML時序圖的目的

UML時序圖用於:

  • 分析時序:分析並理解物件之間互動的時序方面。
  • 顯示時序約束:說明在特定時間區間內必須滿足的條件。
  • 模擬即時系統:表示時序為關鍵因素的系統,例如嵌入式系統、通訊協定和效能分析。

範例應用情境:

  • 醫療領域:模擬疾病的階段及干預的時機。
  • 使用者體驗:分析網站或應用程式的延遲與效能。

UML時序圖的關鍵元素

生命線

生命線代表互動中的單一參與者。它可以是物件、角色或任何參與互動的實體。生命線以水平條表示,顯示參與者在時間上的存在。

狀態或條件時間軸

狀態或條件時間軸代表物件的狀態或必須滿足的條件。它以水平條表示,條上分段顯示不同時間點的狀態或條件。

持續時間約束

持續時間約束指定條件必須滿足的時間範圍。它以水平條表示,條上兩條垂直線標示持續時間的起點與終點。

時間約束

時間約束指定條件必須滿足的特定時間點。它以垂直線表示,垂直線與生命線在特定時間點相交。

消亡事件

消亡事件代表物件被銷毀的時間點。它以生命線末端的「X」表示。

符號

UML時序圖中的符號包括標籤和註解,用以提供有關時序約束和條件的額外資訊。

建立UML時序圖

建立UML時序圖的步驟

  1. 識別參與者:確定將參與互動的物件、參與者或實體。
  2. 定義生命線:繪製水平條狀以代表參與者的生命線。
  3. 新增狀態或條件:將生命線分割成段,以表示隨時間變化的不同狀態或條件。
  4. 指定持續時間限制:添加帶有垂直線的水平條狀,以表示必須滿足條件的時間範圍。
  5. 指定時間限制:添加與生命線相交的垂直線,以表示必須滿足條件的特定時間點。
  6. 新增破壞事件:在生命線末端放置「X」,以代表物件的破壞。
  7. 標記與註解:添加標籤與註解,以提供有關時間限制和條件的額外資訊。

解讀UML時間圖

理解生命線

  • 水平條狀:表示參與者在時間上的存在。
  • 段落:表示隨時間變化的不同狀態或條件。

理解持續時間限制

  • 帶有垂直線的水平條狀:表示必須滿足條件的時間範圍。
  • 起點與終點:表示持續時間的起點與終點。

理解時間限制

  • 垂直線:表示必須滿足條件的特定時間點。
  • 與生命線的交點:表示生命線上的特定時間。

理解消滅事件

  • 「X」符號: 代表物件的消滅。
  • 生命線末端: 消滅事件被放置在生命線的末端。

理解符號

  • 標籤與註解: 提供有關時間限制和條件的額外資訊。
  • 額外資訊: 包含任何有助於理解互動時間特性的相關細節。

範例:網站時間

此UML時間圖示說明了網頁互動中涉及的事件序列與時間限制,特別著重於網頁請求與回應週期的時間特性。圖示標題為「sd 網站時間」,包含四條生命線,代表互動中的參與者:網路使用者、網路瀏覽器、DNS解析器與網路伺服器。水平軸代表時間,以秒為單位標示。

Major elements of timing UML diagram - lifeline, timeline, state or condition, message, duration constraint, timing ruler.

生命線與狀態

  1. 網路使用者
    • 狀態/條件:
      • 閒置: 使用者未積極與網頁互動。
      • URL: 使用者將URL輸入網路瀏覽器。
      • 等待: 使用者正在等待網頁載入。
      • 檢視中: 使用者正在檢視網頁。
  2. 網路瀏覽器
    • 狀態/條件:
      • 閒置: 瀏覽器未積極處理請求。
      • 處理中: 瀏覽器正在處理使用者的輸入或伺服器的回應。
      • 等待: 瀏覽器正在等待伺服器的回應。
    • 事件/刺激:
      • 解析網址: 瀏覽器將網址解析為IP位址。
      • HTTP請求: 瀏覽器將HTTP請求發送到網頁伺服器。
      • 顯示頁面: 瀏覽器將網頁顯示給使用者。
    • 時間限制:
      • 網址解析過程應在0至400毫秒之間完成。
      • 在解析網址後,HTTP請求應在50至200毫秒內發送。
      • 在收到HTTP回應後,頁面應在100至500毫秒內顯示給使用者。
  3. DNS解析器
    • 狀態/條件:
      • 空閒: DNS解析器未積極解析網域名稱。
      • 處理中: DNS解析器正在處理網域名稱解析請求。
    • 時間限制:
      • DNS解析過程應在0至400毫秒之間完成。
  4. 網頁伺服器
    • 狀態/條件:
      • 等待: 網頁伺服器正在等待傳入的請求。
      • 處理中: 網頁伺服器正在處理傳入的請求。
      • 發送回應: 網頁伺服器正在將回應發送回網頁瀏覽器。
    • 時間限制:
      • 網頁伺服器應在收到請求後 200 至 800 毫秒內發送回應。

互動與時間限制

  1. 網頁使用者至網頁瀏覽器:
    • 使用者將網址輸入網頁瀏覽器,從「閒置」狀態轉換至「網址」狀態。
    • 網頁瀏覽器解析網址,此過程應在 0 至 400 毫秒之間完成。
  2. 網頁瀏覽器至 DNS 解析器:
    • 網頁瀏覽器向 DNS 解析器發送同步訊息,以將網址解析為 IP 位址。
    • DNS 解析器處理請求,此過程應在 0 至 400 毫秒之間完成。
  3. 網頁瀏覽器至網頁伺服器:
    • 網頁瀏覽器向網頁伺服器發送 HTTP 請求,此請求應在解析網址後 50 至 200 毫秒內發送。
    • 網頁伺服器處理請求,並將回應發送回網頁瀏覽器。
    • 網頁伺服器應在收到請求後 200 至 800 毫秒內發送回應。
  4. 網頁瀏覽器至網頁使用者:
    • 網頁瀏覽器將網頁顯示給使用者,此動作應在收到 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互動的時序特性,確保所有時序限制均被滿足,且互動在指定的時間區間內按預期順利進行。

時序圖

  1. 使用者的生命線:
    • 代表使用者與網站互動的水平條狀圖。
    • 表示使用者互動不同狀態的區段(例如:請求已發送、請求已接收、回應已發送)。
    • 每個狀態的持續時間限制。
    • 特定事件的時間限制(例如:請求已發送、回應已接收)。
  2. 伺服器的生命線:
    • 代表伺服器處理使用者請求的水平條狀圖。
    • 表示伺服器處理不同狀態的區段(例如:請求已接收、處理中、回應已發送)。
    • 每個狀態的持續時間限制。
    • 特定事件(例如:請求已接收、回應已發送)的時間限制。
  3. 符號:
    • 標示使用者互動狀態與伺服器處理狀態的標籤。
    • 用以說明互動時間限制與條件的註解。

結論

UML 時間圖對於模擬和分析物件之間互動的時間特性至關重要。透過理解其關鍵元素並遵循建立與解讀的步驟,您便能有效運用時間圖來思考時間並模擬即時系統。

參考文獻

  1. 什麼是時間圖?
  2. 12. 時間圖 – Visual Paradigm 社群圈
  3. 如何繪製時間圖?
  4. 時間限制時間圖 – UML – 討論 Visual Paradigm
  5. Visual Paradigm 中的 UML 圖表入門 – ArchiMetric
  6. 時間圖,UML 圖表範例:狀態/條件時間軸 – Visual Paradigm 社群圈
  7. UML 實用指南 – 你所需要知道的 UML 建模知識
  8. 時序圖 – UML 2 圖示 – UML 建模工具
  9. 時序圖 – Visual Paradigm 社區圈

 

 

Leave a Reply