UML用例圖用法實(shí)例剖析
本節(jié)向大家介紹一下UML方面的知識(shí),主要包括UML的一些背景知識(shí)和UML用例圖兩部分,相信通過(guò)本節(jié)的介紹,你對(duì)UML一定會(huì)有新的認(rèn)識(shí),下面讓我們一起來(lái)學(xué)習(xí)UML吧。
UML基礎(chǔ): 統(tǒng)一建模語(yǔ)言簡(jiǎn)介
UML一些背景知識(shí)
正如前面曾提到過(guò)的,UML的本意是要成為一種標(biāo)準(zhǔn)的統(tǒng)一語(yǔ)言,使得IT專(zhuān)業(yè)人員能夠進(jìn)行計(jì)算機(jī)應(yīng)用程序的建模。UML的主要?jiǎng)?chuàng)始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他們最初都有自己的建模方法(OMT、OOSE和Booch),彼此之間存在著競(jìng)爭(zhēng)。最終,他們聯(lián)合起來(lái)創(chuàng)造了一種開(kāi)放的標(biāo)準(zhǔn)。(聽(tīng)起來(lái)是不是很熟悉?這個(gè)現(xiàn)象類(lèi)似J2EE、SOAP和Linux的誕生。)UML成為"標(biāo)準(zhǔn)"建模語(yǔ)言的原因之一在于,它與程序設(shè)計(jì)語(yǔ)言無(wú)關(guān)。(IBM Rational的UML建模工具被廣泛應(yīng)用于J2EE和.NET開(kāi)發(fā)。)而且,UML符號(hào)集只是一種語(yǔ)言而不是一種方法學(xué)。這點(diǎn)很重要,因?yàn)檎Z(yǔ)言與方法學(xué)不同,它可以在不做任何更改的情況下很容易地適應(yīng)任何公司的業(yè)務(wù)運(yùn)作方式。
既然UML不是一種方法學(xué),它就不需要任何正式的工作產(chǎn)品(即IBM Rational Unified Process?術(shù)語(yǔ)中所定義的"工件")。而且它還提供了多種類(lèi)型的模型描述圖(diagram),當(dāng)在某種給定的方法學(xué)中使用這些圖時(shí),它使得開(kāi)發(fā)中的應(yīng)用程序的更易理解。UML的內(nèi)涵遠(yuǎn)不只是這些模型描述圖,但是對(duì)于入門(mén)來(lái)說(shuō),這些圖對(duì)這門(mén)語(yǔ)言及其用法背后的基本原理提供了很好的介紹。通過(guò)把標(biāo)準(zhǔn)的UML圖放進(jìn)您的工作產(chǎn)品中,精通UML的人員就更加容易加入您的項(xiàng)目并迅速進(jìn)入角色。最常用的UML圖包括:UML用例圖、類(lèi)圖、序列圖、狀態(tài)圖、活動(dòng)圖、組件圖和部署圖。
深入討論每類(lèi)圖的細(xì)節(jié)問(wèn)題已超出了這篇入門(mén)文章的范圍。因此,下面僅給出了每類(lèi)圖的簡(jiǎn)要說(shuō)明,更詳細(xì)的信息將在以后的文章中探討。
UML用例圖
用例圖描述了系統(tǒng)提供的一個(gè)功能單元。用例圖的主要目的是幫助開(kāi)發(fā)團(tuán)隊(duì)以一種可視化的方式理解系統(tǒng)的功能需求,包括基于基本流程的"角色"(actors,也就是與系統(tǒng)交互的其他實(shí)體)關(guān)系,以及系統(tǒng)內(nèi)用例之間的關(guān)系。用例圖一般表示出用例的組織關(guān)系--要么是整個(gè)系統(tǒng)的全部用例,要么是完成具有功能(例如,所有安全管理相關(guān)的用例)的一組用例。要在用例圖上顯示某個(gè)用例,可繪制一個(gè)橢圓,然后將用例的名稱(chēng)放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個(gè)角色(表示一個(gè)系統(tǒng)用戶(hù)),可繪制一個(gè)人形符號(hào)。角色和用例之間的關(guān)系使用簡(jiǎn)單的線段來(lái)描述,如圖1所示。
圖1:示例UML用例圖
圖字(從上到下):CD銷(xiāo)售系統(tǒng);查看樂(lè)隊(duì)CD的銷(xiāo)售統(tǒng)計(jì);樂(lè)隊(duì)經(jīng)理;查看Billboard 200排行榜報(bào)告;唱片經(jīng)理;查看特定CD的銷(xiāo)售統(tǒng)計(jì);檢索最新的Billboard 200排行榜報(bào)告;排行榜報(bào)告服務(wù)
用例圖通常用于表達(dá)系統(tǒng)或者系統(tǒng)范疇的高級(jí)功能。如圖1所示,可以很容易看出該系統(tǒng)所提供的功能。這個(gè)系統(tǒng)允許樂(lè)隊(duì)經(jīng)理查看樂(lè)隊(duì)CD的銷(xiāo)售統(tǒng)計(jì)報(bào)告以及Billboard 200排行榜報(bào)告。它也允許唱片經(jīng)理查看特定CD的銷(xiāo)售統(tǒng)計(jì)報(bào)告和這些CD在Billboard 200排行榜的報(bào)告。這個(gè)圖還告訴我們,系統(tǒng)將通過(guò)一個(gè)名為"排行榜報(bào)告服務(wù)"的外部系統(tǒng)提供Billboard排行榜報(bào)告。
此外,在UML用例圖中,沒(méi)有列出的用例表明了該系統(tǒng)不能完成的功能。例如,它不能提供給樂(lè)隊(duì)經(jīng)理收聽(tīng)Billboard 200上不同專(zhuān)輯中的歌曲的途徑 -- 也就是說(shuō),系統(tǒng)沒(méi)有引用一個(gè)叫做"收聽(tīng)Billboard 200上的歌曲"的用例。這種缺少不是一件小事。在用例圖中提供清楚的、簡(jiǎn)要的用例描述,項(xiàng)目贊助商就很容易看出系統(tǒng)是否提供了必須的功能。本節(jié)關(guān)于UML用例圖相關(guān)內(nèi)容介紹完畢。
【編輯推薦】
- 教你繪制整潔的UML圖
- SVG與UML圖詳解
- 直擊:中國(guó)系統(tǒng)與軟件過(guò)程改進(jìn)年會(huì)——UML專(zhuān)場(chǎng)
- 統(tǒng)一建模語(yǔ)言(UML) 版本 2.0
- UML面向?qū)ο蠼VR(shí)簡(jiǎn)介