UML之互動圖(序列圖與協作圖)
前言:
互動是指在特定語境中,為了實現某一個目標,而在一組物件之間進行交換的一組訊息所表示的行為。互動圖就是用來描述系統中的物件是如何進行相互作用的,即一組物件是如何進行訊息傳遞的。
用於描述協作的動態行為方面,當對互動建模時,通常包括物件,又包括訊息。
這種互動行為表現為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.例項:
後續暫無
小結:
兩種圖在本質上是相同的,存在很多的共通點。在我們學習的過程中要注重兩者間的對比,可以方便我們的理
解,在總結中不斷查漏補缺。加油!
- 2021年軟體測試的六大趨勢,必看!
- 重磅:Python/Java/C 2020年之爭!誰是你心中的NO.1?
- 新零售的未來 智慧移動機器人將發揮哪些作用?
- pytest-assume外掛(全網最詳細解釋):多重斷言執行
- UML之互動圖(序列圖與協作圖)
- 【一看】看圖說話之瓶頸
- MSSQL系列之十四 無限極分類的解決辦法
- 通過編寫“猜數字”遊戲學習 Lua
- Linux-基礎命令1
- rf IDEAS為LG電子提供WAVE ID(R)安全訪問技術
- 網工學習必備筆記——VLAN路由-三層交換
- Zabbix經驗分享-缺包常見問題處理
- 我用Pipenv來管理專案環境,大寫的爽
- Kotlin 百度離線人臉採集SDK
- CenOS 7 rpm包安裝lamp
- 取餘運算應用(2)-在glsl中
- 淺談 Ads Auction(1) - 知乎
- 感謝一直以來的陪伴,我們抽個獎吧!
- 速度數百倍之差,有人斷言KNN面臨淘汰,更快更強的ANN將取而代之 - 知乎
- 高併發賬戶記錄查詢