中科永聯高級技術培訓中心(www.itisedu.com)
序列圖(Sequence Diagram)是按時間順序描述了對象間的互動模式;它利用對象的“生命線”和它們之間傳遞的訊息來顯示對象如何參與互動。
序列圖(Sequence Diagram)是一個模型,用於描述對象組如何隨著時間在某些行為方面進行協作。序列圖捕獲單一用例的行為,同時顯示在特定用例的時間框架中的對象以及這些對象之間傳遞的訊息。序列圖並不顯示對象之間的關係。
序列圖是一種強調訊息的時序互動圖,它由活動者(Actor)、對象(Object)、訊息(Message)、生命線(Lifeline)和控制焦點(Focus of control)組成。在UML中對象表示為一個矩形,其中對象名稱標有下劃線;訊息在序列圖中由有標記的箭頭表示;生命線由虛線表示。控制焦點由薄薄的矩形表示。
序列圖將互動關係表示為一個二維圖,縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色的活動用生命線表示。當對象存在時,生命線用一條縱向虛線表示,當對象的過程處於激活狀態時,生命線是一個雙道線。
序列圖以圖的形式詳細描述了業務角色和業務主角之間的互動,以及如何在執行業務用例時訪問業務實體。序列圖簡要描述了參與的業務角色的工作,從激活的角度描述了如何操作業務實體,以及它們如何通過傳送訊息實現通信。
部分個人登記處業務用例的序列圖。
也可以使用協作圖介紹序列圖中表示的信息(請參見指南:業務對象模型中的協作圖)。© 1987 - 2001 Rational Software Corporation。著作權所有。
序列圖具有的用途
· 當不同的類之間存在多個簡短的方法時,描述控制流的整體序列
· 顯示並發進程和激活
· 顯示在協作圖中難以描述的時間序列
· 顯示涉及類互動而與對象無關的一般形式
如何創建序列圖
本部分包含以下內容:
· 生成序列圖 · 完善生成的序列圖生成序列圖
1. 如果需要,請啟動 IDE。 2. 在“項目”視窗中,展開 "UMLTutorialProject" >“模型”節點。 3. 右鍵單擊 "CollaborationDiagram" 節點,然後從上下文選單中選擇“通過選定的元素創建圖”。將打開“新建嚮導”視窗,並顯示“創建新圖”頁面。
您可以從上下文選單列出的兩類可用的互動圖中選擇一種 類型:協作圖和序列圖。這些圖主要強調對象之間的互動關係。 |
IDE 將執行以下操作: o 在 CollaborationDiagram 節點下創建 SequenceDiagram 節點 o 在圖編輯器中顯示新圖,該圖是由生命線元素以及來自協作圖的訊息構成的 o 打開“建模組件面板”,顯示在創建序列圖過程中使用的圖示。
該圖應當與下面的圖類似。
完善生成的序列圖
事務中的對象被繪製成點狀豎線,其名稱顯示在頂部。由於在創建序列圖時無法預先定義生命線元素的順序,因此您需要在此時重新排序這些元素。 1. 選擇標記為 User 的生命線,將其移至圖的左側。 2. 重新排序其餘的生命線元素,使其均勻地分布於圖編輯器中。按以下順序從左到右依次放置生命線: o User o ATM o Consortium o Branch現在,該圖應當與下面的圖類似。
添加自調用訊息元素 |
IDE 將在此生命線上放置一個自調用訊息元素。 4. 單擊滑鼠右鍵以取消選擇“自調用訊息”圖示。 5. 在自調用訊息元素中,單擊位於下面的訊息箭頭。
訊息的屬性將顯示在“屬性”視窗中。 6. 在“屬性”視窗的“名稱”欄位中,鍵入 validateCashOnHandOperation,然後按 Enter 鍵。 7. 右鍵單擊自調用訊息元素中上面的訊息箭頭,然後從上下文選單中選擇“操作”。下圖指示了放置游標的位置。請注意頂部箭頭上方的雙豎線。
8. 從操作列表中選擇 "public boolean getIsOperating"。
您會看到對該訊息的上部進行了標記,如下圖所示。
使用調用訊息元素 |
圖上將出現一個訊息和一個返回訊息。
如果不希望返回訊息出現在圖上,請右鍵單擊圖編輯器的空白區域。從上下文選單中取消選擇“顯示所有返回訊息”。 |
IDE 將在圖上標記該訊息,然後將訊息作為操作添加到類圖的 ATM 類中。在“項目”視窗中,展開 ATM 類節點,確認操作列表與下面的圖類似。
使用自動擴展訊息選項 |
打開上下文選單。 2. 選擇“將寬度設定為訊息寬度”。
兩個元素名稱之間的跟蹤中將會出V>
3. 重複上述步驟,設定 ATM 和 Consortium 元素之間以及 Consortium 和 Branch 元素之間的訊息寬度選項。 返回頁首
使用創建訊息符號 |
請一定要單擊線上上,否則將不能正確繪製連結。 |
這樣便會在圖上放置一個訊息和一條生命線,如圖所示。
5. 單擊滑鼠右鍵以取消選擇該圖示。 6. 選擇新的生命線。
“屬性”視窗將顯示此生命線元素的屬性。 7. 在“屬性”視窗中標記為“表示類元”的行上,單擊向下箭頭。
將會出現一個下拉列表。 8. 從下拉列表中選擇 "CashierStation",然後按 Enter 鍵。 9. 單擊圖編輯器,查看這個帶有標籤的生命線元素。
您可以適當放寬此 新生命線元素,直至看到其完整的名稱 CashierStation 為止。 |
添加異步連結 |
該操作將向此訊息添加操作,如下圖所示。
使用組合片段元素 |
切記在單擊時不要選中任何生命線元素。您的組合片段應當如下圖所示。
3. 單擊滑鼠右鍵以取消選擇該圖示。 4. 右鍵單擊組合片段元素中的 "assert" 標籤,然後選擇“互動運算符”> "loop"。
loop 互動運算符指定組合片段表示一個循環。每次重複循環時,就會計算觸發表達式的結果。觸發表達式可以包括特定次數的循環疊代。 |
IDE 會在目標組合片段元素中顯示一個表達式框。 6. 雙擊單詞 expression,使表達式處於可編輯狀態,如下圖所示。
7. 鍵入 x < 10,然後按 Enter 鍵。 8. 單擊圖編輯器。
這個表達式將被接受並顯示在框中。該圖應當與下面的圖類似。
保存圖 |
這將關閉選單並保存序列圖。
退出 IDE 時,系統會提示您是否要保存該圖。 |
小結 |