解析UML用例建模的慨念和應(yīng)用
本節(jié)和大家一起學(xué)習(xí)一下UML用例建模的慨念和應(yīng)用方面的知識(shí),主要包括用例建模簡介,用例圖和用例描述設(shè)計(jì)實(shí)例等內(nèi)容,相信通過本節(jié)的學(xué)習(xí)你對(duì)UML用例建模一定會(huì)有全面的認(rèn)識(shí)。
UML用例建模的慨念和應(yīng)用
一、UML簡介
UML(統(tǒng)一建模語言,UnifiedModelingLanguage)是一種定義良好、易于表達(dá)、功能強(qiáng)大且普遍適用的可視化建模語言。它融入了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。它的作用域不限于支持面向?qū)ο蟮姆治雠c設(shè)計(jì),還支持從需求分析開始的軟件開發(fā)的全過程。在系統(tǒng)分析階段,我們一般用UML來畫很多圖,主要包括用例圖、狀態(tài)圖、類圖、活動(dòng)圖、序列圖、協(xié)作圖、構(gòu)建圖、配置圖等等,要畫哪些圖要根據(jù)具體情況而定。其實(shí)簡單的理解,也是個(gè)人的理解,UML的作用就是用很多圖從靜態(tài)和動(dòng)態(tài)方面來全面描述我們將要開發(fā)的系統(tǒng)。
二.UML用例建模簡介
用例建模是UML建模的一部分,在我眼里,它也是UML里最基礎(chǔ)的部分。用例建模的最主要功能就是用來表達(dá)系統(tǒng)的功能性需求或行為。
依我的理解用例建??煞譃橛美龍D和用例描述。用例圖由參與者(Actor)、用例(UseCase)、系統(tǒng)邊界、箭頭組成,用畫圖的方法來完成。用例描述用來詳細(xì)描述用例圖中每個(gè)用例,用文本文檔來完成。
1.用例圖
UML用例建模中用例圖參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。還有一點(diǎn)要注意的是,參與者不是指人或事物本身,而是表示人或事物當(dāng)時(shí)所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統(tǒng)的交互,這時(shí)他既可以作為管理員這個(gè)角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個(gè)角色,是兩個(gè)不同的參與者。參與者在畫圖中用簡筆人物畫來表示,人物下面附上參與者的名稱。
用例是對(duì)包括變量在內(nèi)的一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作,并產(chǎn)生傳遞特定參與者的價(jià)值的可觀察結(jié)果。這是UML對(duì)用例的正式定義,對(duì)我們初學(xué)者可能有點(diǎn)難懂。我們可以這樣去理解,用例是參與者想要系統(tǒng)做的事情。對(duì)于對(duì)用例的命名,我們可以給用例取一個(gè)簡單、描述性的名稱,一般為帶有動(dòng)作性的詞。用例在畫圖中用橢圓來表示,橢圓下面附上用例的名稱。
系統(tǒng)邊界是用來表示正在建模系統(tǒng)的邊界。邊界內(nèi)表示系統(tǒng)的組成部分,邊界外表示系統(tǒng)外部。系統(tǒng)邊界在畫圖中方框來表示,同時(shí)附上系統(tǒng)的名稱,參與者畫在邊界的外面,用例畫在邊界里面。因?yàn)橄到y(tǒng)邊界的作用有時(shí)候不是很明顯,所以我個(gè)人理解,在畫圖時(shí)可省略。
箭頭用來表示參與者和系統(tǒng)通過相互發(fā)送信號(hào)或消息進(jìn)行交互的關(guān)聯(lián)關(guān)系。箭頭尾部用來表示啟動(dòng)交互的一方,箭頭頭部用來表示被啟動(dòng)的一方,其中用例總是要由參與者來啟動(dòng)。
2.用例描述
UML用例建模中用例圖只是簡單地用圖描述了一下系統(tǒng),但對(duì)于每個(gè)用例,我們還需要有詳細(xì)的說明,這樣就可以讓別人對(duì)這個(gè)系統(tǒng)有一個(gè)更加詳細(xì)的了解,這時(shí)我們就需要寫用例描述。
對(duì)于用例描述的內(nèi)容,一般沒有硬性規(guī)定的格式,但一些必須或者重要的內(nèi)容還是必須要寫進(jìn)用例描述里面的。用例描述一般包括:簡要描述(說明)、前置(前提)條件、基本事件流、其他事件流、異常事件流、后置(事后)條件等等。下面說說各個(gè)部分的意思:
簡要描述:對(duì)用例的角色、目的的簡要描述;
前置條件:執(zhí)行用例之前系統(tǒng)必須要處于的狀態(tài),或者要滿足的條件;
基本事件流:描述該用例的基本流程,指每個(gè)流程都“正常”運(yùn)作時(shí)所發(fā)生的事情,沒有任何備選流和異常流,而只有最有可能發(fā)生的事件流;
其他事件流:表示這個(gè)行為或流程是可選的或備選的,并不是總要總要執(zhí)行它們;
異常事件流:表示發(fā)生了某些非正常的事情所要執(zhí)行的流程;
后置條件:用例一旦執(zhí)行后系統(tǒng)所處的狀態(tài);
三.用例圖和用例描述設(shè)計(jì)實(shí)例
UML用例建模這里用我開發(fā)的一個(gè)家教網(wǎng)站來簡單的分析用例圖的畫法和用例描述的寫法。這個(gè)網(wǎng)站我用UML完整的分析一下,以下我提取了用例圖和用例描述的部分。這個(gè)家教網(wǎng)站分為前臺(tái)客戶系統(tǒng)和后臺(tái)管理系統(tǒng)。
前臺(tái)客戶系統(tǒng)的用例圖如下:
后臺(tái)管理系統(tǒng)用例圖如下:
對(duì)于用例描述,篇幅有限,我在這里只列了后臺(tái)管理系統(tǒng)中的網(wǎng)站公告發(fā)布這個(gè)用例的描述。如下:
用例名稱:網(wǎng)站公告發(fā)布用例標(biāo)識(shí)號(hào):202參與者:負(fù)責(zé)人簡要說明:
負(fù)責(zé)人用來填寫和修改家教網(wǎng)站首頁的公告,公告最終顯示在家教網(wǎng)站的首頁上。前置條件:
負(fù)責(zé)人已經(jīng)登陸家教網(wǎng)站管理系統(tǒng)基本事件流:
1.負(fù)責(zé)人鼠標(biāo)點(diǎn)擊“修改公告”按鈕
2.系統(tǒng)出現(xiàn)一個(gè)文本框,顯示著原來的公告內(nèi)容
3.負(fù)責(zé)人可以在文本框上修改公告,也可以完全刪除,重新寫新的公告
4.負(fù)責(zé)人編輯完文本框,按“提交”按鈕,首頁公告就被修改
5.用例終止其他事件流A1:
在按“提交”按鈕之前,負(fù)責(zé)人隨時(shí)可以按“返回”按鈕,文本框的任何修改內(nèi)容都不會(huì)影響網(wǎng)站首頁的公告異常事件流:
1.提示錯(cuò)誤信息,負(fù)責(zé)人確認(rèn)
2.返回到管理系統(tǒng)主頁面后置條件:
網(wǎng)站首頁的公告信息被修改注釋:無
四.總結(jié)
其實(shí)UML用例建模并不是這么簡單,它涉及到的知識(shí)還有很多,我這里只是簡單的介紹一下,希望對(duì)初學(xué)UML建模的同學(xué)有所幫助。
【編輯推薦】
- UML用例建模的慨念和應(yīng)用
- UML動(dòng)態(tài)建模機(jī)制專家解析
- 解析UML面向?qū)ο蠓治雠c建模中交互圖
- UML建模過程中需要注意要點(diǎn)專家提醒
- 體驗(yàn)免費(fèi)UML建模工具