什麼是時序圖?
時序圖是UML交互圖,用於在圖的主要目的是推理時間時顯示交互。
時序圖側重於沿線性時間軸在生命線內和之間變化的條件。時序圖描述了單個分類器和分類器交互的行爲,將注意力集中在導致生命線建模條件發生變化的事件發生時間上。
時間圖一覽
從一個狀態到另一個狀態的變化由生命線水平的變化來表示。對於給定狀態的時間段,時間線與該狀態平行。狀態的變化表現爲從一個級別到另一個級別的垂直變化。與狀態或序列圖中的情況一樣,更改的原因是接收消息,導致更改的事件,系統內的條件,甚至只是時間的流逝。
價值生命線表示
下圖顯示了UML時序圖的替代符號。它顯示了每次狀態改變時兩條水平線之間相互交叉的物體狀態。
時序圖的基本概念
時序UML圖的主要元素 - 生命線,時間軸,狀態或條件,消息,持續時間約束,時間標尺。
生命線
時序圖中的生命線在幀的內容區域內形成矩形空間。生命線是一個命名元素,代表交互中的個體參與者。它通常水平對齊以從左到右閱讀。
多個生命線可以堆疊在同一幀內以模擬它們之間的相互作用。
時序圖中的狀態時間線
狀態或條件時間線表示有效狀態和時間的集合。狀態從上到下堆疊在救生索的左邊緣。
與狀態或序列圖中的情況一樣,更改的原因是接收消息,導致更改的事件,系統內的條件,甚至只是時間的流逝。
多個隔間
可以在同一時序圖中堆疊不同對象的多個生命線。一條生命線高於另一條。可以使用簡單的箭頭描繪從一個對象發送到另一個對象的消息。每個箭頭的起點和終點表示每條消息的發送時間和接收時間。
狀態生命線
狀態生命線顯示項目狀態隨時間的變化。X軸顯示所選單位的經過時間,而Y軸用給定的狀態列表標記。狀態生命線如下所示:
價值生命線
值生命線顯示項目的價值隨時間的變化。X軸顯示所選單位的經過時間,與州生命線相同。該值顯示在水平線對之間,每次水平線在值的每次變化時交叉。
時間表和約束
我們可以使用時間軸的長度來指示對象從左到右讀取多長時間保持特定狀態。要關聯時間測量,您可以在框架的底部在線顯示刻度線。
下面的示例顯示在序列開始後三次接收Login事件。要顯示相對時間,可以使用變量名稱及時標記特定實例。該圖標記了sendMail事件作爲時間收到的時間
您可以在約束中使用相對時間標記來指示必須在指定的時間內收到消息。
狀態和價值生命線並排
狀態和價值生命線可以任意組合一個接一個地放置。消息可以從一條生命線傳遞到另一條生命線。每個狀態或值轉換可以具有定義的事件,指示何時必須發生事件的時間約束,以及指示狀態或值必須有效多長的持續時間約束。
交互圖中的模型一致性
時序圖應始終與相關的順序圖和狀態機一致。爲此,我們可以在序列圖中的每個對象的生命線中附加狀態。然後,通過檢查對象之間傳遞的消息與生命線中附加的狀態,我們可以更容易地得出相應的時序圖。下面的Carpark示例顯示了兩個交互圖之間的模型一致性。
上圖顯示了停車場示例的序列圖,而下圖顯示了停車場示例的相應時序圖。時序圖的各個部分參考序列圖的內容。
以下示例顯示了包含兩個生命線,狀態不變量,消息,持續時間觀察和約束以及時間觀察和約束的時序圖。
現在嘗試繪製UML時序圖
您已經瞭解了時序圖是什麼以及如何繪製時序圖。是時候繪製自己的時序圖了。獲取Visual Paradigm Community Edition,一個免費的UML軟件,並使用免費的Timing Diagram工具創建自己的Timing Diagram。它易於使用且直觀。
相關鏈接