UML系列——活動圖activity diagram

原文地址: https://www.cnblogs.com/wolf-sun/p/3432135.html

系列文章

UML系列——用例圖Use Case
UML系列——用例圖中的各種關(guān)系(include、extend)
UML系列——類圖Class
UML系列——類圖class的關(guān)聯(lián)關(guān)系(聚合、組合)
UML系列——類圖class的依賴關(guān)系
UML系列——類圖class的泛化關(guān)系
UML系列——類圖class的實(shí)現(xiàn)關(guān)系Realization
UML系列——包圖Package

活動圖的引入:先上實(shí)例

實(shí)例描述:假如現(xiàn)在有一個(gè)簡單的音樂盒,用戶根據(jù)歌曲名稱搜索自己喜愛的音樂,找到后,用戶可以以MP3模式播放(同步顯示歌詞),也可以以MV模式播放。由于音樂和歌詞都來自于互聯(lián)網(wǎng),因此在播放之前應(yīng)連接這些文件。

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

1.png

描述MP3播放功能:
2.png

實(shí)例引入:活動圖的作用

3.png

求最大分?jǐn)?shù):
4.png

該過程的代碼描述:

public class assistant 
{
        public int id;
        ……
         public int max(int score1, int score2, int score3)
        {
            int temp;
            temp = score1;
            if (score2 > temp)
                temp = score2;
            if (score3 > temp)
                temp = score3;
            return temp;
        }
    }

活動圖的概念及作用

概念

活動圖本質(zhì)上是一種流程圖,它描述活動的序列,即系統(tǒng)從一個(gè)活動到另一個(gè)活動的控制流。

活動圖的作用

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

活動圖的基本符號

5.png

活動(動作)

1、活動的概念
表示工作流過程中命令的執(zhí)行或活動的進(jìn)行。

2、活動的符號

6.png

狀態(tài)

7.png

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

轉(zhuǎn)移(動作流)

活動之間、活動與狀態(tài)之間的轉(zhuǎn)換。

8.png

分支與合并
9.png

分支

根據(jù)條件的取值決定動作的流向。

1.png

合并

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


2.png

活動圖的其他符號

分叉和匯合

分叉

用于將一個(gè)控制流分為兩個(gè)或多個(gè)并發(fā)運(yùn)行的分支。

3.png

匯合

用于將兩個(gè)或多個(gè)控制流合并到一起形成一個(gè)單向的控制流,符號與分叉相同。

如果一個(gè)控制流在其他控制流到達(dá)之前到達(dá)了連接,它將會等待,知道所有控制流都到達(dá)了才會向連接傳遞控制權(quán)。

4.png

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

銷售合同簽訂后,要進(jìn)行核對。如果發(fā)現(xiàn)錯(cuò)誤,則終止履約;如果沒有錯(cuò)誤,則要核對貨物清單確定是否有貨,還要核對付款單確定對方是否已經(jīng)付款,只有這兩項(xiàng)都完成,才可以發(fā)貨。如果無貨或?qū)Ψ缴形锤犊?,則終止履約。則活動圖如下:


5.png

泳道

泳道表明每個(gè)活動是由哪些人或哪些部門負(fù)責(zé)完成。


6.png

在活動圖中泳道區(qū)分了負(fù)責(zé)活動的對象,它明確地表示了哪些活動是由哪些對象進(jìn)行的。

在包含泳道的活動圖中每個(gè)活動只能明確地屬于一個(gè)泳道。

簡單模擬卓越網(wǎng)的購物流程


7.png

添加泳道之后:

8.png

從左到右:顧客、運(yùn)輸部、財(cái)務(wù)部

用活動圖描述某個(gè)對象時(shí),可以將涉及到的對象放到活動圖中,并用一個(gè)依賴將其連接到活動或狀態(tài)上,對象的這種使用方法就構(gòu)成對象流。

9.png

上面的購物過程的活動圖加入對象流之后:
1.png

總結(jié)

活動圖就總結(jié)到這里,這章內(nèi)容有點(diǎn)多,涉及到的名詞特別多,其實(shí)照著文章中的實(shí)例自己畫一遍,就印象深刻了?;顒訄D用的還是比較多的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容