UML建模實(shí)例教程(第3版)課件 第5章 需求建模_第1頁(yè)
UML建模實(shí)例教程(第3版)課件 第5章 需求建模_第2頁(yè)
UML建模實(shí)例教程(第3版)課件 第5章 需求建模_第3頁(yè)
UML建模實(shí)例教程(第3版)課件 第5章 需求建模_第4頁(yè)
UML建模實(shí)例教程(第3版)課件 第5章 需求建模_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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)介

第5章需求建模15.1用例模型概述5.2用例圖組成5.3識(shí)別和描述用例5.4用例間的關(guān)系2本章將向讀者詳細(xì)介紹應(yīng)用用例模型進(jìn)行軟件系統(tǒng)需求建模的基本內(nèi)容。需求建模主要包括:用例模型概述、用例圖的組成、識(shí)別和描述用例、識(shí)別用例之間的關(guān)系、繪制用例圖等。本章的學(xué)習(xí)要點(diǎn)包括:用例圖的組成(參與者和用例);識(shí)別和描述用例;用例間的關(guān)系(泛化、關(guān)聯(lián)和依賴);繪制用例圖。35.1用例模型概述45.1用例模型概述5任務(wù)1了解用例模型的基本功能和基本組成。任務(wù)描述

65.1用例模型概述

1.用例模型的功能用例模型是把應(yīng)滿足用戶需求的基本功能(集)聚合起來(lái)表示的強(qiáng)大工具。對(duì)于正在構(gòu)造的新系統(tǒng),用例描述該系統(tǒng)應(yīng)該做什么;對(duì)于已構(gòu)造完畢的系統(tǒng),用例則反映了系統(tǒng)能夠完成什么樣的功能。構(gòu)建用例模型是通過(guò)系統(tǒng)開(kāi)發(fā)者與系統(tǒng)的客戶(或最終使用者)共同協(xié)商完成的,他們要反復(fù)討論需求的規(guī)格說(shuō)明,達(dá)成共識(shí),明確系統(tǒng)的基本功能,為后階段的工作打下基礎(chǔ)。75.1用例模型概述

2.用例模型的基本組成用例模型的基本組成部件是用例、參與者和系統(tǒng)。

用例用于描述系統(tǒng)的功能,也就是從外部用戶的角度觀察系統(tǒng)應(yīng)具備哪些功能,幫助分析人員理解系統(tǒng)的行為,它是對(duì)系統(tǒng)功能的宏觀描述。一個(gè)完整的系統(tǒng)中通常包含若干個(gè)用例,每個(gè)用例具體說(shuō)明應(yīng)完成的功能,代表系統(tǒng)的所有基本功能(集)。

參與者是與系統(tǒng)進(jìn)行交互的外部實(shí)體,它可以是系統(tǒng)用戶,也可以是其他系統(tǒng)或硬件設(shè)備,總之,凡是需要與系統(tǒng)交互的任何東西都可以稱做參與者。

系統(tǒng)仿佛是實(shí)現(xiàn)各種用例的“黑盒子”,我們只關(guān)心該系統(tǒng)實(shí)現(xiàn)了哪些功能,并不關(guān)心內(nèi)部的具體實(shí)現(xiàn)細(xì)節(jié)(如系統(tǒng)是如何做的,用例是如何實(shí)現(xiàn)的)。85.1用例模型概述

3.引入用例的目的引入用例的主要目的包括以下幾點(diǎn):(1)確定系統(tǒng)應(yīng)具備哪些功能,這些功能是否滿足系統(tǒng)的需求(開(kāi)發(fā)者與用戶協(xié)商達(dá)成共識(shí)的東西)。(2)為系統(tǒng)的功能提供清晰一致的描述,以便為后續(xù)的開(kāi)發(fā)工作打下良好的交流基礎(chǔ),方便開(kāi)發(fā)人員傳遞需求的功能。(3)為系統(tǒng)驗(yàn)證工作打下基礎(chǔ)。通過(guò)驗(yàn)證最終實(shí)現(xiàn)的系統(tǒng)能夠執(zhí)行的功能是否與最初需求的功能相一致,保證系統(tǒng)的實(shí)用性。5.2用例圖組成95.2用例圖組成10任務(wù)2確定WebShop電子商城系統(tǒng)中的參與者、系統(tǒng)邊界。任務(wù)描述

11在UML中,用例模型(也就是用例視圖)是用例圖描述的。用例模型可以由若干個(gè)用例圖組成。用例圖中包含系統(tǒng)、參與者和用例等三種模型元素。繪制用例圖時(shí),既要畫(huà)出這三種模型元素,同時(shí)還要畫(huà)出元素之間的各種關(guān)系(泛化、關(guān)聯(lián)、依賴)。5.2用例圖組成WebShop用戶管理用例圖12

5.2.1參與者參與者(Actor)是與系統(tǒng)交互的人或事。所謂“與系統(tǒng)交互”指的是參與者向系統(tǒng)發(fā)送消息,從系統(tǒng)中接收消息,或是在系統(tǒng)中交換信息。

UML中用一個(gè)小人形圖形表示角色類,小人的下方書(shū)寫(xiě)角色名字。5.2用例圖組成購(gòu)物用戶參與者13

5.2.1參與者——參與者的類型5.2用例圖組成從參與者的具體表現(xiàn)形式來(lái)看,參與者有三種類型:(1)系統(tǒng)用戶,即系統(tǒng)的用戶(真實(shí)的人),是最常見(jiàn)的參與者。(2)其他系統(tǒng)。(3)一些可以運(yùn)行的進(jìn)程。14

5.2.1參與者——參與者的確定5.2用例圖組成怎樣確定系統(tǒng)的參與者呢?開(kāi)發(fā)人員可以通過(guò)回答以下的問(wèn)題來(lái)確定系統(tǒng)的參與者:(1)使用系統(tǒng)主要功能的人是誰(shuí)(主要角色)?(2)需要借助于系統(tǒng)完成日常工作的人是誰(shuí)?(3)誰(shuí)來(lái)維護(hù)和管理系統(tǒng)(次要角色),保證系統(tǒng)正常工作?(4)系統(tǒng)控制的硬件設(shè)備有哪些?(5)系統(tǒng)需要與哪些其他系統(tǒng)交互?(6)對(duì)系統(tǒng)產(chǎn)生的結(jié)果感興趣的人或事是哪些?WebShop電子商城參與者15參與者對(duì)于系統(tǒng)而言總是外部的,它們可以處于人的控制之外;參與者可以直接或間接地同系統(tǒng)交互,或使用系統(tǒng)提供的服務(wù)以完成某件事務(wù);參與者表示人或事物與系統(tǒng)發(fā)生交互時(shí)所扮演的角色,而不是特定的人或者特定的事物;一個(gè)人或事物在與系統(tǒng)發(fā)生交互時(shí),可以扮演多個(gè)角色;每一個(gè)參與者需要一個(gè)具有業(yè)務(wù)一樣的名字,并且必須有簡(jiǎn)短的描述(從業(yè)務(wù)角度描述參與者是什么);參與者可以具有屬性和事件,但使用不能太頻繁。16

5.2.2系統(tǒng)5.2用例圖組成系統(tǒng)是用例模型的一個(gè)組成部分,代表的是一部機(jī)器或一個(gè)商務(wù)活動(dòng)等,而并不是真正實(shí)現(xiàn)的軟件系統(tǒng)。

系統(tǒng)的邊界用來(lái)說(shuō)明構(gòu)建的用例模型的應(yīng)用范圍。

用例圖中的系統(tǒng)用一個(gè)長(zhǎng)方框表示,系統(tǒng)的名字寫(xiě)在方框上方或方框里面,方框內(nèi)部還可以包含該系統(tǒng)中的用符號(hào)表示的用例。系統(tǒng)17

5.2.3用例——什么是用例5.2用例圖組成用例代表一個(gè)系統(tǒng)或系統(tǒng)的一部分行為,是對(duì)一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行該動(dòng)作序列來(lái)為參與者產(chǎn)生一個(gè)可觀察的結(jié)果值。用例代表的是一個(gè)完整的功能。UML中的用例是動(dòng)作步驟的集合。動(dòng)作是系統(tǒng)的一次執(zhí)行(能夠給某個(gè)參與者輸出結(jié)果值)。用例應(yīng)支持多種可能發(fā)生的動(dòng)作。

UML中的用例用橢圓形表示,用例的名字寫(xiě)在橢圓的內(nèi)部或下方。用例示例18

5.2.3用例——用例的特征5.2用例圖組成用例具有以下的特征:(1)用例總是由參與者初始化。用例所代表的功能必須由參與者激活,而后才能執(zhí)行。(2)用例為參與者提供值。用例必須為參與者提供實(shí)在的值,雖然這個(gè)值并不總是重要的,但是應(yīng)能被參與者識(shí)別。(3)用例具有完全性。用例是一個(gè)完整的描述。不管用例內(nèi)部的小用例是如何通信工作的,只有最終產(chǎn)生了返回給參與者的結(jié)果值,才能說(shuō)明用例執(zhí)行完畢。19用例表示的也是一個(gè)類(如搜索圖書(shū)),而不是某個(gè)具體的實(shí)例(搜索名稱為“Java程序設(shè)計(jì)”的圖書(shū))。用例描述了它代表的功能的各個(gè)方面,也就是包含了用例執(zhí)行期間可能發(fā)生的種種情況。20(1)小組討論用例模型的主要功能有哪些。(2)根據(jù)已往的軟件開(kāi)發(fā)經(jīng)驗(yàn),討論使用用例模型來(lái)描述需求與使用純文字的方式來(lái)描述需求有什么不同。(3)結(jié)合實(shí)例說(shuō)明用例模型由哪幾部分組成。

(4)根據(jù)典型圖書(shū)管理系統(tǒng)的需求,確定該系統(tǒng)中的參與者,并說(shuō)明確定參與者的根據(jù)。(5)確定圖書(shū)管理系統(tǒng)的系統(tǒng)邊界。

1.操作要求

2.操作提示

(1)通過(guò)學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)使用手繪形式繪制出圖書(shū)管理系統(tǒng)的參與者和系統(tǒng)邊界。5.3識(shí)別和描述用例21225.3識(shí)別和描述用例任務(wù)3確定WebShop電子商城中的用例,繪制WebShop電子商城的用例圖,并對(duì)用例進(jìn)行描述。任務(wù)描述

235.3識(shí)別和描述用例

5.3.1識(shí)別用例——針對(duì)參與者(1)某個(gè)參與者要求系統(tǒng)為其提供什么功能?該參與者需要做哪些工作?(2)參與者需要閱讀、創(chuàng)建、銷毀、更新或存儲(chǔ)系統(tǒng)中的某些信息嗎?(3)系統(tǒng)中的事件一定要告知參與者嗎?參與者需要告訴系統(tǒng)一些什么嗎?(4)系統(tǒng)新功能的識(shí)別,參與者的日常工作被簡(jiǎn)化或效率提高了嗎?245.3識(shí)別和描述用例

5.3.1識(shí)別用例——針對(duì)系統(tǒng)(1)系統(tǒng)需要什么樣的輸入和輸出?輸入來(lái)自哪里?輸出到哪里去?(2)該系統(tǒng)的當(dāng)前狀況還存在哪些問(wèn)題?(3)系統(tǒng)的改進(jìn)方向?255.3識(shí)別和描述用例

5.3.1識(shí)別用例【任務(wù)3-1】確定WebShop電子商城中的用例。265.3識(shí)別和描述用例

5.3.2繪制WebShop電子商城用例圖【任務(wù)3-2】繪制WebShop電子商城中的用例圖。詳見(jiàn)教學(xué)視頻《繪制圖書(shū)管理系統(tǒng)用例圖》275.3識(shí)別和描述用例

5.3.2繪制WebShop電子商城用例圖按鈕按鈕名稱功能Selection選擇工具Note添加注釋Anchor將圖中的元素與注釋相連Label添加文本標(biāo)簽Box繪制盒子,將某些元素框在一起Actor繪制參與者UseCase繪制用例Association添加雙向關(guān)聯(lián)關(guān)系DirectionalAssociation添加單向關(guān)聯(lián)關(guān)系Dependency添加依賴關(guān)系Generalization添加泛化關(guān)系用例圖繪圖工具欄按鈕285.3識(shí)別和描述用例

5.3.3通過(guò)文件夾對(duì)用例進(jìn)行合理規(guī)劃Umbrello的用例視圖可以通過(guò)文件夾“Folder”來(lái)管理,把各種各樣的模型元素通過(guò)內(nèi)在的語(yǔ)義連在一起成為一個(gè)整體。Umbrello中的文件夾通常用于對(duì)模型進(jìn)行組織管理,它是一個(gè)邏輯元素,并不會(huì)出現(xiàn)在用例圖中?!救蝿?wù)3-3】通過(guò)文件夾對(duì)WebShop電子商城中的用例進(jìn)行規(guī)劃。295.3識(shí)別和描述用例

5.3.4WebShop電子商城用例圖(不含關(guān)系)系統(tǒng)的參與者購(gòu)物用戶管理相關(guān)的用例圖305.3識(shí)別和描述用例

5.3.4WebShop電子商城用例圖(不含關(guān)系)前臺(tái)購(gòu)物相關(guān)的用例圖后臺(tái)管理相關(guān)的用例圖315.3識(shí)別和描述用例

5.3.4WebShop電子商城用例圖(不含關(guān)系)管理購(gòu)物用戶相關(guān)的用例圖325.3識(shí)別和描述用例

5.3.5用例描述用例的描述應(yīng)包括以下幾個(gè)方面:(1)用例的目標(biāo)。(2)用例是怎樣被啟動(dòng)的。(3)參與者和用例之間的消息流。(4)用例的多種執(zhí)行方案。(5)用例怎樣才算完成并把值傳給了參與者。用例編號(hào)用例名稱用例描述參與者前置條件后置條件基本路徑1.….XXXX2.….XXXX擴(kuò)展點(diǎn) 2a.….XXXX 2a1.….XXXX變異點(diǎn)補(bǔ)充說(shuō)明用例描述的模板335.3識(shí)別和描述用例

5.3.5用例描述用例編號(hào):001用例名:購(gòu)物用戶登錄用例描述:購(gòu)物用戶根據(jù)所注冊(cè)的用戶名和密碼,登錄到WebShop電子商城系統(tǒng)。參與者:購(gòu)物用戶前置條件:電子商城正常運(yùn)行時(shí)間。后置條件:如果購(gòu)物用戶登錄成功,則該購(gòu)物用戶可搜索商品并購(gòu)買商品;如果購(gòu)物用戶登錄未成功,則該用戶不能進(jìn)行商品的購(gòu)買?;韭窂?.購(gòu)物用戶進(jìn)入WebShop電子商城系統(tǒng);2.購(gòu)物用戶輸入用戶名和密碼;

3.購(gòu)物用戶提交輸入的信息;4.系統(tǒng)對(duì)購(gòu)物用戶的賬號(hào)和密碼進(jìn)行有效性檢查;5.系統(tǒng)記錄并顯示當(dāng)前登錄用戶;6.購(gòu)物用戶搜索商品并購(gòu)買商品;7.系統(tǒng)允許購(gòu)物用戶的購(gòu)買操作。擴(kuò)展點(diǎn) 4a.購(gòu)物用戶的賬號(hào)錯(cuò)誤 4a1.系統(tǒng)彈出賬號(hào)錯(cuò)誤或賬號(hào)已關(guān)閉警告信息; 4a2.購(gòu)物用戶離開(kāi)或重新輸入賬號(hào)。 4b.購(gòu)物用戶的密碼錯(cuò)誤 4b1.系統(tǒng)彈出密碼錯(cuò)誤警告信息; 4b2.購(gòu)物用戶離開(kāi)或重新輸入密碼。變異點(diǎn)

無(wú)補(bǔ)充說(shuō)明34在用例描述中不要包含GUI設(shè)計(jì),因?yàn)橛美轻槍?duì)需求的,而界面設(shè)計(jì)是“設(shè)計(jì)”,不要把設(shè)計(jì)的東西放進(jìn)需求中;用例描述的目的是對(duì)用例的具體完成情況進(jìn)行詳細(xì)說(shuō)明;用例通常描述參與者與系統(tǒng)的交互,如購(gòu)物用戶怎樣,系統(tǒng)怎樣等。35(1)確定圖書(shū)管理系統(tǒng)的用例。(2)繪制圖書(shū)管理系統(tǒng)的用例圖。(3)對(duì)圖書(shū)管理系統(tǒng)的用例進(jìn)行描述。

1.操作要求

2.操作提示

(1)通過(guò)學(xué)習(xí)小組討論和上網(wǎng)查詢資料形式完成。(2)使用Umbrello2.32進(jìn)行圖形的繪制。(3)建議通過(guò)包圖對(duì)圖書(shū)管理系統(tǒng)中的用例進(jìn)行邏輯分類。5.4用例間的關(guān)系365.4用例間的關(guān)系37任務(wù)4識(shí)別WebShop電子商城中用例間的關(guān)系,并繪制其關(guān)系圖。任務(wù)描述

38用例圖主要用來(lái)圖示化系統(tǒng)的主事件流程,它主要用來(lái)描述客戶的需求,即客戶希望系統(tǒng)具備的完成一定功能的動(dòng)作。通俗地理解,用例就是軟件的功能模塊,所以用例圖是系統(tǒng)分析階段的起點(diǎn),設(shè)計(jì)人員根據(jù)客戶的需求來(lái)創(chuàng)建和解釋用例圖,用來(lái)描述軟件應(yīng)具備哪些功能模塊以及這些模塊之間的調(diào)用關(guān)系。用例圖中的用例之間和參與者之間也是具有一定的聯(lián)系的。用例是從系統(tǒng)外部可見(jiàn)的行為,是系統(tǒng)為某一個(gè)或幾個(gè)參與者提供的一段完整的服務(wù)。從原則上來(lái)講,用例之間都是獨(dú)立、并列的,它們之間并不存在著包含從屬關(guān)系。但是為了體現(xiàn)一些用例之間的業(yè)務(wù)關(guān)系,提高可維護(hù)性和一致性,用例之間可以抽象出泛化(Generalization)、關(guān)聯(lián)(Asscociation)和依賴(Dependency)幾種關(guān)系。用例間關(guān)系的共性就是從現(xiàn)有的用例中抽取出公共的那部分信息,作為一個(gè)單獨(dú)的用例,然后通后過(guò)不同的方法來(lái)重用這個(gè)公共的用例,以減少模型維護(hù)的工作量。5.4用例間的關(guān)系395.4用例間的關(guān)系

5.4.1泛化關(guān)系——用例泛化關(guān)系用例泛化關(guān)系(Generalization)是指一種從子用例到父用例的關(guān)系,它指定了子用例如何特化父用例的所有行為和特征。

Umbrello使用“”表示泛化關(guān)系。箭尾方向?yàn)樽佑美ㄗ訁⑴c者),箭頭方向?yàn)楦赣美ǜ竻⑴c者)。用例間的泛化關(guān)系詳見(jiàn)教學(xué)視頻《繪制泛化關(guān)系》405.4用例間的關(guān)系

5.4.1泛化關(guān)系——參與者泛化關(guān)系跟用例一樣,參與者和參與者之間也存在著泛化關(guān)系

右圖所示的參與者的包中包含了五個(gè)參與者。其中用戶被購(gòu)物用戶和后臺(tái)管理員所特化,后臺(tái)管理員進(jìn)一步由普通管理員和系統(tǒng)管理員所特化。參與者間的泛化關(guān)系415.4用例間的關(guān)系

5.4.2關(guān)聯(lián)關(guān)系

關(guān)聯(lián)關(guān)系(Association)是指表示參與者與用例之間的通信,任何一方都可發(fā)送或接受消息。關(guān)聯(lián)關(guān)系包括普通關(guān)聯(lián)關(guān)系(Association)和定向關(guān)聯(lián)關(guān)系(DirectionalAssociation)。前者表示參與者與用例之間的通信,任何一方都可發(fā)送或接受消息,后者表示只有一方表示可以發(fā)送消息,另一方則接受消息。Umbrello使用“”表示普通關(guān)聯(lián)關(guān)系,使用“”表示定向關(guān)聯(lián)關(guān)系,箭尾方向?yàn)榘l(fā)送消息方,箭頭方向?yàn)榻邮芟⒎?,如圖5-29所示。參與者與用例之間的關(guān)聯(lián)關(guān)系詳見(jiàn)教學(xué)視頻《繪制關(guān)聯(lián)關(guān)系》425.4用例間的關(guān)系

5.4.3依賴關(guān)系依賴關(guān)系(Dependency)是指一個(gè)用例會(huì)使用到另一個(gè)用例的關(guān)系。Umbrello使用“”表示依賴關(guān)系,箭尾方向?yàn)槭褂谜哂美?,箭頭方向?yàn)樘峁┱哂美?。相比RationalRose等UML建模工具,Umbrello簡(jiǎn)化了用例圖中的關(guān)系,不再區(qū)分?jǐn)U展(extend)和包含(include)關(guān)系,統(tǒng)一使用依賴關(guān)系表示。依賴關(guān)系詳見(jiàn)教學(xué)視頻《繪制依賴關(guān)系》435.4用例間的關(guān)系

5.4.4WebShop電子商城用例圖(含關(guān)系)參與者關(guān)系購(gòu)物用戶管理用例之間的關(guān)系詳見(jiàn)教學(xué)視頻《繪制圖書(shū)管理系統(tǒng)用例間的關(guān)系》445.4用例間的關(guān)系

5.4.4WebShop電子商城用例圖(含關(guān)系)前臺(tái)購(gòu)物用例之間的關(guān)系后

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論