
- UML 教程
- UML - 首頁
- UML - 概述
- UML - 構造塊
- UML - 架構
- UML - 建模型別
- UML - 基本符號
- UML - 標準圖
- UML - 類圖
- UML - 物件圖
- UML - 元件圖
- UML - 部署圖
- UML - 用例圖
- UML - 互動圖
- UML - 狀態圖
- UML - 活動圖
- UML - 總結
- UML 2.0 概述
- UML 2.0 - 概述
- UML 有用資源
- UML - 有用資源
- UML - 知識測試
- 實用工具
- UML - 工具與實用工具
- UML - 討論
UML - 互動圖
從術語“互動”可以看出,該圖用於描述模型中不同元素之間某種型別的互動。這種互動是系統動態行為的一部分。
UML中用兩種圖來表示這種互動行為,即序列圖和協作圖。兩種圖的基本目的都是相似的。
序列圖強調訊息的時間順序,而協作圖強調發送和接收訊息的物件的結構組織。
互動圖的目的
互動圖的目的是視覺化系統的互動行為。視覺化互動是一項困難的任務。因此,解決方案是使用不同型別的模型來捕捉互動的不同方面。
序列圖和協作圖用於捕捉動態特性,但角度不同。
互動圖的目的是:
捕捉系統的動態行為。
描述系統中的訊息流。
描述物件的結構組織。
描述物件之間的互動。
如何繪製互動圖?
正如我們已經討論過的,互動圖的目的是捕捉系統的動態方面。因此,為了捕捉動態方面,我們需要了解什麼是動態方面以及如何將其視覺化。動態方面可以定義為在特定時刻執行系統的快照。
UML中有兩種互動圖。一種是序列圖,另一種是協作圖。序列圖捕捉從一個物件到另一個物件的訊息流的時間順序,而協作圖描述參與訊息流的系統中物件的組織。
繪製互動圖之前,需要明確識別以下內容:
參與互動的物件。
物件之間訊息的流動。
訊息流動的順序。
物件組織。
以下是兩個對訂單管理系統進行建模的互動圖。第一個圖是序列圖,第二個圖是協作圖。
序列圖
序列圖有四個物件(客戶、訂單、特殊訂單和普通訂單)。
下圖顯示了特殊訂單物件的傳送訊息序列,對於普通訂單物件也可以使用相同的序列。理解訊息流的時間順序非常重要。訊息流只不過是物件的呼叫方法。
第一個呼叫是sendOrder(),它是Order物件的方法。下一個呼叫是confirm(),它是SpecialOrder物件的方法,最後一個呼叫是Dispatch(),它是SpecialOrder物件的方法。下圖主要描述了從一個物件到另一個物件的方法呼叫,這也是系統執行時的實際場景。

協作圖
第二個互動圖是協作圖。它顯示瞭如下所示的物件組織。在協作圖中,方法呼叫序列透過某種編號技術來指示。數字表示方法一個接一個呼叫的方式。我們使用了相同的訂單管理系統來描述協作圖。
方法呼叫類似於序列圖。但是,區別在於序列圖不描述物件組織,而協作圖顯示物件組織。
要在這兩種圖之間進行選擇,重點在於需求型別。如果時間順序很重要,則使用序列圖。如果需要組織,則使用協作圖。

在何處使用互動圖?
我們已經討論過,互動圖用於描述系統的動態特性。現在,我們將研究這些圖的實際應用場景。要了解實際應用,我們需要了解序列圖和協作圖的基本特性。
兩種圖的主要目的是相似的,因為它們都用於捕捉系統的動態行為。但是,具體的目的是更重要的澄清和理解。
序列圖用於捕獲從一個物件到另一個物件的訊息流的順序。協作圖用於描述參與互動的物件的結構組織。單個圖不足以描述整個系統的動態方面,因此使用一組圖來整體捕獲它。
當我們想要了解訊息流和結構組織時,可以使用互動圖。訊息流表示從一個物件到另一個物件的控制流序列。結構組織表示系統中元素的視覺化組織。
互動圖可用於:
透過時間序列建模控制流。
透過結構組織建模控制流。
正向工程。
逆向工程。