UML學習筆記(五)--順序圖
順序圖是用來描述對象自身及對象間信息傳遞順序的視圖。它用來表示用例中的行為順序。當執行一個用例行為時,順序圖中的每條消息對應了一個類操作或狀態機中引起轉換的觸發事件。它著重顯示了參與相互作用的對象和所交換消息的順序。
順序圖主要有4個標記符:對象、生命線、消息和激活。
順序圖用一個二維圖描述系統中各個對象之間的交互關系,其中,縱軸是時間軸,時間沿豎線向下延伸,橫軸代表了參與相互作用的對象。當對象存在時,生命線由一條虛線表示,當對象的過程處於激活狀態時,生命線是一道雙線。消息用從一個對象到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。
對象:
對象是特定行為與屬性的集合。
對象的表示方式有三種:
1.包括對象名和類名,
如:
2.只有類名。
如:
3.只有對象名
如:
生命線:
生命線用於描述對象的存在周期,對象下方的虛線就是改對象的生命線。
如:
激活:
控制焦點是指活動者或對象處於執行狀態的時間段。
如:
消息:
消息用於描述對象間交互的方式及內容。
消息分為四種:同步消息、異步消息、返回消息、自關聯消息
1.同步消息:一個對象向另一個對象發出同步消息後,將處於阻塞狀態,一直等到另一個對象的回應。
表示方式:
2.異步消息:一個對象向另一個對象發出異步消息後,這個對象可以進行其他的操作,不需要等到另一個對象的響應。
表示方式:
3.返回消息:同步消息的返回消息
表示方式:
4.自關聯消息:用來描述對象內部函數的互相調用。
表示方式:
最後需要說明一下順序圖中對於流程控制的模塊:復合片段(Combined Fragments)
復合片段有多種,在此主要介紹一下幾種:
條件判斷、可選、循環、同步
1.條件判斷:用於描述代碼中if…else…這種結構
標記為“alt”
例如:
2.可選:是一種特殊的“條件判斷”,它只是一個if,沒有else if或else
可選的標記為:opt
例如:
3.循環:是指代碼中的for、while之類的語句塊。
循環的標記為:loop
例如:下圖中[m,n]是指至少執行m次,最多執行n次
4.同步:用於描述多線程的情況。
同步的標記是:par
例如:
畫順序圖的步驟:
1. 確定交互的範圍
2. 確定參與交互的活動者與對象
3. 確定活動者、對象的生存周期
4. 確定交互中產生的消息
5. 細化消息的內容
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/qianmodanshang/article/details/53183540UML學習筆記(五)--順序圖