UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章-需求分析與用例建模_第1頁(yè)
UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章-需求分析與用例建模_第2頁(yè)
UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章-需求分析與用例建模_第3頁(yè)
UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章-需求分析與用例建模_第4頁(yè)
UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章-需求分析與用例建模_第5頁(yè)
已閱讀5頁(yè),還剩91頁(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)介

UML面向?qū)ο笤O(shè)計(jì)與分析教程(第二版)(微課版)第3章需求分析與用例建模本章的學(xué)習(xí)目標(biāo):理解軟件需求的含義理解需求分析的必要性和重要性掌握參與者和用例的基本概念掌握用例描述的要點(diǎn)和方法掌握用例之間的各種關(guān)系理解用例粒度的概念理解業(yè)務(wù)用例和系統(tǒng)用例的區(qū)別掌握如何使用RationalRose建立用例模型需求層次內(nèi)容業(yè)務(wù)需求反映組織機(jī)構(gòu)或客戶對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求。通常問(wèn)題定義就是業(yè)務(wù)需求用戶需求描述用戶使用產(chǎn)品必須要完成什么任務(wù),怎么完成,通常是在問(wèn)題定義的基礎(chǔ)上進(jìn)用戶訪談、調(diào)查,對(duì)用戶使用的場(chǎng)景進(jìn)行整理,從而建立從用戶角度的需求系統(tǒng)需求從系統(tǒng)的角度來(lái)說(shuō)明軟件的需求,它就包括了用特性說(shuō)明的功能需求,質(zhì)量屬性以及其它非功能需求,還有設(shè)計(jì)約束一、引言什么是需求一、引言什么是需求需求—建造“正確”的系統(tǒng)需求:系統(tǒng)必須滿足的條件或具備的能力RobertGrady軟件質(zhì)量準(zhǔn)則“FURPS”功能性(Functionality)使用性(Usability)可靠性(Reliability)性能(Performance)可支持性(Supportability)非功能性需求一、引言什么是需求超預(yù)算平均超出費(fèi)用:189%推遲發(fā)布平均超出時(shí)間:222%不能滿足期望平均覆蓋率:61%28%Successful72%FailedStandishGroup——美國(guó)專(zhuān)門(mén)從事跟蹤IT項(xiàng)目成功或失敗的權(quán)威機(jī)構(gòu)一、引言軟件業(yè)的現(xiàn)狀

在Standish

Group的報(bào)告中總結(jié)了導(dǎo)致項(xiàng)目失敗的最重要的8大原因中,有5個(gè)與需求相關(guān):№1不完整的需求;№2沒(méi)有用戶的介入;№3不實(shí)際的客戶期望;№4需求和規(guī)范的變理;№5提供了不再需要的。一、引言軟件業(yè)的現(xiàn)狀一、引言我們?cè)谀闹刂厮ち艘货游乙粔K石頭…差不多,但我要小一點(diǎn)的…很好,不過(guò)我要藍(lán)色的…啊,沒(méi)有那么小…咳,還是原來(lái)那個(gè)好了…小一點(diǎn)的藍(lán)色大理石難捕獲,易變!一、引言一、引言需求——難在何處?需求:石頭問(wèn)題難捕獲易變從用戶視角看問(wèn)題合理的結(jié)構(gòu)用例一、引言需求問(wèn)題——對(duì)策以用例為中心組織需求!客戶/用戶的要求/想法/期望軟件設(shè)計(jì)軟件產(chǎn)品開(kāi)發(fā)編碼和測(cè)試驗(yàn)收有價(jià)值的

軟件需求分析和設(shè)計(jì)一、引言需求:也需要開(kāi)發(fā)基本思路問(wèn)題的提出:在系統(tǒng)尚未存在時(shí),如何描繪用戶需要一個(gè)什么樣的系統(tǒng)?如何規(guī)范地定義用戶需求?考慮問(wèn)題的思路:把系統(tǒng)看作一個(gè)黑箱,看它對(duì)外部的客觀世界發(fā)揮什么作用,描述其外部可見(jiàn)的行為。系統(tǒng)是由一條邊界包圍起來(lái)的未知空間只通過(guò)有限的幾個(gè)接口與外部交互系統(tǒng)邊界以外是與系統(tǒng)進(jìn)行交互的參與者把內(nèi)外交互情況描述清楚,就確切地定義了系統(tǒng)的需求11如何開(kāi)始?從用例圖開(kāi)始!一、引言系統(tǒng)的誕生一、什么叫用例圖由參與者(Actor)、用例(UseCase)以及它們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的動(dòng)態(tài)視圖稱(chēng)為用例圖(UseCaseDiagram)。要在用例圖上顯示某個(gè)用例,可繪制一個(gè)橢圓,然后將用例的名稱(chēng)放在橢圓的中心或橢圓下面的中間位置。要在用例圖上繪制一個(gè)參與者(表示一個(gè)系統(tǒng)用戶),可繪制一個(gè)人形符號(hào)。參與者和用例之間的關(guān)系使用帶箭頭或者不帶箭頭的線段來(lái)描述,箭頭表示在這一關(guān)系中哪一方是對(duì)話的主動(dòng)發(fā)起者,箭頭所指方是對(duì)話的被動(dòng)接受者。1、用例圖的含義一、什么叫用例圖1、用例圖的含義一、什么叫用例圖

在用例建模中,為了更加清楚的描述用例或者參與者,會(huì)使用到注釋。1、用例圖的含義一、什么叫用例圖

用例圖是需求分析中的產(chǎn)物,主要作用是描述參與者和用例之間的關(guān)系,幫助開(kāi)發(fā)人員可視化的了解系統(tǒng)的功能。借助于用例圖,系統(tǒng)用戶、系統(tǒng)分析人員、系統(tǒng)設(shè)計(jì)人員、領(lǐng)域?qū)<夷軌蛞钥梢暬姆绞綄?duì)問(wèn)題進(jìn)行探討,減少了大量交流上的障礙,便于對(duì)問(wèn)題達(dá)成共識(shí)。用例圖可視化地表達(dá)了系統(tǒng)的需求,具有直觀、規(guī)范等優(yōu)點(diǎn),克服了純文字性說(shuō)明的不足。用例方法是完全從外部來(lái)定義系統(tǒng)功能,它把需求和設(shè)計(jì)完全的分離開(kāi)來(lái)。我們不用關(guān)心系統(tǒng)內(nèi)部是如何完成各種功能的,系統(tǒng)對(duì)于我們來(lái)說(shuō)就是一個(gè)黑箱子。2、用例圖的作用二、用例圖的構(gòu)成要素用例圖包含3方面內(nèi)容:用例圖中可以包含注釋、約束以及包。參與者(Actor)用例(UseCase)關(guān)系:關(guān)聯(lián)、泛化、包含、擴(kuò)展等系統(tǒng)邊界系統(tǒng)邊界:一個(gè)系統(tǒng)所包含的所有系統(tǒng)成分與系統(tǒng)以外各種事物的分界線。系統(tǒng):被開(kāi)發(fā)的計(jì)算機(jī)軟硬件系統(tǒng),不是指現(xiàn)實(shí)系統(tǒng)。系統(tǒng)成分:在OOA和OOD中定義并且在編程時(shí)加以實(shí)現(xiàn)的系統(tǒng)元素——對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象對(duì)象參與者(人員)參與者(設(shè)備)參與者(外系統(tǒng))參與者:在系統(tǒng)邊界以外,與系統(tǒng)進(jìn)行交互的事物——人員、設(shè)備、外系統(tǒng)系統(tǒng)邊界與參與者17現(xiàn)實(shí)世界中的事物與系統(tǒng)之間的關(guān)系——分四種情況(1)被抽象為系統(tǒng)中的對(duì)象汽車(chē)飛機(jī)獎(jiǎng)杯鐘表起重機(jī)職員樓房天平(2)只作為系統(tǒng)外部的參與者與系統(tǒng)交互(4)與系統(tǒng)無(wú)關(guān)操作員(3)既是系統(tǒng)中的對(duì)象,本身又作為參與者與系統(tǒng)交互18人員——系統(tǒng)的直接使用者直接為系統(tǒng)服務(wù)的人員設(shè)備——與系統(tǒng)直接相聯(lián)的設(shè)備為系統(tǒng)提供信息在系統(tǒng)控制下運(yùn)行不與系統(tǒng)相連的設(shè)備×計(jì)算機(jī)設(shè)備×外系統(tǒng)——上級(jí)系統(tǒng)子系統(tǒng)其它系統(tǒng)如何發(fā)現(xiàn)參與者——考慮人員、設(shè)備、外系統(tǒng)19參與者參與者是系統(tǒng)外部的一個(gè)實(shí)體,以某種方式參與用例的執(zhí)行過(guò)程。是為了完成一個(gè)事件與系統(tǒng)進(jìn)行交互的實(shí)體,是與系統(tǒng)交互作用的外部用戶、進(jìn)程或其他系統(tǒng)的理想化概念。在UML中,參與者用名字寫(xiě)在下面的人形圖標(biāo)表示。參與者參與者由它們參與用例時(shí)所擔(dān)當(dāng)?shù)慕巧珌?lái)表示。任何事物人、外系統(tǒng)、硬件設(shè)備、時(shí)間等參與者參與者參與者25在獲取用例前要先確定系統(tǒng)的參與者,可以根據(jù)以下的一些問(wèn)題來(lái)尋求系統(tǒng)參與者。⑴誰(shuí)將使用該系統(tǒng)的主要功能;⑵誰(shuí)將需要該系統(tǒng)的支持以完成其工作;⑶誰(shuí)將需要安裝、維護(hù)、管理該系統(tǒng),以及保持該系統(tǒng)處于工作狀態(tài);⑷系統(tǒng)需要處理哪些硬件設(shè)備⑸與該系統(tǒng)發(fā)生交互的是什么系統(tǒng)⑹誰(shuí)或什么系統(tǒng)對(duì)本系統(tǒng)產(chǎn)生的結(jié)果感興趣參與者的識(shí)別26參與者的識(shí)別27多個(gè)參與者之間可以具有與類(lèi)之間相同的關(guān)系。在用例圖中,可以使用泛化關(guān)系來(lái)描述多個(gè)參與者之間的公共行為。參與者間的關(guān)系28例如,在圖書(shū)館管理系統(tǒng)中,借書(shū)者可以泛化成兩類(lèi):學(xué)生和老師。再如,航空售票系統(tǒng)接受客戶預(yù)定機(jī)票,客戶可以進(jìn)行電話預(yù)定和網(wǎng)上預(yù)定,如果不考慮客戶是如何與系統(tǒng)接觸的,可以使用一般角色的參與者,即父類(lèi);如果強(qiáng)調(diào)接觸發(fā)生的形式,那么必須使用實(shí)際的參與者,即子類(lèi)。參與者間的關(guān)系29更具一般的,可以由下圖表示參與者之間的關(guān)系。參與者間的關(guān)系思考:識(shí)別參與者?尋呼臺(tái)系統(tǒng):用戶如果預(yù)定了天氣預(yù)報(bào),系統(tǒng)每天定時(shí)給他發(fā)天氣消息;如果當(dāng)天氣溫高于35度,還要提醒用戶注意防暑;在這個(gè)敘述里,誰(shuí)是尋呼臺(tái)系統(tǒng)的Actor?用戶?氣溫?時(shí)間?31用例是外部可見(jiàn)的系統(tǒng)功能單元。用例是對(duì)一個(gè)系統(tǒng)或一個(gè)應(yīng)用的一種單一的使用方式所作的描述。用例的用途是,在不揭示系統(tǒng)內(nèi)部構(gòu)造的前提下定義系統(tǒng)的行為。在UML中,用例用一個(gè)橢圓來(lái)表示,用例的名字可以寫(xiě)在橢圓的下方。用例32每個(gè)用例都必須有一個(gè)惟一的名字以區(qū)別于其它用例。用例的名字是一個(gè)字符串,包括簡(jiǎn)單名和路徑名。

用例33用例圖對(duì)整個(gè)系統(tǒng)的建模過(guò)程非常重要,在繪制系統(tǒng)用例圖前,有許多工作需要做。系統(tǒng)分析者必須分析系統(tǒng)的參與者和用例,它們分別描述了“誰(shuí)來(lái)做”和“做什么”這兩個(gè)問(wèn)題。識(shí)別用例最好的方法就是從分析系統(tǒng)的參與者開(kāi)始,考慮每個(gè)參與者是如何使用系統(tǒng)的。使用這種策略的過(guò)程中可能會(huì)發(fā)現(xiàn)新的參與者。1、識(shí)別用例34在識(shí)別用例的過(guò)程中,通過(guò)回答以下幾個(gè)問(wèn)題,系統(tǒng)分析者可以獲得幫助。⑴特定參與者希望系統(tǒng)提供什么功能⑵系統(tǒng)是否存儲(chǔ)和檢索信息,如果是,由哪個(gè)參與者觸發(fā)⑶當(dāng)系統(tǒng)改變狀態(tài)時(shí),是否通知參與者⑷是否存在影響系統(tǒng)的外部事件⑸哪個(gè)參與者通知系統(tǒng)這些事件識(shí)別用例具體可以通過(guò)查找事件的方式來(lái)識(shí)別用例:主語(yǔ)+動(dòng)詞+賓語(yǔ)簡(jiǎn)潔:參與者使用系統(tǒng)達(dá)到目標(biāo)識(shí)別用例已被識(shí)別出來(lái)的參與者動(dòng)作動(dòng)詞涉及的目標(biāo)讀者借閱書(shū)籍36識(shí)別用例用例的命名執(zhí)行者視角:(狀語(yǔ))動(dòng)詞+(定語(yǔ)+)賓語(yǔ)用例的粒度指的是用例所包含的系統(tǒng)服務(wù)或功能單元的多少。用例的粒度越大,用例包含的功能越多,反之則包含的功能越少。如果用例的粒度很小,得到的用例數(shù)就會(huì)太多。反之,如果用例的粒度很大,那么得到的用例數(shù)就會(huì)很少。如果用例數(shù)目過(guò)多會(huì)造成用例模型過(guò)大和引入設(shè)計(jì)困難大大提高。如果用例數(shù)目過(guò)少會(huì)造成用例的粒度太大,不便于進(jìn)一步的充分分析。最常犯錯(cuò)誤:粒度過(guò)細(xì),陷入功能分解過(guò)細(xì)的粒度,一般都會(huì)導(dǎo)致技術(shù)語(yǔ)言的描述,而不再是業(yè)務(wù)語(yǔ)言2、用例粒度用例粒度比較下列兩圖用例的粒度如果用例的粒度很小,得到的用例數(shù)就會(huì)太多。反之,如果用例的粒度很大,那么得到的用例數(shù)就會(huì)很少。如果用例數(shù)目過(guò)多會(huì)造成用例模型過(guò)大和引入設(shè)計(jì)困難大大提高。如果用例數(shù)目過(guò)少會(huì)造成用例的粒度太大,不便于進(jìn)一步的充分分析用例粒度用例粒度常見(jiàn)錯(cuò)誤:把交互的某個(gè)步驟當(dāng)作用例把系統(tǒng)活動(dòng)當(dāng)作用例四輪馬車(chē)的錯(cuò)誤(增加、刪除、修改、查詢)粒度過(guò)細(xì),陷入功能分解用例粒度錯(cuò)誤一:把步驟當(dāng)用例用例粒度錯(cuò)誤二:把系統(tǒng)活動(dòng)當(dāng)用例用例粒度錯(cuò)誤三:四輪馬車(chē)C(Create)

R(Read)

U(Update)

D(Delete)用例粒度如果CRUD不涉及復(fù)雜的交互,一個(gè)用例“管理××”即可不管是C、R、U、D,都是為了完成“管理”目標(biāo)用例粒度靈活處理CRUD可以把包含復(fù)雜交互的路徑獨(dú)立出去形成用例用例粒度錯(cuò)誤四:粒度過(guò)細(xì)用例圖只是在總體上大致描述了系統(tǒng)所提供的各種服務(wù),讓用戶對(duì)系統(tǒng)有一個(gè)總體的認(rèn)識(shí)。但對(duì)于每一個(gè)用例還需要有詳細(xì)的描述信息,以便讓其他人對(duì)于整個(gè)系統(tǒng)有一個(gè)更加詳細(xì)地了解,這些信息包含在用例規(guī)約之中。用例模型指的也不僅僅是用例圖,而是由用例圖和用例的詳細(xì)描述——用例規(guī)約所組成的。用例規(guī)約用例圖是骨架,而用例規(guī)約則是其內(nèi)在的肉

對(duì)于每一個(gè)用例,我們還需要有詳細(xì)的描述信息,以便讓別人對(duì)于整個(gè)系統(tǒng)有一個(gè)更加詳細(xì)的了解,這些信息包含在用例規(guī)約之中。每一個(gè)用例的用例規(guī)約都應(yīng)該包含以下內(nèi)容:

1簡(jiǎn)要說(shuō)明:對(duì)用例作用和目的的簡(jiǎn)要描述。

2事件流:事件流包括基本流和備選流?;玖髅枋龅氖怯美幕玖鞒?,是指用例“正常”運(yùn)行時(shí)的場(chǎng)景。

3用例場(chǎng)景:同一個(gè)用例在實(shí)際執(zhí)行的時(shí)候會(huì)有很多不同的情況發(fā)生,稱(chēng)之為用例場(chǎng)景,也可以說(shuō)用例場(chǎng)景就是用例的實(shí)例。

4特殊需求:特殊需求指的是一個(gè)用例的非功能性需求和設(shè)計(jì)約束。特殊需求通常是非功能性需求,包括可靠性、性能、可用性和可擴(kuò)展性等。例如法律或法規(guī)方面的需求、應(yīng)用程序標(biāo)準(zhǔn)和所構(gòu)建系統(tǒng)的質(zhì)量屬性等。

5前置條件:執(zhí)行用例之前系統(tǒng)必須所處的狀態(tài)。例如,前置條件是要求用戶有訪問(wèn)的權(quán)限或是要求某個(gè)用例必須已經(jīng)執(zhí)行完。

6后置條件:用例執(zhí)行完畢后系統(tǒng)可能處于的一組狀態(tài)。例如,要求在某個(gè)用例執(zhí)行完后,必須執(zhí)行另一個(gè)用例。3、用例規(guī)約高屋建瓴與細(xì)致入微相得益彰圖形inRose文本inWord事件流說(shuō)明用例如何開(kāi)始和結(jié)束。只說(shuō)明屬于該用例的事件,而不是發(fā)生在其他用例中或系統(tǒng)外部的事件。避免不明確的術(shù)語(yǔ),如“例如”、“等等”和“信息”事件流在事件流里要對(duì)事件流進(jìn)行結(jié)構(gòu)化說(shuō)明基本事件流描述每個(gè)情節(jié)的行為者:目標(biāo)語(yǔ)句對(duì)的順序假設(shè)之前的每一步都是成功的備選事件流異常情況對(duì)于異常中的異常,用更長(zhǎng)的前綴標(biāo)記更深一層的失敗情節(jié)非功能需求(URPS)可用性(Usability)可靠性(Reliability)性能(Performance)可支持性(Supportability)設(shè)計(jì)約束用Oracle數(shù)據(jù)庫(kù)平臺(tái),用PB開(kāi)發(fā)…軟件必須符合ISO×××標(biāo)準(zhǔn)……本質(zhì)上不是需求,只是從商業(yè)、行政、技術(shù)上的約束特殊需求前置、后置條件前置條件約束在用例開(kāi)始前系統(tǒng)的狀態(tài)把它們看做是看門(mén)人,它阻止參與者觸發(fā)該用例直到滿足所有條件說(shuō)明在用例觸發(fā)之前什么必須為真后置條件約束用例執(zhí)行后系統(tǒng)的狀態(tài)用例執(zhí)行后什么必須為真對(duì)于有多個(gè)事件流的用例,則應(yīng)該有多個(gè)后置條件術(shù)語(yǔ)是不同專(zhuān)業(yè)領(lǐng)域中的專(zhuān)用語(yǔ),非本專(zhuān)業(yè)的人不能理解,為便于不同的人員理解和交流,需要對(duì)術(shù)語(yǔ)進(jìn)行解釋和定義。術(shù)語(yǔ)表的每一項(xiàng)都定義了一個(gè)術(shù)語(yǔ),定義可長(zhǎng)可短;術(shù)語(yǔ)表可以讓查看軟件開(kāi)發(fā)產(chǎn)品的人覺(jué)得行話不再神秘。詞匯表詞匯表用例規(guī)約示例用例編號(hào)UC03用例名稱(chēng)記錄時(shí)間日志用例概述開(kāi)發(fā)人員可以隨時(shí)記錄自己的時(shí)間,提供“開(kāi)始計(jì)時(shí)”、“暫停計(jì)時(shí)”、“停止計(jì)時(shí)”等功能,在停止時(shí),填入任務(wù)編號(hào)(在線則選擇)、工作關(guān)鍵字(以逗號(hào)分隔的多個(gè)),自動(dòng)生成開(kāi)始時(shí)間、暫停時(shí)間、停止時(shí)間、總時(shí)長(zhǎng)、有效時(shí)長(zhǎng)(總時(shí)長(zhǎng)-中斷時(shí)長(zhǎng))。主參與者開(kāi)發(fā)人員前置條件用戶進(jìn)入“記錄時(shí)間日志”程序后置條件將本次時(shí)間日志存入數(shù)據(jù)庫(kù)基本事件流步驟活動(dòng)1系統(tǒng)顯示“開(kāi)始”、“暫停”和“停止”按鈕,但僅“開(kāi)始”可用2用戶點(diǎn)擊“開(kāi)始”,系統(tǒng)記錄開(kāi)始時(shí)間,并將“開(kāi)始”置為不可用,使“暫?!焙汀巴V埂卑粹o可用3用戶點(diǎn)擊“停止”按鈕,系統(tǒng)記錄停止時(shí)間,并統(tǒng)計(jì)暫時(shí)時(shí)間、暫停次數(shù)、總時(shí)長(zhǎng)、有效時(shí)長(zhǎng),并要求用戶選擇任務(wù)編號(hào)、輸入工作關(guān)鍵字和相關(guān)信息。填寫(xiě)完成后,點(diǎn)擊確定,用例完成。擴(kuò)展事件流3a在此期間,若用戶點(diǎn)擊“暫?!卑粹o,系統(tǒng)則記錄暫停開(kāi)始時(shí)間,并使暫停次數(shù)增加1次,并使“暫?!卑粹o變?yōu)椤盎謴?fù)”,使“停用”按鈕不可用3a1當(dāng)用戶點(diǎn)擊“恢復(fù)”按鈕,用當(dāng)前時(shí)間減去暫停開(kāi)始時(shí)間得到本次暫停時(shí)間,并累加到“暫停時(shí)間”時(shí)間中,并使“恢復(fù)”按鈕變?yōu)椤皶和!?,使“停用”按鈕恢復(fù)可用規(guī)則與約束時(shí)間記錄程序應(yīng)以離線式工作,該程序會(huì)自動(dòng)連接服務(wù)器,完成時(shí)間日志上傳的工作,如果未能連接服務(wù)器,則在本機(jī)暫存時(shí)間日志關(guān)聯(lián)關(guān)系表示參與者和用例之間的通信。用例與其參與者之間的關(guān)聯(lián)關(guān)系用帶箭頭的直線表示。用例與其參與者之間的關(guān)聯(lián)任何用例都不能在缺少參與者的情況下存在;任何參與者也必須要有與之關(guān)聯(lián)的用例。用例與用例之間的關(guān)系

<<include>><<extend>>泛化包含擴(kuò)展用例除了與其參與者發(fā)生關(guān)聯(lián)外,用例之間具有多種關(guān)系,這些關(guān)系包括包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系等。如果系統(tǒng)中一個(gè)或多個(gè)用例是某個(gè)一般用例的特殊化時(shí),就需要使用用例的泛化關(guān)系。在UML中,用例泛化與其他泛化關(guān)系的表示法相同,用一個(gè)三角箭頭從子用例指向父用例。用例與用例之間的關(guān)系→泛化關(guān)系用例與用例之間的關(guān)系→泛化關(guān)系泛化——同一業(yè)務(wù)目的不同技術(shù)實(shí)現(xiàn)用例與用例之間的關(guān)系→泛化關(guān)系用例與用例之間的關(guān)系→包含關(guān)系<<include>><<include>><<include>>用例與用例之間的關(guān)系→包含關(guān)系用例的包含關(guān)系是把一件事情劃分為多個(gè)步驟處理包含關(guān)系把幾個(gè)用例的公共步驟分離成一個(gè)單獨(dú)的被包含用例。被包含用例稱(chēng)作提供者用例(基本用例),包含用例稱(chēng)作客戶用例,提供者用例提供功能給客戶使用。用例與用例之間的關(guān)系→包含關(guān)系用例與用例之間的關(guān)系→包含關(guān)系用例與用例之間的關(guān)系→包含關(guān)系用例與用例之間的關(guān)系→擴(kuò)展關(guān)系用例與用例之間的關(guān)系→擴(kuò)展關(guān)系<<extend>>擴(kuò)展關(guān)系是把新的行為插入到已有用例中的方法。一個(gè)用例也可以被定義為基礎(chǔ)用例的增量擴(kuò)展,這稱(chēng)作擴(kuò)展關(guān)系;在UML中,擴(kuò)展關(guān)系表示為虛線箭頭加<<extend>>字樣,箭頭指向被擴(kuò)展的用例(即基礎(chǔ)用例)。基礎(chǔ)用例的擴(kuò)展增加了原有的語(yǔ)義,此時(shí)是基礎(chǔ)用例而不是擴(kuò)展用例被作為例子使用。用例與用例之間的關(guān)系→擴(kuò)展關(guān)系基礎(chǔ)用例不必知道擴(kuò)展用例的任何細(xì)節(jié),它僅為其提供擴(kuò)展點(diǎn)。基礎(chǔ)用例即使沒(méi)有擴(kuò)展用例也是完整的。只有特定的條件發(fā)生,擴(kuò)展用例才被執(zhí)行。擴(kuò)展關(guān)系為處理異?;驑?gòu)建靈活的系統(tǒng)框架提供了一種十分有效的方法。用例與用例之間的關(guān)系→擴(kuò)展關(guān)系使用Rose繪制用例圖⑴創(chuàng)建用例圖一般情況下,用例圖是UML中要繪制的第一個(gè)圖。在用Rose創(chuàng)建所用的模型之前,首先要新建一個(gè)工程。新建工程可以點(diǎn)擊【File→New】菜單項(xiàng)。使用Rose創(chuàng)建用例圖使用Rose繪制用例圖⑴創(chuàng)建用例圖

打開(kāi)RationalRose后,在UseCaseView圖標(biāo)上單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇New|UseCaseDiagram命令建立新的用例圖。菜單項(xiàng)功能包含選項(xiàng)OpenSpecification…打開(kāi)屬性說(shuō)明New新建UML元素Package(包)UseCase(用例)Actor(角色)Class(類(lèi))UseCaseDiagram(用例圖)ClassDiagram(類(lèi)圖)CollaborationDiagram(協(xié)作圖)SequenceDiagram(時(shí)序圖)StatechartDiagram(狀態(tài)圖)ActivityDiagram(活動(dòng)圖)使用Rose繪制用例圖⑴創(chuàng)建用例圖

創(chuàng)建新的用例圖后,在UseCaseView樹(shù)型結(jié)構(gòu)下多了一個(gè)名為NewDiagram的圖標(biāo),這個(gè)圖標(biāo)就是新建的用例圖圖標(biāo)。右鍵單擊此圖標(biāo),在彈出的快捷菜單中選擇Rename命令來(lái)為新創(chuàng)建的用例圖命名。使用Rose繪制用例圖⑴創(chuàng)建用例圖雙擊用例圖圖標(biāo),會(huì)出現(xiàn)用例圖的編輯工具欄和編輯區(qū)。⑵

用例圖工具箱按鈕簡(jiǎn)介圖標(biāo)作用選擇一項(xiàng)添加文本框添加注釋將圖中的元素與注釋相連包用例參與者單向關(guān)聯(lián)關(guān)系依賴(lài)和實(shí)例化(包括擴(kuò)展、使用關(guān)系等)泛化關(guān)系關(guān)聯(lián)關(guān)系使用Rose繪制用例圖⑶工具欄的定制①選擇菜單views|Toolbars|Configure…②點(diǎn)擊鼠標(biāo)右鍵…使用Rose繪制用例圖⑷添加參與者與用例①繪制參與者要?jiǎng)?chuàng)建參與者,首先要單擊用例圖工具欄中的圖標(biāo),然后在用例圖編輯區(qū)內(nèi)單擊畫(huà)出參與者。接下來(lái)可以對(duì)這個(gè)參與者命名,單擊已畫(huà)出的參與者,會(huì)彈出如下對(duì)話框。

使用Rose繪制用例圖⑷添加參與者與用例①繪制參與者對(duì)于一個(gè)完整的用例圖來(lái)說(shuō),參與者往往不只一個(gè),這就需要?jiǎng)?chuàng)建參與者之間的關(guān)系。

使用Rose繪制用例圖⑷添加參與者與用例②繪制用例單擊工具欄中的圖標(biāo),然后在用例圖編輯區(qū)內(nèi)單擊鼠標(biāo)左鍵畫(huà)出用例。單擊已畫(huà)出的用例,彈出如圖如下所示的對(duì)話框。

使用Rose繪制用例圖

⑸添加參與者與用例之間的關(guān)系使用Rose繪制用例圖⑹添加用例之間的關(guān)系

①包含關(guān)系單擊用例圖工具欄中的圖標(biāo),然后在需要?jiǎng)?chuàng)建包含關(guān)系的兩個(gè)用例之間拖動(dòng)鼠標(biāo),雙擊虛線段,彈出如下對(duì)話框。用例之間的包含關(guān)系

使用Rose繪制用例圖⑹添加用例之間的關(guān)系②擴(kuò)展關(guān)系

使用Rose繪制用例圖⑹添加用例之間的關(guān)系

③泛化關(guān)系

使用Rose繪制用例圖⑹添加用例之間的關(guān)系

③泛化關(guān)系

基于用例的需求分析過(guò)程1.獲取原始需求2.開(kāi)發(fā)一個(gè)可以理解的需求2.1識(shí)別參與者2.2識(shí)別用例2.3構(gòu)建用例圖3詳細(xì)、完整地描述需求進(jìn)行用例闡述4重構(gòu)用例模型4.1識(shí)別用例間的關(guān)系4.2對(duì)用例進(jìn)行組織和分包實(shí)例:圖書(shū)管理系統(tǒng)1.確定系統(tǒng)需求圖書(shū)管理系統(tǒng)能夠?qū)D書(shū)進(jì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)論