術(shù)語(yǔ)匯編 解析UML用例圖設(shè)計(jì)組成
本文和大家重點(diǎn)學(xué)習(xí)一下UML用例圖設(shè)計(jì)方面的內(nèi)容,UML用例圖設(shè)計(jì)從業(yè)務(wù)角度上體現(xiàn)誰(shuí)來(lái)使用系統(tǒng)、用戶希望系統(tǒng)提供什么樣的服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),也便于軟件開發(fā)人員最終實(shí)現(xiàn)這些功能。
UML用例圖設(shè)計(jì)
UML用例圖是軟件需求分析到最終實(shí)現(xiàn)的***步,它描述用戶如何使用系統(tǒng)及使用系統(tǒng)什么樣的功能。用例圖從業(yè)務(wù)角度上體現(xiàn)誰(shuí)來(lái)使用系統(tǒng)、用戶希望系統(tǒng)提供什么樣的服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),也便于軟件開發(fā)人員最終實(shí)現(xiàn)這些功能。用例圖在開發(fā)中被廣泛的應(yīng)用,但是它最常用來(lái)描述系統(tǒng)提供了什么樣的功能給什么樣的用戶使用。
在官方文檔中UML用例圖設(shè)計(jì)包含六個(gè)元素,分別是:執(zhí)行者(Actor)、用例(UseCase)、關(guān)聯(lián)關(guān)系(Association)、包含關(guān)系(Include)、擴(kuò)展關(guān)系(Extend)以及泛化關(guān)系(Generalization)。但是有些UML的繪圖工具多提供了一種直接關(guān)聯(lián)關(guān)系(DirectedAssociation)。
用例圖可一個(gè)包含注釋和約束,還可一個(gè)包含包,用于將模型中的元素組合成更大的模塊。有時(shí),可以將用例的實(shí)例引入到圖中。用例圖模型如下所示,執(zhí)行者用人形圖標(biāo)來(lái)標(biāo)識(shí),用例用橢圓來(lái)表示,連線表示它們之間的關(guān)系。
一、執(zhí)行者(Actor)
1、執(zhí)行者概念
是指用戶在系統(tǒng)中扮演的角色。如圖1-1是一個(gè)用戶管理的用例圖,圖中的用戶、管理員就是用例的執(zhí)行者。
圖1-1
2、從業(yè)務(wù)中找出執(zhí)行者
UML用例圖設(shè)計(jì)中獲取系統(tǒng)用例首先要找出系統(tǒng)的執(zhí)行者。我們可以通過(guò)用戶回答一些問(wèn)題的答案來(lái)識(shí)別執(zhí)行者??梢詤⒖家韵聠?wèn)題:
誰(shuí)使用系統(tǒng)的主要功能(主要使用者)?
誰(shuí)需要系統(tǒng)支持他們?nèi)粘9ぷ鳎?br />
誰(shuí)來(lái)維護(hù)、管理系統(tǒng)使其正常工作(輔助使用者)?
系統(tǒng)需要控制哪些硬件?
系統(tǒng)需要其他哪些系統(tǒng)交互?這里包含其他計(jì)算機(jī)系統(tǒng)或者應(yīng)用程序。
對(duì)系統(tǒng)產(chǎn)生結(jié)果感興趣的是哪些人和哪些事物?
3、執(zhí)行者之間關(guān)系
因?yàn)閳?zhí)行者是類,所以多個(gè)執(zhí)行者之間可以具有與類相同的關(guān)系。在UML用例圖設(shè)計(jì)中,使用了泛化關(guān)系來(lái)描述多個(gè)執(zhí)行者之間的公共行為。如果系統(tǒng)中存在幾個(gè)執(zhí)行者,它們既扮演自身的角色,同時(shí)也扮演更具一般化的角色,那么就用泛化關(guān)系來(lái)描述它們。這種情況往往發(fā)生在一般角色的行為在執(zhí)行者超類中描述的場(chǎng)合。特殊化的執(zhí)行者繼承了該超類的行為,然后在某些方面擴(kuò)展了此行為。執(zhí)行者之間的泛化關(guān)系用一個(gè)三角箭頭來(lái)表示,指向扮演一般角色的超類。這與UML中類之間的返還關(guān)系符號(hào)相同。圖1-2
圖1-2
二、用例(UseCase)
1、用例概念
用例就是外部可見(jiàn)的系統(tǒng)功能,對(duì)系統(tǒng)提供的服務(wù)進(jìn)行描述。
2、從業(yè)務(wù)中找出用例
找出系統(tǒng)的用例,我們從執(zhí)行者入手,對(duì)每個(gè)執(zhí)行者提出一些問(wèn)題,然后從執(zhí)行者對(duì)這些問(wèn)題的答案中獲取用例??梢詤⒖家韵聠?wèn)題:
執(zhí)行者要求系統(tǒng)提供哪些功能(執(zhí)行者需要做什么)?
執(zhí)行者需要讀、產(chǎn)生、修改、刪除或者存儲(chǔ)系統(tǒng)中的信息有哪些類型?
執(zhí)行者必須提醒系統(tǒng)事件有哪些?把這些事件表示成系統(tǒng)用例。#p#
二、UML用例圖設(shè)計(jì)中用例之間關(guān)系
1、關(guān)聯(lián)關(guān)系(Association)
關(guān)聯(lián)關(guān)系是連接執(zhí)行者和用例,表示該執(zhí)行者代表的外部系統(tǒng)實(shí)體與該用例描述的系統(tǒng)需求有關(guān)。
圖1-3
2、包含關(guān)系(Include)
包含關(guān)系是來(lái)自于用例的抽象,即從數(shù)個(gè)不同的UseCase中,分離出公共的部分,而成為可以復(fù)用的用例。
圖1-4
3、擴(kuò)展關(guān)系(Extend)
UML用例圖設(shè)計(jì)中擴(kuò)展關(guān)系表示某一個(gè)用例的對(duì)話流程中,可能會(huì)根據(jù)條件臨時(shí)插入另外一個(gè)用例,而前者稱為基礎(chǔ)用例后者稱為擴(kuò)展用例。
圖1-5
4、泛化關(guān)系(Generalization)
一個(gè)用例可以被特別列舉為一個(gè)或多個(gè)用例,這被稱為用例泛化,如果系統(tǒng)中一個(gè)或多個(gè)用例是某個(gè)一般用例的特殊化時(shí),就需要使用用例的泛化關(guān)系。
圖1-6
【編輯推薦】