UML(Unified Modeling Language)檬姥,統(tǒng)一建模語言,又稱標(biāo)準(zhǔn)建模語言曾我,是為軟件系統(tǒng)建立可視化模型。主要包括用例圖穿铆、時(shí)序圖您单、協(xié)作圖、活動(dòng)圖荞雏、部署圖虐秦、構(gòu)件圖、類圖凤优、狀態(tài)圖等等悦陋。
之前有寫過UML時(shí)序圖:產(chǎn)品經(jīng)理必備之UML時(shí)序圖
一、用例圖定義
用例圖(Use Case Diagrame)是UML的一種筑辨,主要用來描述用戶俺驶、需求、系統(tǒng)功能之間的關(guān)系棍辕,能夠充分展示一個(gè)外部用戶能夠觀察的系統(tǒng)功能模型圖暮现,以一種可視化的直觀方式理解系統(tǒng)的功能需求,以便使系統(tǒng)用戶更容易理解這些元素的用途楚昭,也便于開發(fā)人員最終實(shí)現(xiàn)這些元素栖袋。
二、用例圖繪制目的
用例圖是跳出當(dāng)前系統(tǒng)抚太,站在用戶的角度去看系統(tǒng)塘幅,思考系統(tǒng)功能,這樣我們能更加理解業(yè)務(wù)尿贫,表達(dá)清楚需求电媳。從用戶的視角,我們不會(huì)使用專業(yè)術(shù)語去進(jìn)行業(yè)務(wù)的溝通庆亡,可以做到真正以用戶為中心去獲取需求匾乓,轉(zhuǎn)化為產(chǎn)品服務(wù)。
用例圖可以幫助我們更全面的考慮系統(tǒng)內(nèi)事物之間的互相影響又谋,關(guān)注整體的運(yùn)行規(guī)律钝尸,而不是只考慮個(gè)別事物的情況。
三搂根、用例圖的組成元素
1珍促、參與者:是系統(tǒng)外部的一個(gè)實(shí)體,它以某種方式參與了用例的執(zhí)行過程剩愧。參與者不一定是人猪叙,也可以是部門,也可以是外部系統(tǒng),也可以是其他事物穴翩。通常用人形圖標(biāo)表示犬第。
2、用例:是對(duì)系統(tǒng)的用戶需求(主要是功能需求)的描述芒帕,用例表達(dá)了系統(tǒng)的功能和所提供的服務(wù)歉嗓,說明了系統(tǒng)是如何與最終用戶或其它系統(tǒng)互動(dòng),也就是誰可以用系統(tǒng)做什么背蟆,從而獲得一個(gè)明確的業(yè)務(wù)目標(biāo)鉴分。通常用橢圓表示。
用例注意事項(xiàng):
? ??用例粒度的確定带膀,沒有標(biāo)準(zhǔn)志珍,只能根據(jù)實(shí)際情況分析。一個(gè)大型系統(tǒng)垛叨,可能會(huì)有上百個(gè)用例伦糯,一個(gè)小產(chǎn)品,也許只有幾個(gè)用例嗽元。
? ??一個(gè)用例是一個(gè)完整的使用場(chǎng)景敛纲,不是零散的動(dòng)作步驟。比如剂癌,拿起手機(jī)打電話是個(gè)完整的場(chǎng)景淤翔,拿起手機(jī)只是一個(gè)步驟。
? ??一個(gè)用例有一個(gè)明確珍手、獨(dú)立的目標(biāo),如果一個(gè)用例包括多個(gè)目標(biāo)辞做,則可再逐層細(xì)化出子用例琳要。
3、系統(tǒng)邊界:將系統(tǒng)內(nèi)外分開秤茅,參與者在外面稚补,用例在里面。邊界內(nèi)的用例框喳,就是系統(tǒng)要實(shí)現(xiàn)的事情课幕。通常用矩形框表示。
4五垮、關(guān)系:
(1)關(guān)聯(lián)關(guān)系:用一條實(shí)線表示乍惊,這條實(shí)線一般有三種形式:無箭頭、有指向用例的箭頭放仗、有指向執(zhí)行者的箭頭润绎。箭頭的方向代表了數(shù)據(jù)流向或誰啟動(dòng)誰。
(2)歸納(泛化)關(guān)系:表示參與者與參與者之間、用例與用例之間的關(guān)系莉撇。一個(gè)用例可以被特別列舉為一個(gè)或多個(gè)子用例呢蛤,這被稱為用例泛化。
? ? ? ? 用帶空心箭頭的實(shí)線表示棍郎,箭頭指向被泛化的用例其障,即子用例指向父用例,泛化是從下到上的過程涂佃。(子用例繼承父用例所有的結(jié)構(gòu)励翼、行為和關(guān)系,是父用例的一種特殊形式巡李。)
(3)包含關(guān)系:表示用例與用例之間的關(guān)系抚笔,其中一個(gè)用例(父用例)的行為包含了另一個(gè)用例(子用例)的行為。
? ? ?用虛線箭頭+<>表示侨拦,箭頭指向被包含的用例殊橙。一般是父用例包含很大的范圍,專門抽出子用例來著重表達(dá)狱从,又或者是復(fù)用用例膨蛮。
(4)擴(kuò)展關(guān)系:表示用例與用例之間的關(guān)系,是在特定條件下季研,由擴(kuò)展用例指向被擴(kuò)展用例敞葛。
? ? ? 用虛線箭頭+<<extend>>字樣,箭頭指向被擴(kuò)展的用例与涡。拓展用例是在特定條件出現(xiàn)時(shí)惹谐,才會(huì)被執(zhí)行的用例。
四驼卖、注意
1氨肌、不是每個(gè)需求都要畫用例圖,要視情況而定酌畜,簡(jiǎn)單的需求完全可以不用畫怎囚。
2、畫圖是為了表達(dá)桥胞、傳遞信息恳守,當(dāng)我們畫用例圖時(shí),不管畫的多么酷炫贩虾,本質(zhì)都是在分析業(yè)務(wù)場(chǎng)景催烘、系統(tǒng)功能性需求,并描述出來缎罢。
對(duì)產(chǎn)品經(jīng)理感興趣的朋友颗圣,可以移步“需求管理”喳钟,期待共同交流。