UML交互圖
概述:
從名字交互作用很明顯,圖中是用來描述一些不同的模型中的不同元素之間的相互作用。所以,這種相互作用是動態行為的係統的一部分。
這種互動行為表示UML中的兩個圖,被稱為序列圖和協作圖。這兩個圖的基本宗旨是相似的。
序列圖強調時間順序的消息和協作圖注重發送和接收消息的對象的組織結構。
目的:
交互圖的目的是可視化係統的交互行為。載入可視化的交互是一個困難的任務。因此,解決方案是使用不同類型的模型來捕獲不同方麵的相互作用。
這就是為什麼序列和協作圖是用來捕獲動態性質,但是從不同的角度。
因此,交互圖而言,可以描述為:
-
捕捉一個係統的動態行為。
-
來描述該係統中的消息流。
-
來描述對象的結構組織。
-
為了描述對象之間的互動。
如何繪製交互圖?
正如我們已經討論交互圖的目的是捕捉係統的動態環節。因此,動態捕捉方麵,我們需要了解一個動態的環節是,它是如何可視化。動態方麵可以定義為在一個特定的時刻運行的係統快照。
我們有兩種類型UML交互圖。一個是序列圖,另一種是在協作圖。序列圖捕獲從一個對象到另一個的時間順序的消息流和協作圖描述係統中對象的組織參加在消息流中。
因此,下麵是確定之前繪製交互圖:
-
參與互動的對象。
-
對象之間的消息流。
-
消息的順序流程。
-
對象的組織。
以下是兩個交互圖建模的訂單管理係統。第一圖是一個順序圖,第二個是在協作圖。
序列圖:
序列圖有四個對象(客戶,訂單,特殊訂單和正常訂單)。
下麵的關係圖所示的消息序列為SpecialOrder對象和NormalOrder對象在相同的情況下使用。現在重要的是要了解的時間順序的消息流。消息流無關,但一個對象的方法調用。
首先調用的是sendOrder(),這是一個訂單對象的方法。在下一次調用confirm (),這是一個方法SpecialOrder對象的最後調用Dispatch (),它是一種方法的SpecialOrder對象。所以這裡的圖主要描述的方法調用從一個對象到另一個,在係統運行時這也是實際情況。
協作圖:
第二交互圖,協作圖。它顯示的對象組織,如下所示。在這裡,在協作圖的方法調用序列是表示,由一些數字技術,如下所示。該數字表示方法如何被稱為此起彼伏。我們已經采取了相同的訂單管理係統,協作圖來描述。
這些調用方法類似的序列圖。但不同的是,序列圖中未介紹的對象組織,而協作圖中示出的對象的組織。
現在選擇這兩個圖表之間主要強調的是需求類型。如果時間序列是很重要的,那麼序列圖中被使用,並且,如果需要的組織,那麼使用協作圖。
在哪裡使用交互圖?
我們已經討論了交互圖是用來描述一個係統的動態本質。現在,我們將進入實用化的情況下,使用這些圖。要了解實際應用中,我們需要了解的基本性質順序圖和協作圖。
這兩個圖的主要目的,是相似的,因為它們是用來捕捉係統的動態行為。但具體的目的,更重要的是闡明和理解。
序列圖是用來捕獲從一個對象到另一個消息流的順序。和協作圖用來描述參與相互作用中的對象的結構組織。一個單一的圖是不是足以說明整個係統的動態環節,這樣的一套圖是用來捕獲的是作為一個整體。
使用交互圖,當我們想要了解的消息流和組織結構。消息流裝置控製流從一個對象到另一個序列和結構組織的裝置,在一個係統中的元素的視覺組織。
在一份簡短的以下交互圖的用法:
-
按時間順序的控製流建模。
-
為了模擬流結構組織控製。
-
對於正向工程。
-
逆向工程。