UML系列——活動圖activity diagram

轉自:http://www.cnblogs.com/wolf-sun/p/3411175.html

系列文章

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

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

[UML]UML系列——類圖Class

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

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

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

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

[UML]UML系列——包圖Package

活動圖的引入:先上實例

      實例描述:假如現在有一個簡單的音樂盒,用戶根據歌曲名稱搜索自己喜愛的音樂,找到後,用戶可以以MP3模式播放(同步顯示歌詞),也可以以MV模式播放。由於音樂和歌詞都來自於互聯網,因此在播放之前應連接這些文件。

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

      描述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     }

複製代碼

活動圖的概念及作用    

      概念

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

      活動圖的作用

      描述用例,描述類的操作,另外,可以用來描述算法(單獨使用)。

活動圖的基本符號

     活動(動作)

     1、活動的概念

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

     2、活動的符號

     狀態

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

     轉移(動作流)

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

     分支與合併

     分支

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

 

 

      合併

      合併將倆條路徑連接到一起,合併成一條路徑。

 

活動圖的其他符號

     分叉和匯合

 

 

      分叉

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

 

      匯合

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

      如果一個控制流在其他控制流到達之前到達了連接,它將會等待,知道所有控制流都到達了纔會向連接傳遞控制權。

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

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

     泳道

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

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

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

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

     添加泳道之後:

    

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

     對象流

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

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

活動圖的Rose建模

一、創建活動圖

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

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

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

1、添加泳道

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

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

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

 

(4)刪除泳道

 方法1:右擊泳道->delete

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

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

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

2、設置轉移條件

3、添加對象與對象流

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

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

(2)添加與設置對象

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章