原文地址: 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的實現(xiàn)關(guān)系Realization
UML系列——包圖Package
活動圖的引入:先上實例
實例描述:假如現(xiàn)在有一個簡單的音樂盒,用戶根據(jù)歌曲名稱搜索自己喜愛的音樂嚷堡,找到后岸霹,用戶可以以MP3模式播放(同步顯示歌詞)棺滞,也可以以MV模式播放。由于音樂和歌詞都來自于互聯(lián)網(wǎng)苟径,因此在播放之前應(yīng)連接這些文件案站。
根據(jù)上述描述,該音樂盒的用例圖如下:
描述MP3播放功能:
實例引入:活動圖的作用
求最大分數(shù):
該過程的代碼描述:
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)從一個活動到另一個活動的控制流。
活動圖的作用
描述用例遭殉,描述類的操作石挂,另外,可以用來描述算法(單獨使用)险污。
活動圖的基本符號
活動(動作)
1痹愚、活動的概念
表示工作流過程中命令的執(zhí)行或活動的進行。
2蛔糯、活動的符號
狀態(tài)
注意:一個活動圖中只能有一個開始狀態(tài)拯腮,但可以有多個結(jié)束狀態(tài)。(例如上面的MP3活動圖蚁飒,就有2個結(jié)束狀態(tài))
轉(zhuǎn)移(動作流)
活動之間动壤、活動與狀態(tài)之間的轉(zhuǎn)換。
分支與合并
分支
根據(jù)條件的取值決定動作的流向淮逻。
合并
合并將倆條路徑連接到一起琼懊,合并成一條路徑阁簸。
活動圖的其他符號
分叉和匯合
分叉
用于將一個控制流分為兩個或多個并發(fā)運行的分支。
匯合
用于將兩個或多個控制流合并到一起形成一個單向的控制流哼丈,符號與分叉相同启妹。
如果一個控制流在其他控制流到達之前到達了連接,它將會等待削祈,知道所有控制流都到達了才會向連接傳遞控制權(quán)翅溺。
實例:銷售合同從簽訂到履約的過程
銷售合同簽訂后,要進行核對髓抑。如果發(fā)現(xiàn)錯誤咙崎,則終止履約;如果沒有錯誤吨拍,則要核對貨物清單確定是否有貨褪猛,還要核對付款單確定對方是否已經(jīng)付款,只有這兩項都完成羹饰,才可以發(fā)貨伊滋。如果無貨或?qū)Ψ缴形锤犊睿瑒t終止履約队秩。則活動圖如下:
泳道
泳道表明每個活動是由哪些人或哪些部門負責(zé)完成笑旺。
在活動圖中泳道區(qū)分了負責(zé)活動的對象,它明確地表示了哪些活動是由哪些對象進行的馍资。
在包含泳道的活動圖中每個活動只能明確地屬于一個泳道筒主。
簡單模擬卓越網(wǎng)的購物流程
添加泳道之后:
從左到右:顧客、運輸部鸟蟹、財務(wù)部
用活動圖描述某個對象時乌妙,可以將涉及到的對象放到活動圖中,并用一個依賴將其連接到活動或狀態(tài)上建钥,對象的這種使用方法就構(gòu)成對象流藤韵。
上面的購物過程的活動圖加入對象流之后:
總結(jié)
活動圖就總結(jié)到這里,這章內(nèi)容有點多熊经,涉及到的名詞特別多泽艘,其實照著文章中的實例自己畫一遍,就印象深刻了镐依∠づ瑁活動圖用的還是比較多的。