準則: 通訊圖
「通訊圖」是一個 UML 結構,用來顯示物件如何互動以執行「使用案例」情境的行為。這個準則說明這項建構的 UML 表示法。
關係
主要說明

簡介

UML 圖示 合作圖已重新命名為通訊圖。請參閱 UML1.x 和 UML 2.0 之間的差異,以取得詳細資訊。

通訊圖用來顯示物件如何互動,以執行特定使用案例的行為,或使用案例之一部分的行為。設計者利用序列圖和通訊圖來定義和釐清執行使用案例特定事件流程之物件的角色。它們是用來判斷類別責任和介面的主要資訊來源。

通訊圖與序列圖不同,它會顯示物件之間的關係。序列圖和通訊圖會表示類似的資訊,但表現的方式不同。通訊圖會顯現物件之間的關係,比較適合用來瞭解所有在給定物件上的作用,也比較適合程序化設計。

由於通訊圖的格式,它們大體上較適合分析作業(請參閱作業:使用案例分析)。明確地說,它們往往比較適合用來描述較少物件較簡單的互動。當物件和訊息數量增加時,這個圖會逐漸變成難以閱讀。另外,也難以顯示附加的敘述性資訊,如計時、決策點,或能夠輕易加入序列圖附註中的其他未結構化的資訊。

通訊圖的內容

通訊圖中可能會有物件和參與者實例,以及鏈結和訊息,用來說明它們如何相關及如何互動。這個圖藉由物件如何互相傳送訊息進行通訊來說明參與的物件發生了什麼。您可以針對使用案例事件流程的每個變式來建立一份通訊圖。

圖解說明詳見隨附的文字。

說明回收機系統接收存放項目使用案例之部分事件流程的通訊圖。

物件

物件是用物件符號來表示,這個符號會顯示物件名稱及其類別(含底線),中間用冒號分開:

objectname : classname

您可以依照下列方式來使用通訊圖中的物件:

  • 物件的類別可能尚未指定。您在建立通訊圖時,通常是先有物件,稍後再指定它們的類別。
  • 物件可能尚未命名,如果您要區分相同類別的不同物件,您應該將它們命名。
  • 如果物件主動參與互動,通訊圖也可以呈現物件類別本身。

參與者

參與者實例通常會出現在通訊圖中,作為互動的呼叫端。如果同一個圖中有多個參與者實例,請試著將它們放在圖的周圍。

鏈結

鏈結的定義如下:

  • 鏈結是相互傳送訊息的物件之間的關係。在通訊圖中,鏈結顯示成兩個物件之間的實線。
  • 物件會利用它與其他物件的鏈結來與這些物件互動,或導覽到這些物件。
  • 鏈結可以是關聯的實例,也可能是匿名,這表示它的關聯尚未指定。
  • 訊息流程附加到鏈結,請參閱訊息

訊息

訊息是在物件之間用來傳遞資訊的通訊,且預期接著會有活動。在通訊圖中,訊息顯示成在鏈結附近含有標籤的箭頭。這表示鏈結用來將訊息傳輸給目標物件,或實作將訊息交付給目標物件的作業。箭頭沿著鏈結指向目標物件(接收訊息的物件)。箭頭的標籤是訊息名稱及其參數。箭頭的標籤也可以是顯示訊息在整體互動中之順序的序號。通訊圖通常會使用序號,因為它們是用來描述訊息相對順序的唯一方式。

訊息也可能並未指派,這表示它的名稱是用來說明訊息整體意義的暫時字串。您可以稍後再指定訊息目的地物件的作業來指派訊息。之後,指定的作業會取代訊息名稱。