RationalRose用例圖及其應用_第1頁
RationalRose用例圖及其應用_第2頁
RationalRose用例圖及其應用_第3頁
RationalRose用例圖及其應用_第4頁
RationalRose用例圖及其應用_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、用例圖及其應用用例圖及其應用 1內(nèi)內(nèi) 容容n基本概念基本概念 n關(guān)系及其應用關(guān)系及其應用 n參與者規(guī)范及應用參與者規(guī)范及應用n用例規(guī)范及應用用例規(guī)范及應用 n用例視圖用例視圖 2n畫好用例圖(畫好用例圖(Use Case Diagrams)是由軟是由軟件需求到最終實現(xiàn)的第一步,在件需求到最終實現(xiàn)的第一步,在UML中用例中用例圖用于對系統(tǒng)、子系統(tǒng)或類的行為的可視化,圖用于對系統(tǒng)、子系統(tǒng)或類的行為的可視化,以便使系統(tǒng)的用戶更容易理解這些元素的用以便使系統(tǒng)的用戶更容易理解這些元素的用途,也便利了軟件開發(fā)人員最終實現(xiàn)這些元途,也便利了軟件開發(fā)人員最終實現(xiàn)這些元素。素。 n用例用例是能夠幫助分析員和用戶

2、確定系統(tǒng)使用是能夠幫助分析員和用戶確定系統(tǒng)使用情況的情況的UML組件。組件。一組用例一組用例就是從用戶的角就是從用戶的角度出發(fā)對如何使用系統(tǒng)的描述。度出發(fā)對如何使用系統(tǒng)的描述。一、用例圖概述一、用例圖概述 3nUML中的用例圖描述了一組用例、參與中的用例圖描述了一組用例、參與者以及它們之間的關(guān)系。用例圖包括以者以及它們之間的關(guān)系。用例圖包括以下下3方面內(nèi)容。方面內(nèi)容。n(1)用例()用例(Use Case)n(2)參與者(參與者(Actor)n(3)依賴、泛化以及關(guān)聯(lián)關(guān)系依賴、泛化以及關(guān)聯(lián)關(guān)系41 基本概念基本概念 n1.1 參與者參與者 定義定義 是直接與系統(tǒng)相互作用的系統(tǒng)、子系統(tǒng)或類的外部

3、實體的抽象。它是用戶所扮演的角色,是系統(tǒng)的用戶。每個參與者定義了一個角色集合。通常,一個參與者可以代表一個人、一個計算機子系統(tǒng)、硬件設備或者時間等角色。典型的參與者如銷售部經(jīng)理、銷售員和結(jié)帳系統(tǒng)。 圖形表示圖形表示 用小人圖符表示 1 基本概念基本概念 5n1.1 參與者參與者 參與者的識別 誰將使用系統(tǒng)的主要功能? 誰將需要系統(tǒng)的支持來完成他們的日常任務? 誰必須維護、管理和確保系統(tǒng)正常工作? 誰將給系統(tǒng)提供信息、使用信息和刪除信息? 系統(tǒng)需要處理哪些硬件設備? 系統(tǒng)使用了外部資源嗎? 系統(tǒng)需要與其他什么系統(tǒng)交互嗎? 誰或者什么對系統(tǒng)產(chǎn)生的結(jié)果感興趣? 一個人同時使用幾種不同的規(guī)則嗎? 幾個

4、人使用相同的規(guī)則嗎? 系統(tǒng)使用遺留下來的應用嗎?1 基本概念基本概念 61 基本概念基本概念 n1.2 用例用例 定義定義 對一組動作序列的描述,系統(tǒng)通過執(zhí)行這一組動作序列為參與者產(chǎn)生一個可觀察的結(jié)果 用例特征 說明了系統(tǒng)具有的一種行為模式 說明了一個參與者與系統(tǒng)執(zhí)行的一個相關(guān)的事務序列 提供了一種獲取系統(tǒng)需求的方法 提供了一種與最終的用戶和領域?qū)<疫M行溝通的方法 提供了一種測試系統(tǒng)的方法 圖形表示圖形表示 用橢圓形表示,用例的名字顯示在圖標的下面 Purchase Ticket7n1.2 用例用例 用例識別用例識別 參與者要向系統(tǒng)請求什么功能? 每個參與者的特定任務是什么? 參與者需要讀取、

5、創(chuàng)建、撤消、修改、或存儲系統(tǒng)的某些信息嗎? 是否任何一個參與者都要向系統(tǒng)通知有關(guān)突發(fā)性的、外部的改變?或者必須通知參與者關(guān)于系統(tǒng)中的發(fā)生的事件? 這些事件代表了哪些功能? 系統(tǒng)需要哪些輸入/輸出? 這些輸入輸出來自哪里或者到哪里去? 哪些用例支持或維護系統(tǒng)? 是否所有功能需求都被用例使用了? 系統(tǒng)當前實現(xiàn)的主要問題是什么? 1 基本概念基本概念 8n1.3 事件流事件流 事件流是用例完成需求行為的事件描述。 事件流的目的是建立用例中邏輯流程的文檔,詳細描述系統(tǒng)用戶的工作和系統(tǒng)本身的工作,既包括正常狀態(tài)下系統(tǒng)完成需求行為的事件,也包括在其他狀態(tài)下不能完成需求行為的事件。 事件流通常包括: 簡要說

6、明 前置條件 事件流 后置條件 1 基本概念基本概念 9n1.4 用例模型用例模型 一個用例模型由一個或者多個用例圖和所有的支持文件(諸如用例規(guī)范和參與者定義等)所構(gòu)成。用例規(guī)范是大多數(shù)用例模型的產(chǎn)物,而用例圖充當將需求模型綜合在一起的粘膠劑。用例模型應當從項目投資者的角度進行開發(fā),而不是從開發(fā)者的(通常是技術(shù))觀點去開發(fā)。 1 基本概念基本概念 10 關(guān)系反應了參與者和用例之間、用例和用例之間以及參與者和參與者之間的相互作用。 在一個用例圖中,可能會出現(xiàn)關(guān)聯(lián)關(guān)系、依賴關(guān)系、泛化關(guān)系以及這三種關(guān)系的擴展形式:擴展關(guān)系、包含關(guān)系和精化關(guān)系。 2 關(guān)系及其應用關(guān)系及其應用 11n2.1 關(guān)聯(lián)關(guān)系關(guān)

7、聯(lián)關(guān)系 關(guān)聯(lián)關(guān)系表示一種通信路徑,它存在于參與者和用例之間,提供用例和參與者之間的通信途徑。建立通信之后,信息可以雙向流動。 關(guān)系方向顯示的不是信息的流動方向,而是誰啟動信息。 2 關(guān)系及其應用關(guān)系及其應用 122 關(guān)系及其應用關(guān)系及其應用 n2.1 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 表示 工具箱中:一個直角直線 模型圖中:一條直線或者一條帶箭頭的直線 關(guān)聯(lián)命名 一個動詞或者一個動詞短語,用于指明關(guān)系的類型或者目的。 關(guān)聯(lián)關(guān)系表示通信途徑 13n2.1 關(guān)聯(lián)關(guān)系關(guān)聯(lián)關(guān)系 在用例圖中,通常存在兩種類型的關(guān)聯(lián): 單向關(guān)聯(lián) 雙向關(guān)聯(lián) Actor1 與 UseCase1Actor2 與 UseCase12 關(guān)系及其應

8、用關(guān)系及其應用 14n2.2 依賴關(guān)系依賴關(guān)系 定義 存在于兩個模型要素之間的一種關(guān)系,其中一個模型要素的改變將影響另一個模型要素 表示方法 工具箱和模型圖中均表示為一個帶箭頭的虛線 畫圖時,拖動鼠標從客戶到提供者畫出關(guān)聯(lián)關(guān)系 2 關(guān)系及其應用關(guān)系及其應用 15n2.3 泛化關(guān)系泛化關(guān)系 定義 在一個更一般的模型要素和另一個較具體的模型要素之間存在的一種關(guān)系,通常用于表示類(包括用例、參與者等)之間的繼承關(guān)系 表示方法 工具箱中: 模型圖中:一條帶空心三角形箭頭的實線(箭頭方向從具體用例指向一般用例) 2 關(guān)系及其應用關(guān)系及其應用 16n2.3 泛化關(guān)系泛化關(guān)系 用例之間的泛化關(guān)系 參與者之間

9、的泛化關(guān)系2 關(guān)系及其應用關(guān)系及其應用 17n泛化:泛化: 在用例繼承中,子用例可以從父用例在用例繼承中,子用例可以從父用例繼承行為和含義,還可以增加自己的行繼承行為和含義,還可以增加自己的行為。為。 任何父用例出現(xiàn)的地方子用例也可任何父用例出現(xiàn)的地方子用例也可以出現(xiàn)。以出現(xiàn)。18n如果一臺飲料銷售機建模,這臺銷售機允許顧如果一臺飲料銷售機建模,這臺銷售機允許顧客選擇買一罐飲料或者買一杯飲料??瓦x擇買一罐飲料或者買一杯飲料。Buy SodaBuy Soda就是一個父用例就是一個父用例 Buy a can of Soda Buy a can of Soda 和和Buy a Buy a cup o

10、f Sodacup of Soda就是子用例。用例間的泛化關(guān)系就是子用例。用例間的泛化關(guān)系和類間的泛化關(guān)系表示方法相同。和類間的泛化關(guān)系表示方法相同。19n參與者之間也像用例一樣可能存在泛化關(guān)系。參與者之間也像用例一樣可能存在泛化關(guān)系。供應代理(供應代理(supplier agentsupplier agent)供貨代表)供貨代表(RestockerRestocker)收款人()收款人(CollectorCollector)202 關(guān)系及其應用關(guān)系及其應用 n2.4 關(guān)系的擴展關(guān)系的擴展 1)擴展關(guān)系)擴展關(guān)系 擴展關(guān)系可以放置在所有的關(guān)系上,大多數(shù)擴展構(gòu)造型都放置在依賴關(guān)系和關(guān)聯(lián)關(guān)系上 擴展

11、關(guān)系用帶箭頭的虛線表示,沿線上加一個用雙尖括號括起來的“extend” 212 關(guān)系及其應用關(guān)系及其應用 n2.4 關(guān)系的擴展關(guān)系的擴展 包含關(guān)系包含關(guān)系 是一種構(gòu)造型關(guān)系,它將一個基用例連接到一個包含用例 UML1.1中為使用關(guān)系,在1.3中改為包含關(guān)系 包含關(guān)系在一個用例中重用另一個用例中的步驟 包含關(guān)系用帶箭頭的虛線表示,沿線上加一個用雙尖括號括起來的“include” 22n包含關(guān)系:包含關(guān)系: 用例間的包含關(guān)系使用虛線用例間的包含關(guān)系使用虛線+ +箭頭表箭頭表示,并加入構(gòu)造型示,并加入構(gòu)造型includeinclude23n2.4 關(guān)系的擴展關(guān)系的擴展 使用包含關(guān)系的三種情況: a.

12、如果有多個用例,并且這些用例包含大量類似的行為,應該考慮將這些類似的行為通過包含關(guān)系包含到用例中 b.對兩個或多個互相獨立的用例建模時做了重復的工作,可以通過包含關(guān)系包含這些重復的工作 c.如果某個行為可能會引入冗余,或者,當行為發(fā)生變化時可能導致不一致性,這時,應該對這種行為進行孤立建模并將它包含到用例中 2 關(guān)系及其應用關(guān)系及其應用 24n2.4 關(guān)系的擴展關(guān)系的擴展 包含關(guān)系舉例2 關(guān)系及其應用關(guān)系及其應用 2526n2.4 關(guān)系的擴展關(guān)系的擴展 精化關(guān)系精化關(guān)系 精化關(guān)系在不同的語義層或者開發(fā)階段連接兩個或者多個模型要素。它表示了某些在一個特定的細節(jié)層次上規(guī)定的東西的更加全面的規(guī)格說明

13、。例如,一個設計類就是一個分析類的一種精化。在一個精化關(guān)系中,源模型要素是一般的,在定義上更加概括;而目標模型要素更加具體并得到了進一步的精化。 2 關(guān)系及其應用關(guān)系及其應用 2728總結(jié):用例模型的表示法總結(jié):用例模型的表示法n用例是參與者發(fā)起的,參與者(也許是發(fā)起者,用例是參與者發(fā)起的,參與者(也許是發(fā)起者,但不是必須的)能夠從用例的執(zhí)行中獲得有價但不是必須的)能夠從用例的執(zhí)行中獲得有價值的事物。值的事物。n用例分析的優(yōu)點在于它能夠展現(xiàn)出系統(tǒng)和外部用例分析的優(yōu)點在于它能夠展現(xiàn)出系統(tǒng)和外部世界之間的邊界。參與者是典型的系統(tǒng)外部實世界之間的邊界。參與者是典型的系統(tǒng)外部實體,而用例是典型地屬于系

14、統(tǒng)內(nèi)部。體,而用例是典型地屬于系統(tǒng)內(nèi)部。n參與者,用例和互連線共同組成了用例模型參與者,用例和互連線共同組成了用例模型(use case modeluse case model)29n每個用例是一組場景的集合,而每個場每個用例是一組場景的集合,而每個場景又是一個步驟序列。景又是一個步驟序列。n用例圖的場景的文檔,每個用例中的場用例圖的場景的文檔,每個用例中的場景描述通常要描述下列的內(nèi)容:景描述通常要描述下列的內(nèi)容: 發(fā)起用例的參與者,用例的假設發(fā)起用例的參與者,用例的假設條件,用例中的前置條件,場景中的步條件,用例中的前置條件,場景中的步驟,場景完成后的后置條件,從用例中驟,場景完成后的后置條

15、件,從用例中獲益的參與者。獲益的參與者。30n分組:分組: 在一些用例中,用例的數(shù)目可能非在一些用例中,用例的數(shù)目可能非常多,這個就需要組織這些用例。這種常多,這個就需要組織這些用例。這種情況在一個系統(tǒng)包含很多個子系統(tǒng)時就情況在一個系統(tǒng)包含很多個子系統(tǒng)時就會出現(xiàn)。會出現(xiàn)。 還可以把相關(guān)的用例放在一個包中還可以把相關(guān)的用例放在一個包中31在建模參與者過程中,注意:在建模參與者過程中,注意:n1 1、參與者對于系統(tǒng)而言總是外部的,因此它們在你的、參與者對于系統(tǒng)而言總是外部的,因此它們在你的控制之外??刂浦?。n2 2、參與者直接同系統(tǒng)交互,這可以幫助定義系統(tǒng)邊界、參與者直接同系統(tǒng)交互,這可以幫助定

16、義系統(tǒng)邊界n3 3、參與者表示人和事物與系統(tǒng)發(fā)生交互時所扮演的角、參與者表示人和事物與系統(tǒng)發(fā)生交互時所扮演的角色,而不是特定的人或者特定的事物。色,而不是特定的人或者特定的事物。n4 4、一個人或者事物在與系統(tǒng)發(fā)生交互的時候,可以同、一個人或者事物在與系統(tǒng)發(fā)生交互的時候,可以同時或者不同時扮演多個角色。時或者不同時扮演多個角色。n5 5、每一個參與者需要有一個具有業(yè)務一樣的名字。、每一個參與者需要有一個具有業(yè)務一樣的名字。n6 6、每個參與者必須有簡短的描述,從業(yè)務角度描述參、每個參與者必須有簡短的描述,從業(yè)務角度描述參與者是什么。與者是什么。n7 7、像類一樣,參與者可以具有分欄,表示參與者

17、屬性、像類一樣,參與者可以具有分欄,表示參與者屬性和他可以接受的事件。和他可以接受的事件。32識別用例識別用例 n識別用例最好的辦法就是從分析系統(tǒng)的參與者開識別用例最好的辦法就是從分析系統(tǒng)的參與者開始,考慮每個參與者是怎樣使用系統(tǒng)。使用這種始,考慮每個參與者是怎樣使用系統(tǒng)。使用這種策略的過程中可能會找出一個新的參與者,這對策略的過程中可能會找出一個新的參與者,這對完善整個系統(tǒng)建模很有幫助。完善整個系統(tǒng)建模很有幫助。n在識別用例的過程中,通過以下的幾個問題可以在識別用例的過程中,通過以下的幾個問題可以幫助識別用例:幫助識別用例:n(1)特定參與者希望系統(tǒng)提供什么功能?)特定參與者希望系統(tǒng)提供什么

18、功能?n(2)系統(tǒng)是否存儲和檢索信息?如果是,這個)系統(tǒng)是否存儲和檢索信息?如果是,這個行為由哪個參與者觸發(fā)行為由哪個參與者觸發(fā)?n(3)當系統(tǒng)改變狀態(tài)時,通知參與者嗎?)當系統(tǒng)改變狀態(tài)時,通知參與者嗎?n(4)存在影響系統(tǒng)的外部事件嗎?)存在影響系統(tǒng)的外部事件嗎?n(5)是哪個參與者通知系統(tǒng)這些事件?)是哪個參與者通知系統(tǒng)這些事件?33用例與事件流用例與事件流 n用例分析是處于系統(tǒng)的需求分析階段,這個階段用例分析是處于系統(tǒng)的需求分析階段,這個階段應該盡量的避免去考慮系統(tǒng)實現(xiàn)的細節(jié)問題。也應該盡量的避免去考慮系統(tǒng)實現(xiàn)的細節(jié)問題。也就是說,用例描述的是一個系統(tǒng)做什么,而不是就是說,用例描述的是一

19、個系統(tǒng)做什么,而不是怎么做。怎么做。n可以通過一個清晰的,易被用戶理解的事件流來可以通過一個清晰的,易被用戶理解的事件流來說明一個用例的行為。這個事件流包括用例何時說明一個用例的行為。這個事件流包括用例何時開始和結(jié)束,用例何時和參與者交互,什么對象開始和結(jié)束,用例何時和參與者交互,什么對象被交互以及該行為的基本流和可選流。被交互以及該行為的基本流和可選流。34四、用例圖建模技術(shù)四、用例圖建模技術(shù) 對語境建模對語境建模 對系統(tǒng)語境建模可以參考如下方法。對系統(tǒng)語境建模可以參考如下方法。n(1 1)得出需要從系統(tǒng)中得到幫助的組;執(zhí)行系統(tǒng))得出需要從系統(tǒng)中得到幫助的組;執(zhí)行系統(tǒng)功能必須的組;與外界進行

20、交互的組;執(zhí)某些輔助功能必須的組;與外界進行交互的組;執(zhí)某些輔助功能的組,并由此來識別系統(tǒng)外部的參與者。功能的組,并由此來識別系統(tǒng)外部的參與者。n(2 2)將類似的參與者組織成泛化的關(guān)系中。)將類似的參與者組織成泛化的關(guān)系中。n(3 3)如需加深理解,可以為參與者提供構(gòu)造型。)如需加深理解,可以為參與者提供構(gòu)造型。n(4 4)說明用例圖中參與者和用例間的通信路徑。)說明用例圖中參與者和用例間的通信路徑。35對需求建模對需求建模 軟件需求就是根據(jù)用戶對產(chǎn)品的功能的期望,提出產(chǎn)品外部功軟件需求就是根據(jù)用戶對產(chǎn)品的功能的期望,提出產(chǎn)品外部功能的描述。需求分析師的工作是獲取系統(tǒng)的需求,歸納系統(tǒng)所能的描

21、述。需求分析師的工作是獲取系統(tǒng)的需求,歸納系統(tǒng)所要實現(xiàn)的功能,使最終的軟件產(chǎn)品最大限度的貼近用戶的要求。要實現(xiàn)的功能,使最終的軟件產(chǎn)品最大限度的貼近用戶的要求。 對系統(tǒng)功能建模可以參考如下方法:對系統(tǒng)功能建??梢詤⒖既缦路椒ǎ簄(1)識別系統(tǒng)外部的參與者,從而建立系統(tǒng)的語境。)識別系統(tǒng)外部的參與者,從而建立系統(tǒng)的語境。n(2)考慮每一個參與者期望的行為或需要系統(tǒng)提供的行為。)考慮每一個參與者期望的行為或需要系統(tǒng)提供的行為。n(3)把公共行為命名為用例。)把公共行為命名為用例。n(4)確定供其他用例使用的用例和擴展其他用例的用例。)確定供其他用例使用的用例和擴展其他用例的用例。n(5)在用例圖中

22、對這些用例、參與者和它們間的關(guān)系建模。)在用例圖中對這些用例、參與者和它們間的關(guān)系建模。n(6)用描述非功能需求的注釋修飾用例圖。)用描述非功能需求的注釋修飾用例圖。 3637n3.1 參與者規(guī)范參與者規(guī)范 Rose在實現(xiàn)中對參與者和類使用相同的規(guī)范窗口,包括如下一些標簽: General Detail Operations Attributes Relations Components Nested Files 3 參與者規(guī)范及應用參與者規(guī)范及應用 383 參與者規(guī)范及應用參與者規(guī)范及應用 n3.1 參與者規(guī)范參與者規(guī)范 General標簽 Name Stereotype Documenta

23、tion 393 參與者規(guī)范及應用參與者規(guī)范及應用 n3.1 參與者規(guī)范參與者規(guī)范 Detail標簽 Multiplicity (參與者基數(shù)) Abstract(抽象參與者) 基數(shù)基數(shù)含義含義0.000.10或者或者10.n0或者多或者多1.111.n1或者多或者多n許多許多403 參與者規(guī)范及應用參與者規(guī)范及應用 n3.1 參與者規(guī)范參與者規(guī)范 Relations標簽 列出了參與者參與的所有關(guān)系。包括參與者與用例、參與者與其他參與者的一切關(guān)系 41n3.2 參與者的操作參與者的操作 1)增加參與者)增加參與者 2)刪除參與者)刪除參與者 3 參與者規(guī)范及應用參與者規(guī)范及應用 42n4.1 用例規(guī)范用例

溫馨提示

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

評論

0/150

提交評論