協作圖(通信圖)collaboration diagram
系列文章
[UML]UML系列——用例圖中的各種關系(include、extend)
[UML]UML系列——類圖class的關聯關系(聚合、組合)
[UML]UML系列——類圖class的實現關系Realization
[UML]UML系列——活動圖activity diagram
[UML]UML系列——時序圖(順序圖)sequence diagram
引言
用例圖、活動圖、時序圖之間的關系?
時序圖與協作圖之間的關系
共同點:二者都是用對象間的交互來描述用例的。
案例:時序圖
協作圖
共同點:時序圖與協作圖均顯示了對象間的交互。
不同點:時序圖強調交互的時間次序。
協作圖強調交互的空間結構。
案例剖析
這里還使用上片文章中的赤壁之戰的時序圖來分析。
思考:孔明向哪些對象發送了消息?又接收了哪些對象發送的消息?(可以根據這個典故,想想)
協作圖
時序圖按照時間順序布圖,而寫作圖按照空間結構布圖
協作圖與時序圖在語義上是等價的,二者可以相互轉換,而不會丟失信息。(通過上面的例子,你可能已經看出他們之間的轉化關系)
協作圖的構成
對象、鏈接、消息
對象
鏈接
1、鏈接的概念
鏈接用來在協作圖中關聯對象,鏈接的目的是讓消息在不同的系統對象之間傳遞。
2、鏈接的符號表示
鏈接以連接兩個對象的單一線條表示。
消息
1、消息的概念
消息是協作圖中對象與對象之間通信的方式
2、消息的類型與符號表示
時序圖與協作圖的轉換
時序圖和協作圖在語義上是等價的,所以時序圖和協作圖可以彼此轉換而不會損失信息。(具體轉換方式在下面Rose建模中講到)
協作圖的Rose建模
一、新建協作圖
方法1:
方法2:
二、重命名協作圖並雙擊打開
三、添加對象
方法1: a.將事先創建的類從瀏覽器拖到協作圖中
b.雙擊對象,在彈出的窗口中設置對象的名稱
方法2:
a.通過工具欄的對象按紐在協作圖中添加一個對象
b.雙擊對象,在彈出的窗口中設置對象名和類
四、添加鏈接
用工具欄中的鏈接按紐進行連接
五、添加消息
方法1:
a.用工具欄上的消息按紐點擊鏈接線
b.雙擊消息,在彈出的窗口中設置消息的名稱
方法2:
a.雙擊鏈接線,彈出如下窗口
六、設置消息的類型
七、時序圖與協作圖的相互轉換
總結
以上就是協作圖的相關內容,希望對您有所幫助。在實際運用中,時序圖用的比較多,我比較喜歡從時序圖轉換為協作圖,其實時序圖協作圖,要其一就可以。不必要兩種圖都畫,個人見解。
![]() |
作者:Wolfy |