UML用例和用例圖_第1頁(yè)
UML用例和用例圖_第2頁(yè)
UML用例和用例圖_第3頁(yè)
UML用例和用例圖_第4頁(yè)
UML用例和用例圖_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、用例與用例圖,面向?qū)ο蟮腢ML設(shè)計(jì)基礎(chǔ),翟亞紅 計(jì)算機(jī)工程系,主要內(nèi)容,基本概念:Use case、Actor、Scenario Use case間的關(guān)系 Use Case 分析技術(shù) 案例講解,Use Case 定義,定義1:用例是對(duì)一個(gè)活動(dòng)者(actor)使用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交互過(guò)程的一個(gè)文字描述序列。 定義2:用例是系統(tǒng)、子系統(tǒng)或類和外部的參與者(actor)交互的動(dòng)作序列的說(shuō)明,包括可選的動(dòng)作序列和會(huì)出現(xiàn)異常的動(dòng)作序列。,Use Case 特點(diǎn),用例是代表系統(tǒng)中各個(gè)項(xiàng)目相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約。它有如下一些特點(diǎn): 用例描述了用戶提出的一些可見的需求,對(duì)應(yīng)一個(gè)具體的用戶

2、目標(biāo); 用例從使用系統(tǒng)的角度描述系統(tǒng)中的信息,即站在系統(tǒng)外部察看系統(tǒng)功能,而不考慮系統(tǒng)內(nèi)部對(duì)該功能的具體實(shí)現(xiàn)形式; 用例是對(duì)系統(tǒng)行為的動(dòng)態(tài)描述,屬于UML的動(dòng)態(tài)建模部分; 用例并不是系統(tǒng)的全部需求, 用例描述的只是功能性方面的需求。,定義:參與者是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的東西,包括人、設(shè)備、外部系統(tǒng)等。通過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互。 參與者未必是人,可以是設(shè)備、外部系統(tǒng)等。 一個(gè)參與者可以執(zhí)行多個(gè)用例,一個(gè)用例也可以由多個(gè)參與者使用。 參與者并不是系統(tǒng)的一部分, 盡管在模型中會(huì)使用參與者。,參與者(Actor),參與者的三種表現(xiàn)形式,參與者識(shí)別思路,誰(shuí)使用該系統(tǒng) 誰(shuí)改變系統(tǒng)

3、的數(shù)據(jù) 誰(shuí)從系統(tǒng)獲取信息 誰(shuí)需要系統(tǒng)的支持以完成日常工作任務(wù) 誰(shuí)負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行 誰(shuí)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果感興趣 系統(tǒng)需要應(yīng)付那些硬件設(shè)備 系統(tǒng)需要和那些外部系統(tǒng)交互,案例:庫(kù)存管理系統(tǒng),某汽車制造廠需要一套庫(kù)存管理系統(tǒng),該系統(tǒng)實(shí)現(xiàn)的業(yè)務(wù): 生產(chǎn)工人根據(jù)生產(chǎn)計(jì)劃領(lǐng)取物料,庫(kù)存操作員根據(jù)生產(chǎn)系統(tǒng)的派單,將物料交付給領(lǐng)料工人,余料即時(shí)歸還庫(kù)房。庫(kù)房管理人員定期盤點(diǎn)庫(kù)存,通知供應(yīng)商供貨,對(duì)長(zhǎng)期積存的貨物,申請(qǐng)退貨。,識(shí)別思路:,誰(shuí)使用該系統(tǒng) 誰(shuí)改變系統(tǒng)的數(shù)據(jù) 誰(shuí)從系統(tǒng)獲取信息 誰(shuí)需要系統(tǒng)的支持以完成日常工作任務(wù) 誰(shuí)負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行 系統(tǒng)需要應(yīng)付哪些硬件設(shè)備 系統(tǒng)需要和哪

4、些外部系統(tǒng)交互 誰(shuí)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果感興趣,操作員,管理員,領(lǐng)料員,退料員,操作員,管理員,供應(yīng)商,管理員,生產(chǎn)系統(tǒng), 供應(yīng)商系統(tǒng),操作員,管理員,領(lǐng)料員,退料員,操作員,管理員,操作員,管理員,庫(kù)存管理系統(tǒng)的參與者,2、用例(Use Case),用例描述了系統(tǒng)的功能需求,是系統(tǒng)的一組動(dòng)作序列的描述。 用例的本質(zhì)是用戶與計(jì)算機(jī)之間的一次交互作用。,識(shí)別用例,執(zhí)行者使用這個(gè)系統(tǒng)達(dá)到什么目標(biāo)?,語(yǔ)法測(cè)試:【執(zhí)行者】使用系統(tǒng)來(lái)【用例】,識(shí)別用例,有意義的目標(biāo),識(shí)別用例,業(yè)務(wù)語(yǔ)言而非技術(shù)語(yǔ)言,識(shí)別用例,用戶觀點(diǎn)而非系統(tǒng)觀點(diǎn),用戶觀點(diǎn),系統(tǒng)觀點(diǎn),識(shí)別用例,用例命名:,通常采用動(dòng)賓語(yǔ)結(jié)構(gòu)或主謂結(jié)構(gòu)命名,

5、腳本(scenario),在UML中,腳本指貫穿用例的一條單一路徑,用來(lái)顯示用例中的某種特殊情況。 腳本是用例的實(shí)例,腳本與用例的關(guān)系相當(dāng)于對(duì)象和類的關(guān)系。 每個(gè)用例都有一系列的腳本,包括一個(gè)主要腳本和多個(gè)次要腳本。次要腳本描述了執(zhí)行路徑中的異?;蚩蛇x擇的情況。,腳本(scenario),例:在“訂貨”這個(gè)用例中,包含著幾個(gè)相關(guān)的腳本。一個(gè)是訂貨進(jìn)行順利的腳本;一個(gè)是相關(guān)貨源不足的腳本;一個(gè)是涉及購(gòu)貨者的信用卡被拒的腳本等。這些腳本的組合構(gòu)成了一個(gè)用例。,主要內(nèi)容,基本概念:Use case、Actor、Scenario Use case間的關(guān)系 Use Case 分析技術(shù) 案例講解,關(guān)系,參

6、與者與用例之間 關(guān)聯(lián)關(guān)系 用例與用例之間 包含關(guān)系 (include) 擴(kuò)展關(guān)系 (extend) 泛化關(guān)系 (generalization) 參與者與參與者之間 泛化關(guān)系 (generalization),關(guān)系參與者與用例之間,關(guān)聯(lián)關(guān)系 描述參與者與使用用例之間的關(guān)系。在UML中,關(guān)系用實(shí)線表示,實(shí)線可以有箭頭,也可以沒有箭頭。 例:參與者與用例 通過(guò)關(guān)聯(lián)相連。,1)包含關(guān)系(include) 包含關(guān)系指兩個(gè)用例之間的關(guān)系,其中一個(gè)用例(即基本用例)的行為包含了另一個(gè)用例(即包含用例)的行為。 包含關(guān)系中箭頭的方向是從基本用例到包含用例。,用例間的關(guān)系包含關(guān)系,用例間的關(guān)系包含關(guān)系,本例中,

7、用例“Check Credit” 檢查輸入的信用卡號(hào) 是否有效以及信用卡是否有足夠的資金。,2)擴(kuò)展關(guān)系(extend) 擴(kuò)展關(guān)系允許一個(gè)用例(可選)擴(kuò)展另一個(gè)用例的功能。 擴(kuò)展只能發(fā)生在基本用例的序列中某個(gè)特定的點(diǎn)上,這個(gè)點(diǎn)叫擴(kuò)展點(diǎn)。 擴(kuò)展關(guān)系中基本用例本身是完整的。 在擴(kuò)展關(guān)系中,箭頭的方向是從擴(kuò)展用例到基本用例。,用例間的關(guān)系擴(kuò)展關(guān)系,用例間的關(guān)系擴(kuò)展關(guān)系,3)泛化關(guān)系 泛化關(guān)系其實(shí)是子類與父類的關(guān)系。和類之間的泛化關(guān)系一樣,用例和參與者也可以繼承另一個(gè)用例和參與者。 泛化的示例:銀行存款有兩種方式,一種是銀行柜臺(tái)存款,一種是ATM機(jī)存款。,用例間的關(guān)系泛化關(guān)系,關(guān)系參與者與參與者之間,

8、泛化關(guān)系,用例的粒度,用例的粒度指用例所包含的系統(tǒng)服務(wù)或功能單元的多少。用例的粒度越大,用例包含的功能越多,反義包含的功能越少。 例:學(xué)生管理系統(tǒng)中維護(hù)學(xué)生信息用例圖如下:,主要內(nèi)容,基本概念:Use case、Actor、Scenario Use case間的關(guān)系 Use Case 分析技術(shù) 案例講解,用例的描述,沒有描述的Use Case就像是一本書的目錄 從用例的定義也可以看出,用例是一個(gè)“文字描述序列”,是“動(dòng)作序列的說(shuō)明”。 用例的描述是用例的主要部分,是后續(xù)的交互圖分析和類圖分析必不可少的部分。,用例的描述,一般說(shuō)來(lái),用例采用自然語(yǔ)言描述參與者與系統(tǒng)進(jìn)行交互時(shí)雙方的行為,不追求形式

9、化的語(yǔ)言表達(dá)(面向不同人員)。,用例描述的內(nèi)容,用例的目標(biāo) 用例是怎么啟動(dòng)的 參與者和用例之間的消息是如何傳送的 用例中除了主路徑外,其他路徑是什么 用例結(jié)束后的系統(tǒng)狀態(tài) 其他需要描述的內(nèi)容,用例描述原則:盡可能寫的“充分”,而不是追求寫的形式化、完整或漂亮。,書寫用例文檔,路徑交互步驟的描述,只書寫“可觀測(cè)”的 使用主動(dòng)語(yǔ)句 句子必須以執(zhí)行者或系統(tǒng)作為主語(yǔ) 每一句都要朝目標(biāo)邁進(jìn) 分支和循環(huán) 不要涉及界面細(xì)節(jié),書寫用例文檔,路徑交互步驟的描述(1),系統(tǒng)通過(guò)ADO建立數(shù)據(jù)庫(kù)連接,傳送SQL查詢語(yǔ)句,從“零件”表查詢,系統(tǒng)按照查詢條件搜索零件,只書寫“可觀測(cè)”的,書寫用例文檔,路徑交互步驟的描述

10、(2),系統(tǒng)從會(huì)員處獲取用戶名和密碼,會(huì)員提交用戶名和密碼,使用主動(dòng)語(yǔ)句,用戶名和密碼被驗(yàn)證,系統(tǒng)驗(yàn)證用戶名和密碼,書寫用例文檔,路徑交互步驟的描述(3),執(zhí)行者 系統(tǒng) 系統(tǒng) 執(zhí)行者,句子必須以執(zhí)行者或系統(tǒng)作為主語(yǔ),書寫用例文檔,路徑交互步驟的描述(4),執(zhí)行者填寫姓名 執(zhí)行者填寫電話 執(zhí)行者填寫聯(lián)系地址 執(zhí)行者提交 ,每一句話都要朝目標(biāo)邁進(jìn),書寫用例文檔,路徑交互步驟的描述(5),分支:放到擴(kuò)展路徑 循環(huán):直接描述,分支和循環(huán),書寫用例文檔,路徑交互步驟的描述(6),會(huì)員從下拉框中選擇類別 會(huì)員在相應(yīng)文本框中輸入查詢條件 會(huì)員點(diǎn)擊“確定”按鈕 ,不要涉及到界面細(xì)節(jié),常見錯(cuò)誤,只描述系統(tǒng)的行為

11、,沒有描述參與者的行為 只描述參與者的行為,沒有描述系統(tǒng)的行為 在用例描述中就設(shè)定對(duì)用戶界面設(shè)計(jì)的詳細(xì)要求 描述過(guò)于冗長(zhǎng),Use Case:取款 Actor:儲(chǔ)戶 主事件流: 1、儲(chǔ)戶插入ATM卡,并鍵入密碼; 2、儲(chǔ)戶按“取款”按鈕,并鍵入取款數(shù)目; 3、儲(chǔ)戶取走現(xiàn)金、ATM卡并拿走收據(jù); 4、儲(chǔ)戶離開。,問(wèn)題:只描述了參與者的動(dòng)作序列,而沒有描述系統(tǒng)的行為,ATM取款案例,ATM取款案例,Use Case:取款 Actor:儲(chǔ)戶 主事件流: 1、ATM系統(tǒng)獲得ATM卡和密碼; 2、設(shè)置事物類型為取款; 3、ATM系統(tǒng)獲取要提取的現(xiàn)金數(shù)目; 4、驗(yàn)證帳戶上是否有足夠儲(chǔ)蓄金額; 5、輸出現(xiàn)金、

12、數(shù)據(jù)和ATM卡; 6、系統(tǒng)復(fù)位。,問(wèn)題:只描述了ATM系統(tǒng)的行為,而沒有描述參與者的行為,ATM取款(修改后的描述),Use Case:取款 Actor:儲(chǔ)戶 主事件流: 1、通過(guò)讀卡機(jī),儲(chǔ)戶插入ATM卡; 2、ATM系統(tǒng)從卡上讀取銀行ID、帳號(hào)、加密密碼、并用主銀行系統(tǒng)驗(yàn)證銀行ID和帳號(hào); 3、儲(chǔ)戶按“取款”按鈕,ATM系統(tǒng)根據(jù)上面讀出的卡上加密密碼,對(duì)密碼進(jìn)行驗(yàn)證; 4、儲(chǔ)戶按“快速取款”按鈕,并鍵入取款數(shù)量,取款數(shù)量應(yīng)該是100的倍數(shù); 5、ATM系統(tǒng)通知主銀行系統(tǒng),傳遞儲(chǔ)戶帳號(hào)和取款數(shù)量,并接收返回的確認(rèn)信息和儲(chǔ)戶帳戶余額; 6、ATM系統(tǒng)輸出現(xiàn)金、ATM卡和顯示帳戶余額的收據(jù); 7、

13、ATM系統(tǒng)記錄事務(wù)到日志文件;,用例描述分析,Use Case: Buy Something 參與者:Customer 主事件流: 1、系統(tǒng)顯示ID和密碼窗口; 2、顧客鍵入ID和密碼,然后按OK鍵; 3、系統(tǒng)驗(yàn)證顧客ID和密碼,并顯示個(gè)人信息窗口; 4、顧客鍵入姓名、街道地址、城市、郵政編碼、電話號(hào)碼,然后按OK鍵; 5、系統(tǒng)驗(yàn)證用戶是否為老顧客; 6、系統(tǒng)顯示可以賣的商品列表; 7、顧客在準(zhǔn)備購(gòu)買的商品圖片上單擊,并在圖片旁邊輸入要購(gòu)買的數(shù)量。選購(gòu)商品完畢后按Done按鈕; 8、系統(tǒng)通過(guò)庫(kù)存系統(tǒng)驗(yàn)證要購(gòu)買的商品是否有足夠庫(kù)存; .(后續(xù)描述省略),問(wèn)題:對(duì)用戶界面的描述過(guò)于詳細(xì),對(duì)于需求文

14、檔來(lái)說(shuō), 詳細(xì)的用戶描述對(duì)獲取需求并無(wú)幫助。,改進(jìn)后的描述,Use Case:Buy Something 參與者:Customer 主事件流: 1、顧客使用ID和密碼進(jìn)入系統(tǒng); 2、系統(tǒng)驗(yàn)證顧客身份; 3、顧客提供姓名、地址、電話號(hào)碼; 4、系統(tǒng)驗(yàn)證顧客是否為老顧客; 5、顧客選擇要購(gòu)買的商品和數(shù)量; 6、系統(tǒng)通過(guò)庫(kù)存系統(tǒng)驗(yàn)證要購(gòu)買的商品是否有足夠庫(kù)存 .(后續(xù)描述省略),主要內(nèi)容,基本概念:Use case、Actor、Scenario Use case間的關(guān)系 Use Case 分析技術(shù) 案例講解,案例1:ATM系統(tǒng),建立一個(gè)具有基本功能的ATM機(jī)軟件,客戶可以存錢,取錢,客戶可以查詢帳戶

15、余額,客戶可以修改密碼,客戶可以進(jìn)行轉(zhuǎn)帳,需求建模用例圖,建立用例圖分為以下幾個(gè)步驟: 確定參與者(Actors) 創(chuàng)建用例(Use Case) 創(chuàng)建參與者(Actors)用例(Use Case)關(guān)系圖,參與者,系統(tǒng)用戶 與本系統(tǒng)交互的其他系統(tǒng),確定參與者(Actor),創(chuàng)建用例(Use Case) 用例是參與者啟動(dòng)的,基于這樣的考慮,ATM系統(tǒng)根據(jù)業(yè)務(wù)流程大致可以分為以下的幾個(gè)用例: 客戶取錢 客戶存錢 客戶查詢余額 客戶轉(zhuǎn)帳 客戶更改密碼,建立用例圖,完整用例圖,建立事件流(用例描述),事件流的目的是建立使用用例中的邏輯流程,詳細(xì)描述系統(tǒng)的工作。,用例“取錢”的事件流 (1),簡(jiǎn)要說(shuō)明:客

16、戶可以從ATM機(jī)上取出自己帳目上的部分或者全部存款。 前提條件:無(wú) 主事件流:,客戶將卡插入ATM機(jī),開始用例。 ATM顯示歡迎消息并提示客戶輸入密碼。 客戶輸入密碼。 ATM確認(rèn)密碼有效。如果無(wú)效則執(zhí)行其他事件流A1。如果與主機(jī)聯(lián)接有問(wèn)題,則執(zhí)行異常事件流E1。 ATM提供以下選項(xiàng):存錢,取錢,查詢 。 用戶選擇取錢選項(xiàng)。 ATM提示輸入所取金額。 用戶輸入所取金額。 ATM確定該帳戶是否有足夠的金額。如果余額不夠,則執(zhí)行A2,如果與主機(jī)聯(lián)接有問(wèn)題,則執(zhí)行異常事件流E1。 ATM從客戶帳戶中減去所取金額。 ATM向客戶提供要取的錢。 ATM打印清單。 ATM退出客戶的卡,用例結(jié)束。,其他事件

17、流A1:輸入無(wú)效密碼 ATM告訴客戶該密碼錯(cuò)誤。 ATM退出客戶的卡,用例結(jié)束。 其他事件流A2:余額不足 ATM告訴客戶該帳戶余額不足。 ATM退出客戶的卡,用例結(jié)束。 異常事件流E1:聯(lián)接主機(jī)出現(xiàn)錯(cuò)誤 ATM告訴客戶聯(lián)接主機(jī)出現(xiàn)錯(cuò)誤。 ATM在錯(cuò)誤日志記下錯(cuò)誤。 ATM退出客戶的卡,用例結(jié)束。 事后條件:無(wú),案例2:遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng),網(wǎng)絡(luò)的普及帶給了人們更多的學(xué)習(xí)途徑,隨之用來(lái)管理遠(yuǎn)程網(wǎng)絡(luò)教學(xué)的“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”也誕生了。 “遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”的功能需求包括: (1)學(xué)生登錄網(wǎng)站后,可以瀏覽課件、查找課件、下載課件、觀看教學(xué)視頻。 (2)教師登錄網(wǎng)站后,可以上傳課件、上傳教學(xué)視頻、發(fā)布教

18、學(xué)心得、查看教學(xué)心得、修改教學(xué)心得。 (3)系統(tǒng)管理員負(fù)責(zé)對(duì)網(wǎng)站頁(yè)面的維護(hù),審核不法課件和不法教學(xué)信息,批準(zhǔn)用戶注冊(cè)。,(1)學(xué)生需要登錄“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”后才能正常使用該系統(tǒng)所有功能。如果忘記密碼,可以通過(guò)“找回密碼”功能找回密碼。登錄后學(xué)生可以瀏覽課件、查找課件、下載課件、觀看教學(xué)視頻,請(qǐng)畫出學(xué)生參與者的用例圖。,(2)教師登錄“遠(yuǎn)程網(wǎng)絡(luò)教學(xué)系統(tǒng)”后可以上傳課件、上傳教學(xué)視頻課件、發(fā)布教學(xué)心得、修改教學(xué)心得。如果忘記密碼,可以通過(guò)“找回密碼”功能找回密碼。請(qǐng)畫出教師參與者的用例圖。,練習(xí)1:仔細(xì)閱讀圖書管理系統(tǒng)的需求并給出完整的用例圖。,1. 這是一個(gè)圖書館支持系統(tǒng); 2. 圖書館將圖書和雜志借給借書者。借書者已經(jīng)預(yù)先注冊(cè),圖書和雜志也預(yù)先注冊(cè); 3. 圖書館負(fù)責(zé)新書的購(gòu)買。每一本圖書都購(gòu)進(jìn)多本書,當(dāng)舊書超期或破舊時(shí)可從圖書館中清除掉。 4. 圖書管理員是圖書館的員工。他們的工作就是和讀者打交道并在軟件系統(tǒng)的支持下工作。 5. 借閱人可以預(yù)定當(dāng)前沒有的圖書和雜志。這樣,當(dāng)他所預(yù)定的圖書和雜志歸還回來(lái)或購(gòu)進(jìn)時(shí),就通知預(yù)定人。當(dāng)預(yù)定了某書的借書者借閱了該書后,預(yù)定就取消?;蛘咄ㄟ^(guò)顯式的取消過(guò)程強(qiáng)行取消預(yù)定。 6. 圖書館能夠容易地建立

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論