訊息

訊息是一種統一建模語言 (UML) 序列圖元素,它用來定義在一項互動中,各實例之間的特定通訊種類。 訊息會將生命線代表的實例所提供的資訊傳給互動中的另一個實例。

訊息會指定傳送端和接收端,且會定義生命線之間的通訊種類。 比方說,通訊可以利用 synchCall 或 asynchCall 來呼叫作業,利用 asynchSignal 來產生信號,以及建立和毀損參與者。

序列圖可以有三個訊息類型:

如下圖所示,在互動頁框中,訊息會顯示成一條線,且含有指向訊息傳送方向的箭頭;也就是說,從訊息的傳送端到訊息的接受端。

顯示來源和目標生命線的互動頁框。建立訊息跨越來源和目標生命線,後面接著同步訊息、非同步傳訊和毀損訊息。

來源生命線傳送至目標生命線的訊息代表目標生命線所實作的作業或信號。 您可以指定訊息名稱或排列訊息。 線條或箭頭外觀反映訊息的內容。 下表說明在序列圖中代表訊息的圖形。

圖形 說明 表示法
含指向右側之實心箭頭的線條。 含指向接收端生命線之實心箭頭的線條 這個圖形代表在繼續外部流程之前,系統等待控制流程完成作業的同步呼叫作業。
含指向右側的開尾箭頭的線條。 含開尾箭頭的線條 這個圖代表來源物件在其中傳送訊息,且立即進行下一步驟的非同步信號或非同步呼叫。
含指向左側之實心箭頭的虛線。 含指向起源端生命線之實心箭頭的虛線 這個圖形代表從呼叫到程序的回覆訊息。 當您建立同步訊息時,依預設,會建立回覆訊息。 您可以在喜好設定視窗中,變更這個預設值。
您可以在序列圖中,使用兩個其他類型的訊息:

您可以利用名稱或作業簽章來識別訊息。

類型 範例 說明
名稱 \Get the Password\ 名稱只代表訊息的名稱。 一種慣例是將名稱放在斜線 (\\) 中,以指示訊息名稱與作業無關。 當作業與訊息相關時,作業名稱會取代這個名稱。
簽章 getPassword 當作業指派給訊息時,您可以顯示作業簽章來識別作業的名稱。 簽章通常是在設計階段中,供圖解使用,因為它們會提供開發人員編寫設計時所需要的詳細資料。

操作非同步訊息

非同步訊息是您可以個別移動其傳送點和接收點的唯一訊息類型。 您可以在生命線之間移動非同步訊息的點來操作傳送事件和接收事件之間的時間延遲;結果稱為偏差訊息。

如下圖所示,偏差訊息會顯示成含開尾箭頭的線條,傳送和接收端生命線之間,會出現多項互動。

顯示來源和目標生命線的互動頁框。建立訊息跨越來源和目標生命線,後面接著起始於來源生命線,且垂直跨越兩個同步訊息的非同步訊息。訊息完成於目標生命線,在毀損訊息上面。

傳送事件不會暫停執行,互動可以出現在傳送端生命線的點和接收端生命線的點之間。

相關概念
序列圖
互動頁框
生命線
執行事項
互動事項
組合片段
互動運算子
互動運算元
警戒條件
停止節點
相關工作
建立同步或非同步訊息
將建立或毀損訊息新增至生命線中
將訊息重新連接至生命線
延遲接收非同步訊息
移動生命線的同步訊息
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.