[UML]UML系列——活動圖activity diagram

系列文章

[UML]UML系列——用例圖Use Casehtml

[UML]UML系列——用例圖中的各類關係(include、extend)算法

[UML]UML系列——類圖Class瀏覽器

[UML]UML系列——類圖class的關聯關係(聚合、組合)併發

[UML]UML系列——類圖class的依賴關係工具

[UML]UML系列——類圖class的泛化關係post

[UML]UML系列——類圖class的實現關係Realizationurl

[UML]UML系列——包圖Packagespa

活動圖的引入:先上實例

      實例描述:假如如今有一個簡單的音樂盒,用戶根據歌曲名稱搜索本身喜好的音樂,找到後,用戶能夠以MP3模式播放(同步顯示歌詞),也能夠以MV模式播放。因爲音樂和歌詞都來自於互聯網,所以在播放以前應鏈接這些文件。3d

      根據上述描述,該音樂盒的用例圖以下:code

      描述MP3播放功能:

實例引入:活動圖的做用

        求最大分數:

     該過程的代碼描述:

 1  public class assistant 
 2 {
 3         public int id;
 4         ……
 5          public int max(int score1, int score2, int score3)
 6         {
 7             int temp;
 8             temp = score1;
 9             if (score2 > temp)
10                 temp = score2;
11             if (score3 > temp)
12                 temp = score3;
13             return temp;
14         }
15     }

活動圖的概念及做用    

      概念

      活動圖本質上是一種流程圖,它描述活動的序列,即系統從一個活動到另外一個活動的控制流。

      活動圖的做用

      描述用例,描述類的操做,另外,能夠用來描述算法(單獨使用)。

活動圖的基本符號

     活動(動做)

     一、活動的概念

     表示工做流過程當中命令的執行或活動的進行。

     二、活動的符號

     狀態

      注意:一個活動圖中只能有一個開始狀態,但能夠有多個結束狀態。(例如上面的MP3活動圖,就有2個結束狀態)

     轉移(動做流)

     活動之間、活動與狀態之間的轉換。

     分支與合併

     分支

     根據條件的取值決定動做的流向。

 

 

      合併

      合併將倆條路徑鏈接到一塊兒,合併成一條路徑。

 

活動圖的其餘符號

     分叉和匯合

 

 

      分叉

      用於將一個控制流分爲兩個或多個併發運行的分支。

 

      匯合

      用於將兩個或多個控制流合併到一塊兒造成一個單向的控制流,符號與分叉相同。

      若是一個控制流在其餘控制流到達以前到達了鏈接,它將會等待,知道全部控制流都到達了纔會向鏈接傳遞控制權。

     實例:銷售合同從簽定到履約的過程

     銷售合同簽定後,要進行覈對。若是發現錯誤,則終止履約;若是沒有錯誤,則要覈對貨物清單肯定是否有貨,還要覈對付款單肯定對方是否已經付款,只有這兩項都完成,才能夠發貨。若是無貨或對方還沒有付款,則終止履約。則活動圖以下:

     泳道

     泳道代表每一個活動是由哪些人或哪些部門負責完成。

      在活動圖中泳道區分了負責活動的對象,它明確地表示了哪些活動是由哪些對象進行的。

      在包含泳道的活動圖中每一個活動只能明確地屬於一個泳道。

     簡單模擬卓越網的購物流程

     添加泳道以後:

    

從左到右:顧客、運輸部、財務部   

     對象流

     用活動圖描述某個對象時,能夠將涉及到的對象放到活動圖中,並用一個依賴將其鏈接到活動或狀態上,對象的這種使用方法就構成對象流。

    上面的購物過程的活動圖加入對象流以後:

活動圖的Rose建模

1、建立活動圖

右擊use case view ->new->activity diagram」

2、重命名活動圖並雙擊打開活動圖窗口

3、繪製活動圖的關鍵步驟

一、添加泳道

(1)添加泳道:單擊工具欄上的泳道按紐,在活動圖窗口中單擊。

(2)重命名泳道:雙擊泳道標籤,彈出以下窗口

(3)調整泳道的寬度:拖動泳道間的調整線

 

(4)刪除泳道

 方法1:右擊泳道->delete

此刪除操做產生的效果:
泳道被刪除(非完全刪除,可恢復)
泳道內的圖形也會同時被刪除(非完全刪除,可恢復)

方法2:在瀏覽器中右擊泳道->delete

此刪除操做產生的效果:
泳道被刪除(完全刪除,不可恢復)
泳道內的圖形也會同時被刪除(非完全刪除,可恢復)

二、設置轉移條件

三、添加對象與對象流

(1)將對象與對象流按紐顯示在繪圖工做欄中

右擊繪圖工具欄空白處,選擇「Customize」,彈出以下窗口,將這兩項添加到繪圖工具欄。

(2)添加與設置對象

注意:
在同一步活動圖中,同名的對象只能經過複製來建立

總結

      活動圖就總結到這裏,這章內容有點多,涉及到的名詞特別多,其實照着文章中的實例本身畫一遍,就印象深入了。活動圖用的仍是比較多的。

相關文章
相關標籤/搜索