UML用例概念介紹
本節(jié)向大家介紹一下UML建模實(shí)例,主要包括UML用例(useCase)概念分析和UML建模實(shí)例講解,希望通過本節(jié)的介紹大家對(duì)UML建模工具有新的認(rèn)識(shí)。
UML用例(useCase)概念分析及UML建模實(shí)例
在UML中usecase似乎最簡(jiǎn)單的,用例建模的最主要功能就是用來表達(dá)系統(tǒng)的功能性需求或行為,依我的理解用例建??煞譃橛美龍D和用例描述。用例圖由參與者(Actor)、用例(useCase)、系統(tǒng)邊界、箭頭組成,用畫圖的方法來完成。用例描述用來詳細(xì)描述用例圖中每個(gè)用例,用文本文檔來完成,以及由箭頭所組成的各種關(guān)系,包括泛化,包含,擴(kuò)展等。本文準(zhǔn)備向大家介紹以下內(nèi)容,所有圖示均用PowerDesigner所畫.
◆用況
◆參與者
◆泛化
◆<<use>>
◆<<include>>
◆<<extend>>
◆UML用例描述
1.用況(usecase)
圖1用況圖
是對(duì)一組動(dòng)作序列(其中包括它的變體)的描述,系統(tǒng)執(zhí)行該動(dòng)作為執(zhí)行此動(dòng)作的參與者產(chǎn)生一個(gè)可觀察的結(jié)果值。比如你使用計(jì)算器,這里可以把計(jì)算器看作為用況,參與者是登峰,登峰按了3+3(用況執(zhí)行的序列),計(jì)算機(jī)器返回一個(gè)結(jié)果6。
2.參與者(Actor)
UML用例中的參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。還有一點(diǎn)要注意的是,參與者不是指人或事物本身,而是表示人或事物當(dāng)時(shí)所扮演的角色。比如小明是圖書館的管理員,他參與圖書館管理系統(tǒng)的交互,這時(shí)他既可以作為管理員這個(gè)角色參與管理,也可以作為借書者向圖書館借書,在這里小明扮演了兩個(gè)角色,是兩個(gè)不同的參與者。參與者在畫圖中用簡(jiǎn)筆人物畫來表示,人物下面附上參與者的名稱。
3.泛化
泛化和類中的泛化概念是一樣的,子用況繼承父用況的行為和含義,還可以增加或覆蓋父用況的行為;子用況可以出現(xiàn)在任何父用況出現(xiàn)的位置(父和子均有具體的實(shí)例)。下面給出兩種圖示來說明泛化的概念和含義:
圖2 含義繼承 圖3 行為繼承 #p#
4.<<user>>
<<use>>:其關(guān)系非常象一個(gè)函數(shù)調(diào)用或一個(gè)子過程以這種方式使用的UML用例稱為抽象用例因?yàn)樗荒軉为?dú)存在而必須被其它用例使用,請(qǐng)看下圖:
圖4 使用<<use>>示例
5.<<include>>
怎么解釋這個(gè)定義呢? 還是說明一下它的功能吧,<<include>>可以把幾個(gè)用例的公共步驟分離出來成為一個(gè)單獨(dú)的被包含用例。學(xué)過C的朋友知道它的含義了吧。呵呵
好的,定義都已經(jīng)知道了,下面用一個(gè)示例來加深大家的印象。假如有個(gè)人事系統(tǒng),經(jīng)理可以查看員工的信息,并可以增加,修改和刪除,但每次執(zhí)行這三個(gè)操作時(shí),都要定位到相應(yīng)的員工,即先查詢定位到要操作的員工。圖5給出了這種表述的usecase圖,請(qǐng)理解<<include>>的含義:
圖5 <<include>>的用法
6.<<extend>>
<<extend>>為已存在用例添加新的行為提供了一種方法。基礎(chǔ)UML用例提供了一組擴(kuò)展點(diǎn)(extendpoints),擴(kuò)展點(diǎn)是鉤子,在此可以添加新的行為,擴(kuò)展用例提供了一組插入片段,這些片段可被插入到基礎(chǔ)用例的鉤子位置。需要注意的是基礎(chǔ)用例不知道擴(kuò)展用例的任何細(xì)節(jié),它僅為擴(kuò)展用例提供了鉤子。這與<<include>>不同,此時(shí)如果沒有被包含用例,客戶用例將不完整。圖6說明了主述文字描述:
圖6<<extend>>的用法
7.UML用例描述
當(dāng)然用例描述就是對(duì)用例的文字性說明。具體要描述哪些項(xiàng),這里就不多說了,給大家一個(gè)具體示例一看就明白。本節(jié)關(guān)于UML中的用例(useCase)概念分析及UML建模實(shí)例內(nèi)容介紹到這里。
【編輯推薦】