產(chǎn)品經(jīng)理必學(xué)UML(三):活動圖
活動圖是什么?活動圖由什么元素組成?活動圖是如何展示系統(tǒng)運(yùn)作的?
我們經(jīng)常需要用到流程圖,在UML里,活動圖看起來和流程圖相似,但是與流程圖確實又有一些區(qū)別,主要體現(xiàn)在以下幾個方面:
- 流程圖著重描述處理過程,主要控制結(jié)構(gòu)是順序、分支和循環(huán),各個處理過程過程中有嚴(yán)格的順序和時間關(guān)系;活動圖著重表現(xiàn)系統(tǒng)行為,描述對象活動的順序關(guān)系所遵循的原則。
- 活動圖能夠表示并發(fā)活動的情形,而流程圖不行。
- 活動圖面向?qū)ο?,流程圖面向過程。
一、概念
活動指:某件事情正在進(jìn)行的狀態(tài),既可以是現(xiàn)實生活中某一項工作,也可以是軟件系統(tǒng)中某個類對象的一個操作。
活動圖是UML中描述系統(tǒng)動態(tài)行為的圖之一,用于展現(xiàn)參與行為的類的活動或動作。
二、組成元素
1. 開始和結(jié)束
在活動圖當(dāng)中,活動圖的開始由一個實心球表示,結(jié)束由一個半實心球表示。
2. 活動和動作流
活動指執(zhí)行特定動作,并在該動作完成之后向另一個狀態(tài)轉(zhuǎn)化,通常圓角方框表示。通常將表達(dá)的動作寫在方框內(nèi)。
動作流連接活動,通常用實線箭頭表示。
3. 分支判斷
分支判斷描述了一個觸發(fā)事件在不同的觸發(fā)條件下引起多個不同的轉(zhuǎn)移,通常用菱形表示。
以簡易登錄(僅輸入密碼)為例:
4. 對象和對象流
簡單來說,對象就是活動所輸出或者輸入的,一般是名詞,比如:在顧客在購買東西時會進(jìn)入商品購買工作流,其中賬單便是報價活動輸出的對象,同時也是付款活動輸入的對象,通常用矩形表示。
對象流連接對象和動作,通常用虛線箭頭表示。
5. 分叉和匯合
在UML中,可以使用分叉將路徑分成兩個或多個并發(fā)流,然后使用結(jié)合,同步這些并流。分叉和匯合通常都用同步條表示,同步條是一條粗的水平線。
以需求的可行性分析為例:
6. 泳道
有時候負(fù)責(zé)活動的不只一個業(yè)務(wù)組織,這個時候為了更清楚地表示各個組織所負(fù)責(zé)的活動部分,以及整體活動流程,我們需要泳道活動圖。在泳道活動圖中,每一個活動都只能明確的屬于一個泳道。
以考試活動為例:
三、練習(xí)
仍然以聽歌系統(tǒng)為例:
- 用戶登錄之后有搜索聽歌和推薦聽歌兩種方式,此時需要系統(tǒng)生成推薦列表。
- 在選擇歌曲之后,有播放、切換、收藏三種模式,其中收藏需要系統(tǒng)將其添加到“我的列表”中。
- 無論是搜索還是推薦都會輸出歌曲對象,而歌曲對象又是選擇歌曲的輸入對象。
四、相關(guān)鏈接
《產(chǎn)品經(jīng)理必學(xué)UML:類圖》
《產(chǎn)品經(jīng)理必學(xué)UML(二):用例圖》
本文由 @AugTalk 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
- 目前還沒評論,等你發(fā)揮!