UML之互動圖(序列圖與協作圖)

語言: CN / TW / HK

前言:



  互動是指在特定語境中,為了實現某一個目標,而在一組物件之間進行交換的一組訊息所表示的行為。互動圖就是用來描述系統中的物件是如何進行相互作用的,即一組物件是如何進行訊息傳遞的。

  用於描述協作的動態行為方面,當對互動建模時,通常包括物件,又包括訊息。

  這種互動行為表現為UML中的兩個圖,被稱為序列圖和協作圖。這兩個圖的基本宗旨是相似的。序列圖強調訊息傳遞的時間順序;協作圖注重傳送和接收訊息的物件的組織結構。



序列圖(Sequence Diagram)

  

1.概念:



       描述了物件之間傳遞訊息的時間順序, 用來表示用例中的行為順序, 是強調訊息時間順序的互動圖。



       序列圖(順序圖)描述系統中類和類之間的互動, 將這些互動建模成訊息交換, 其中每條訊息都代表了類的一個操

作或者引起狀態機改變的觸發事件



2.構成:



 1、物件(object)

        

        物件即類的例項,具有特定的的屬性和操作。命名規範為:物件名:類名

  

 2、生命線(Lifeline)



        物件下面虛線即為該物件的生命線,表示該物件的生命週期即存在的時間,“X”標記表示生命結束。如下圖所

 示:



 3、啟用(Activation)



   概念:序列圖可以描述物件的啟用,啟用是物件操作的執行,它表示一個物件直接或通過從屬操作完成操作的

過程

          

   啟用期

       當一個物件沒有被啟用時,該物件處於休眠狀態,什麼事都不做,但它依然存在,等待新的訊息來激

活它。

       當一條訊息被傳遞給物件的時候,它會觸發該物件的某個行為,這是就說該物件被激活了。

       當一個物件處於啟用期時,表明該物件正在執行某個動作。 

       

       

 4、訊息(Messages)



        概念:訊息是從一個物件(傳送者)向另一個或其他幾個物件(接收者)傳送訊號,或由一個物件(傳送者或調

者)呼叫另一個物件(接收者)的操作。

        物件之間的互動是通過互發訊息來實現的。訊息從源物件指向目標物件,訊息一旦傳送便將控制從源物件轉

移到目標物件。

 

         型別:



         同步和非同步的區分:

         同步:你叫我去吃飯,我聽到了就去吃飯;沒聽到你就一直喊 直到我聽到了才一起去吃飯

         非同步:我叫你去吃飯,叫一聲後你是立馬走還是一會走或者根本沒聽到,我都不管自己吃去了這就是非同步。



3.例項:

    後續 暫無



協作圖(Collaboration Diagram)

 

 1.概念:



        協作圖是表現物件協作關係的圖,它表示了協作中作為各種類元角色的物件所處的位置。

  

 2.構成要素:



        物件(Object):協作圖中物件的表示形式和序列圖中物件的表示形式一樣

        

        鏈(Link):在協作圖中的鏈與物件圖中鏈的概念以及表示形式都相同,都是兩個或多個物件之間的獨立連線,

是關聯的例項。

        

        訊息(Messsages):在協作圖中可以通過一系列的訊息來描述系統的動態行為。

 

 3.序列圖與協作圖的區別與聯絡:



    a.順序圖更強調時間和順序,而協作圖強調聯絡,即物件之間的互動。


    b.兩則都表示物件間的關係,但是表述的方式不同,協作圖更有利於理解對給定物件的所有影響。

    c.在順序圖上,物件的初始化和消亡的時間是很清楚的,但是協作圖中無法顯示。

    d.提倡在分析中使用順序圖,在設計中使用協作圖。

    e.隨著物件和訊息數量的增多,理解協作圖將越來越困難。






   f.兩者在語意上是互通的,可以互相轉換。



 4.例項:

    後續暫無



小結:

      兩種圖在本質上是相同的,存在很多的共通點。在我們學習的過程中要注重兩者間的對比,可以方便我們的理

解,在總結中不斷查漏補缺。加油!