第03章 用例和用例圖_第1頁
第03章 用例和用例圖_第2頁
第03章 用例和用例圖_第3頁
第03章 用例和用例圖_第4頁
第03章 用例和用例圖_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3章章 用例和用例圖用例和用例圖面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML23.1 用例用例用例(use case)是Ivar Jacobson發(fā)明的. 其它的中文譯名有: 用況、用案等.定義1: 用例是對一個活動者(actor)使用系統(tǒng)的一項功能時所進(jìn)行的交互過程的一個文字描述序列.定義2: 用例是系統(tǒng)、子系統(tǒng)或類和外部參與者交互的動作序列的說明, 包括可選的動作序列和會出現(xiàn)異常的動作序列.用例是代表系統(tǒng)中各個項目相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約, 軟件開發(fā)過程是用例驅(qū)動的.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML33.1 用例用例UML中用例用橢圓表示

2、, 使用動賓結(jié)構(gòu)或主謂結(jié)構(gòu)命名.例: 字處理程序中, “置正文為黑體”和”創(chuàng)建索引”都可以是用例.例: 在一個銀行業(yè)務(wù)系統(tǒng)中可能有如右的用例 瀏覽賬戶余額瀏覽賬戶余額 列出交易內(nèi)容列出交易內(nèi)容 劃撥資金劃撥資金 面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML43.1 用例用例使用用例進(jìn)行需求分析的特點:用例從使用系統(tǒng)的角度描述系統(tǒng)中的信息用例從使用系統(tǒng)的角度描述系統(tǒng)中的信息.用例描述用戶提出的一些可見需求用例描述用戶提出的一些可見需求, 對應(yīng)一個具體的用戶目標(biāo)對應(yīng)一個具體的用戶目標(biāo).用例是對系統(tǒng)行為的描述用例是對系統(tǒng)行為的描述, 屬于屬于UML的動態(tài)建模部分的動態(tài)建模部分.使用用例時

3、注意的問題:不要將所有的需求都以用例的形式表示出來不要將所有的需求都以用例的形式表示出來.用例只描述系統(tǒng)功能性方面的需求用例只描述系統(tǒng)功能性方面的需求, 它只量全部需求的一部分它只量全部需求的一部分.本質(zhì)上用例分析是功能分解技術(shù)本質(zhì)上用例分析是功能分解技術(shù), 但目前是但目前是OO開發(fā)的第一步開發(fā)的第一步.用例是與實現(xiàn)無關(guān)的關(guān)于系統(tǒng)功能的描述用例是與實現(xiàn)無關(guān)的關(guān)于系統(tǒng)功能的描述.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML53.2 參與者參與者參與者參與者(actor)是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的事物交互的事物, 包括包括: 人、設(shè)備

4、、外部系統(tǒng)等人、設(shè)備、外部系統(tǒng)等. 其它譯名有其它譯名有: 活動者、執(zhí)行者、行動者等活動者、執(zhí)行者、行動者等.例:一個銀行業(yè)務(wù)系統(tǒng)中的參與者例:一個銀行業(yè)務(wù)系統(tǒng)中的參與者客戶:從系統(tǒng)獲取住處并執(zhí)行金融交易客戶:從系統(tǒng)獲取住處并執(zhí)行金融交易管理人員:創(chuàng)建系統(tǒng)的用戶管理人員:創(chuàng)建系統(tǒng)的用戶, 獲取并更新信息獲取并更新信息廠商:接受作為轉(zhuǎn)賬支付結(jié)果的資金廠商:接受作為轉(zhuǎn)賬支付結(jié)果的資金1. Mail系統(tǒng):與系統(tǒng)交互系統(tǒng):與系統(tǒng)交互, 發(fā)送或接收郵件發(fā)送或接收郵件面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML63.2 參與者參與者UML中的中的Actor實際上是一個版型化的類實際上是一個版型

5、化的類, 可以有三種可以有三種表示形式表示形式Icon形式形式Label形式形式Decoration形式形式面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML73.2 參與者參與者由于由于Actor實際上是一個類實際上是一個類, 因此它們之間可以存在因此它們之間可以存在一定的關(guān)系一定的關(guān)系,如:如:面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML83.3 腳本腳本腳本腳本(scenario)在在UML中指貫穿用例的一條單一路徑中指貫穿用例的一條單一路徑, 用用來顯示用例中的某種特殊情況來顯示用例中的某種特殊情況.其它譯名其它譯名: 情景、場景、情節(jié)、劇本情景、場景、情節(jié)、劇本.每

6、個用例有一系列腳本每個用例有一系列腳本, 包括一個主要腳本包括一個主要腳本, 以及幾個以及幾個次要腳本次要腳本. 相對于主要腳本相對于主要腳本, 次要腳本描述了執(zhí)行路徑次要腳本描述了執(zhí)行路徑中的異?;蚩蛇x擇的情況中的異?;蚩蛇x擇的情況.例:在例:在“訂貨訂貨”用例中包括幾個相關(guān)腳本:用例中包括幾個相關(guān)腳本:訂貨順利進(jìn)行的腳本訂貨順利進(jìn)行的腳本;相關(guān)貨源不足時的腳本相關(guān)貨源不足時的腳本;購貨者的信用卡被拒絕時的腳本購貨者的信用卡被拒絕時的腳本;面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML93.4 用例之間的關(guān)系用例之間的關(guān)系用例與參與者之間有關(guān)聯(lián)用例與參與者之間有關(guān)聯(lián)(associa

7、tion)關(guān)系關(guān)系.用例之間的關(guān)系有用例之間的關(guān)系有: 泛化泛化(generalization)、 包含包含(include)、 擴(kuò)展擴(kuò)展(extend)等等.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML103.4.1 泛化關(guān)系泛化關(guān)系泛化關(guān)系代表一般與特殊的關(guān)系泛化關(guān)系代表一般與特殊的關(guān)系, 與繼承類似與繼承類似.在泛化關(guān)系中在泛化關(guān)系中, 子用例繼承了父用例的行為和含義子用例繼承了父用例的行為和含義, 子子用例也可以增加新的行為和含義或覆蓋父用例中的用例也可以增加新的行為和含義或覆蓋父用例中的行為和含義行為和含義.右圖的例子演示了右圖的例子演示了泛化關(guān)系泛化關(guān)系面向?qū)ο蠓治雠c設(shè)

8、計面向?qū)ο蠓治雠c設(shè)計 & UML113.4.1 泛化關(guān)系泛化關(guān)系面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML123.4.2 包含關(guān)系包含關(guān)系包含關(guān)系是指一個用例包含關(guān)系是指一個用例(基本用例基本用例)的行為包含了另一的行為包含了另一個用例個用例(包含用例包含用例)的行為的行為.包含關(guān)系是依賴關(guān)系的版型包含關(guān)系是依賴關(guān)系的版型, 但其含義更多但其含義更多.右圖的例子演示了右圖的例子演示了包含關(guān)系包含關(guān)系注意注意: 箭頭方向為基本用例到包含用例箭頭方向為基本用例到包含用例.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML133.4.2 包含關(guān)系包含關(guān)系面向?qū)ο蠓治雠c設(shè)計

9、面向?qū)ο蠓治雠c設(shè)計 & UML143.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系擴(kuò)展關(guān)系的基本含義與泛化關(guān)系類似擴(kuò)展關(guān)系的基本含義與泛化關(guān)系類似, 但對擴(kuò)展用例但對擴(kuò)展用例有更多限制有更多限制, 即基本用例必須聲明若干即基本用例必須聲明若干”擴(kuò)展點擴(kuò)展點”, 擴(kuò)展用例只能在擴(kuò)展點上增加行為和含義擴(kuò)展用例只能在擴(kuò)展點上增加行為和含義.擴(kuò)展關(guān)系是依賴關(guān)系版型擴(kuò)展關(guān)系是依賴關(guān)系版型.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML15基本用例基本用例( (擴(kuò)展關(guān)系中擴(kuò)展關(guān)系中) )擴(kuò)展用例擴(kuò)展用例( (擴(kuò)展關(guān)系中擴(kuò)展關(guān)系中) )基本用例基本用例( (包含關(guān)系中包含關(guān)系中) )包含用例包含用例( (包含

10、關(guān)系中包含關(guān)系中) )網(wǎng)上購物的部分用例網(wǎng)上購物的部分用例3.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML163.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML173.4.4 幾種關(guān)系的比較幾種關(guān)系的比較泛化和擴(kuò)展表示用例之間的泛化和擴(kuò)展表示用例之間的 “is a”, 包含關(guān)系表示用包含關(guān)系表示用例之間的例之間的“has a”.擴(kuò)展關(guān)系的基本用例是擴(kuò)展關(guān)系的基本用例是 well formed 的的. 一個基本用例一個基本用例執(zhí)行時執(zhí)行時, 可以執(zhí)行或不執(zhí)行擴(kuò)展用例可以執(zhí)行或不執(zhí)行擴(kuò)展用例.包含關(guān)系的基本用例可以不是或是包含關(guān)

11、系的基本用例可以不是或是 well formed 的的. 執(zhí)執(zhí)行基本用例時行基本用例時, 一定會執(zhí)行包含用例一定會執(zhí)行包含用例.需要重復(fù)處理兩個或多個用例時需要重復(fù)處理兩個或多個用例時, 可以考慮包含關(guān)系可以考慮包含關(guān)系.處理正常行為的變型且只是偶而描述時處理正常行為的變型且只是偶而描述時, 可以考慮只可以考慮只使用泛化關(guān)系使用泛化關(guān)系.處理正常行為的變型且希望采用更多控制方式時處理正常行為的變型且希望采用更多控制方式時, 可可以在基本用例中設(shè)置擴(kuò)展點以在基本用例中設(shè)置擴(kuò)展點, 使用擴(kuò)展關(guān)系使用擴(kuò)展關(guān)系.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML183.4.4 幾種關(guān)系的比較幾種

12、關(guān)系的比較關(guān)系類型關(guān)系類型說明說明表示符號表示符號關(guān)聯(lián)關(guān)聯(lián)actor與與use case之間之間泛化泛化actor之間或之間或use case之間之間包含包含use case之間之間擴(kuò)展擴(kuò)展use case之間之間面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML193.5 用例圖用例圖用例圖用例圖(use case diagram)是顯示一組用例、參與者以是顯示一組用例、參與者以及它們之間的關(guān)系的圖及它們之間的關(guān)系的圖.在在UML中中, 一個用例模型若干個用例圖描述一個用例模型若干個用例圖描述.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML20例例: : 金融貿(mào)易系統(tǒng)的用例圖

13、金融貿(mào)易系統(tǒng)的用例圖面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML213.6 用例的描述用例的描述用例描述是指對一個用例的功能進(jìn)行的文字描述用例描述是指對一個用例的功能進(jìn)行的文字描述, 是是參與者與系統(tǒng)交互動作序列的說明參與者與系統(tǒng)交互動作序列的說明.用例描述才是用例的主要部分用例描述才是用例的主要部分, , 是后續(xù)的是后續(xù)的交互圖分析和類圖分析必不可少的部分交互圖分析和類圖分析必不可少的部分. .用例采用自然語言描述參與者與系統(tǒng)的交互行為用例采用自然語言描述參與者與系統(tǒng)的交互行為,要要易于理解易于理解. 其讀者是開發(fā)人員、用戶、項目經(jīng)理、測其讀者是開發(fā)人員、用戶、項目經(jīng)理、測試人員

14、等試人員等.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML223.6 用例的描述用例的描述 用例的目標(biāo)用例的目標(biāo) 用例是怎么啟動的用例是怎么啟動的 參與者與用例之間的消息如何傳送參與者與用例之間的消息如何傳送 用例中除了主路徑外用例中除了主路徑外, 其它路徑是什么其它路徑是什么 用例結(jié)束后系統(tǒng)的狀態(tài)用例結(jié)束后系統(tǒng)的狀態(tài) 其它需要描述的內(nèi)容其它需要描述的內(nèi)容用例描述一般包括的內(nèi)容:用例描述一般包括的內(nèi)容:描述用例時的原則是盡可能寫得描述用例時的原則是盡可能寫得“充分充分”, 而不是形式而不是形式化、完整或漂亮化、完整或漂亮.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML23描

15、述項描述項說明說明用例名稱用例名稱表明用戶的意圖或用例的用途表明用戶的意圖或用例的用途標(biāo)識符標(biāo)識符可選可選惟一標(biāo)識符惟一標(biāo)識符, 便于引用該用例便于引用該用例用例描述用例描述概述用例的幾句話概述用例的幾句話參與者參與者與此用例相關(guān)的參與者與此用例相關(guān)的參與者優(yōu)先級優(yōu)先級一個有序的排列一個有序的排列, 1代表優(yōu)先級最高代表優(yōu)先級最高狀態(tài)狀態(tài)可選可選用例狀態(tài)用例狀態(tài), 可以是可以是: 進(jìn)行中進(jìn)行中, 等待審查等待審查, 通過審查通過審查, 未通過審查未通過審查前置條件前置條件一個條件列表一個條件列表, 這些條件必須在訪問用例前得到滿足這些條件必須在訪問用例前得到滿足后置條件后置條件一個條件列表一個

16、條件列表, 這些條件必須在用例完成之后得到滿足這些條件必須在用例完成之后得到滿足基本操作流程基本操作流程 描述用例中各項工作都順利進(jìn)行時用例的工作方式描述用例中各項工作都順利進(jìn)行時用例的工作方式可選操作流程可選操作流程 描述變異工作方式、出現(xiàn)異?;虬l(fā)生錯誤的情況下的路徑描述變異工作方式、出現(xiàn)異?;虬l(fā)生錯誤的情況下的路徑用例的描述格式用例的描述格式3.6 用例的描述用例的描述面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML24描述項描述項說明說明被泛化的用例被泛化的用例 此用例所泛化的用例列表此用例所泛化的用例列表被包含的用例被包含的用例 此用例所包含的用例列表此用例所包含的用例列表被擴(kuò)

17、展的用例被擴(kuò)展的用例 此用例所擴(kuò)展的用例列表此用例所擴(kuò)展的用例列表修改歷史記錄修改歷史記錄可選可選關(guān)于用例的修改時間、修改原因、修改人的詳細(xì)信息關(guān)于用例的修改時間、修改原因、修改人的詳細(xì)信息問題問題可選可選與此用例的開發(fā)有關(guān)的問題列表與此用例的開發(fā)有關(guān)的問題列表決策決策可選可選關(guān)鍵決策的列表關(guān)鍵決策的列表, 將這些決策信息記錄下來以便維護(hù)時使用將這些決策信息記錄下來以便維護(hù)時使用頻率頻率可選可選參與者訪問此用例的頻率參與者訪問此用例的頻率, 如如: 每日一次每日一次/每月一次等每月一次等用例的描述格式用例的描述格式(續(xù)表續(xù)表)例:用例“處理訂單”的描述 3.6 用例的描述用例的描述面向?qū)ο蠓治?/p>

18、與設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML253.6 用例的描述用例的描述描述用例時易出現(xiàn)的錯誤:描述用例時易出現(xiàn)的錯誤:只描述系統(tǒng)的行為只描述系統(tǒng)的行為, 沒有描述參與者的行為沒有描述參與者的行為只描述參與者的行為只描述參與者的行為, 沒有描述系統(tǒng)的行為沒有描述系統(tǒng)的行為在用例描述中就設(shè)定了對用戶界面的設(shè)計的要求在用例描述中就設(shè)定了對用戶界面的設(shè)計的要求描述過于冗長描述過于冗長面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML26Use case: Withdraw cashActor: customer主事件流:主事件流:儲戶插入儲戶插入ATM卡卡,并輸入密碼并輸入密碼儲戶按儲戶按

19、“取款取款”按鈕按鈕,并輸入并輸入取款數(shù)目取款數(shù)目儲戶取走現(xiàn)金儲戶取走現(xiàn)金/ATM卡卡/收據(jù)收據(jù)(1)儲戶離開儲戶離開Use case: Withdraw cashActor: customer主事件流:主事件流:ATM系統(tǒng)獲得系統(tǒng)獲得ATM卡和密碼卡和密碼設(shè)置交易類型為設(shè)置交易類型為“取款取款”ATM系統(tǒng)獲得取款金額系統(tǒng)獲得取款金額輸出現(xiàn)金、收據(jù)和輸出現(xiàn)金、收據(jù)和ATM卡卡系統(tǒng)復(fù)位系統(tǒng)復(fù)位3.6 用例的描述用例的描述ATM系統(tǒng)系統(tǒng)“取款取款”用例的兩個錯誤描述:用例的兩個錯誤描述:只描述了只描述了actor的行為的行為只描述了只描述了System的行為的行為面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)

20、計 & UML273.6 用例的描述用例的描述Use case: Withdraw cashActor: customer主事件流:主事件流:儲戶通過讀卡機插入儲戶通過讀卡機插入ATM卡卡ATM系統(tǒng)從卡上讀取銀行系統(tǒng)從卡上讀取銀行ID、賬號、加密密碼、賬號、加密密碼, 并通過主銀行并通過主銀行系統(tǒng)驗證銀行系統(tǒng)驗證銀行ID和賬號和賬號儲戶輸入密碼儲戶輸入密碼, ATM系統(tǒng)根據(jù)加密密碼對輸入密碼進(jìn)行驗證系統(tǒng)根據(jù)加密密碼對輸入密碼進(jìn)行驗證儲戶按儲戶按 “取款取款”按鈕按鈕, 并輸入取款數(shù)目并輸入取款數(shù)目, 該數(shù)目應(yīng)該為該數(shù)目應(yīng)該為$5的倍的倍數(shù)數(shù)ATM系統(tǒng)通知主銀行系統(tǒng)系統(tǒng)通知主銀行系統(tǒng),

21、傳遞賬號和金額傳遞賬號和金額, 并接收返回的確并接收返回的確認(rèn)信息和賬戶余額認(rèn)信息和賬戶余額ATM系統(tǒng)輸出現(xiàn)金、系統(tǒng)輸出現(xiàn)金、ATM卡和收據(jù)卡和收據(jù)ATM系統(tǒng)記錄交易到日志文件系統(tǒng)記錄交易到日志文件ATM系統(tǒng)系統(tǒng)“取款取款”用例的正確描述:用例的正確描述:面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML283.7 尋找用例的方法尋找用例的方法找出系統(tǒng)外部的參與者和外部系統(tǒng)找出系統(tǒng)外部的參與者和外部系統(tǒng), 確定系統(tǒng)邊界和范圍確定系統(tǒng)邊界和范圍確定每一個參與者所期望的系統(tǒng)行為確定每一個參與者所期望的系統(tǒng)行為把這些系統(tǒng)行為命名為用例把這些系統(tǒng)行為命名為用例使用泛化、包含、擴(kuò)展等關(guān)系處理系統(tǒng)行

22、為的公共或變使用泛化、包含、擴(kuò)展等關(guān)系處理系統(tǒng)行為的公共或變更部分更部分編制每一個用例的腳本編制每一個用例的腳本繪制用例圖繪制用例圖區(qū)分主要事件流和異常事件流區(qū)分主要事件流和異常事件流, 如果需要如果需要, 可以把異常事可以把異常事件流處理為單獨的用例件流處理為單獨的用例細(xì)化用例圖細(xì)化用例圖, 解決用例間重復(fù)與沖突的問題解決用例間重復(fù)與沖突的問題.用例分析的基本步驟:用例分析的基本步驟:面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML293.7 尋找用例的方法尋找用例的方法 與用戶交互與用戶交互 假設(shè)自己是參與者假設(shè)自己是參與者, 與系統(tǒng)進(jìn)行交互與系統(tǒng)進(jìn)行交互 確定用例和確定參與者不能

23、截然分開確定用例和確定參與者不能截然分開發(fā)現(xiàn)用例的一般原則:發(fā)現(xiàn)用例的一般原則: 參與者的主要任務(wù)是什么參與者的主要任務(wù)是什么? 參與者需要了解系統(tǒng)的什么信息參與者需要了解系統(tǒng)的什么信息? 需要修改系統(tǒng)的什么信息需要修改系統(tǒng)的什么信息? 參與者是否需要把系統(tǒng)外部的變化通知系統(tǒng)參與者是否需要把系統(tǒng)外部的變化通知系統(tǒng)? 參與者是否希望系統(tǒng)把異常情況通知自己參與者是否希望系統(tǒng)把異常情況通知自己?Jacobson提供的一些原則提供的一些原則:面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML303.8 常見問題分析常見問題分析(1) 用例的粒度問題用例的粒度問題 對于一個目標(biāo)系統(tǒng)進(jìn)行用例分析后得

24、到的用對于一個目標(biāo)系統(tǒng)進(jìn)行用例分析后得到的用例數(shù)目有多少比較合適例數(shù)目有多少比較合適?面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML313.8 常見問題分析常見問題分析(2) 用例的分解用例的分解/合并合并 系統(tǒng)中相似的功能系統(tǒng)中相似的功能, 是合并為一個用例還是是合并為一個用例還是分解為幾個用例分解為幾個用例?方法方法1 1一個用例一個用例/ /三個腳本三個腳本方法方法2 2 三個用例三個用例面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML323.8 常見問題分析常見問題分析(3) 三層結(jié)構(gòu)如何采用用例表示三層結(jié)構(gòu)如何采用用例表示? (4) 下面哪個用例圖正確下面哪個用例圖

25、正確? 面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML33實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)目標(biāo):構(gòu)建一個語音郵箱系統(tǒng)目標(biāo):構(gòu)建一個語音郵箱系統(tǒng)問題描述:問題描述: 語音郵箱系統(tǒng)中語音郵箱系統(tǒng)中,可以為每個系統(tǒng)用戶可以為每個系統(tǒng)用戶(郵箱主人郵箱主人)分配一個語分配一個語音郵箱號碼音郵箱號碼. 進(jìn)行留言時進(jìn)行留言時, 撥打語音郵箱系統(tǒng)的主號碼撥打語音郵箱系統(tǒng)的主號碼, 在聽到提示音在聽到提示音”請請輸入郵箱號輸入郵箱號”后后,輸入要語音郵箱號輸入要語音郵箱號,聽到主人設(shè)定的問候語后聽到主人設(shè)定的問候語后,進(jìn)行留言然后掛斷電話進(jìn)行留言然后掛斷電話. 郵箱主人撥打語音郵箱系統(tǒng)的

26、主號碼郵箱主人撥打語音郵箱系統(tǒng)的主號碼,在聽到提示音在聽到提示音”請輸請輸入郵箱號入郵箱號”后后,輸入要語音郵箱號輸入要語音郵箱號,聽到主人設(shè)定的問候語后聽到主人設(shè)定的問候語后, 輸輸入密碼入密碼+#進(jìn)行郵箱管理進(jìn)行郵箱管理. 此時系統(tǒng)提供三種服務(wù)此時系統(tǒng)提供三種服務(wù):1.接收信息接收信息; 2.更改問候語更改問候語; 3.更改密碼更改密碼.其中接收留言包括收聽新留言、存儲其中接收留言包括收聽新留言、存儲留言、刪除留言等。留言、刪除留言等。面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML34實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)1. 找出找出actor和外部系統(tǒng)和外部系統(tǒng),確定系

27、統(tǒng)邊界確定系統(tǒng)邊界.參與者:呼叫者、郵箱用戶參與者:呼叫者、郵箱用戶2. 主要功能分析主要功能分析(參與者期望的系統(tǒng)行為等參與者期望的系統(tǒng)行為等)(1). 呼叫者保留信息呼叫者保留信息(留言留言).(2). 郵箱用戶管理信息郵箱用戶管理信息: 收聽收聽/存儲存儲/刪除刪除.(3). 郵箱用戶更改問候語郵箱用戶更改問候語.(4). 郵箱用戶更改密碼郵箱用戶更改密碼.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML35實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)3. 初步找到的用例初步找到的用例呼叫者:保留信息呼叫者:保留信息郵箱主人:接收信息、更改問候語、更改密碼郵箱主人:接收信息、更改

28、問候語、更改密碼4. 進(jìn)一步尋找用例進(jìn)一步尋找用例郵箱主人:登錄郵箱郵箱主人:登錄郵箱呼叫者、郵箱主人:撥打郵箱號碼呼叫者、郵箱主人:撥打郵箱號碼5. 分析用例之間的關(guān)系分析用例之間的關(guān)系本例較為簡單本例較為簡單,只使用只使用“包含關(guān)系包含關(guān)系”即可即可.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML36實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)6. 繪制初步用例圖繪制初步用例圖面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML37實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)7. 編寫每一個用例的腳本編寫每一個用例的腳本8. 區(qū)分腳本中的主事流或異常情況事件流區(qū)分腳本中的主事

29、流或異常情況事件流9. 細(xì)化用例圖細(xì)化用例圖,完成用例模型完成用例模型(略略)面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML38實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本用例用例1: 撥打郵箱號撥打郵箱號1. 呼叫者撥打語音郵件系統(tǒng)的主號碼呼叫者撥打語音郵件系統(tǒng)的主號碼.2. 語音郵件系統(tǒng)發(fā)出提示音:輸入郵箱號碼并加語音郵件系統(tǒng)發(fā)出提示音:輸入郵箱號碼并加#號號.3. 呼叫者輸入接收者的郵箱號呼叫者輸入接收者的郵箱號.4. 語音郵件系統(tǒng)發(fā)出問候語:已進(jìn)入語音郵件系統(tǒng)發(fā)出問候語:已進(jìn)入XX的郵箱的郵箱,請留言請留言.面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 &

30、UML39用例用例2: 保留信息保留信息1. 呼叫者完成郵箱號輸入操作呼叫者完成郵箱號輸入操作.2. 呼叫者說出信息呼叫者說出信息.3. 呼叫者掛斷電話呼叫者掛斷電話.4. 語音郵件系統(tǒng)將記錄的信息存放在接收者的郵箱中語音郵件系統(tǒng)將記錄的信息存放在接收者的郵箱中.實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML40用例用例3: 登錄系統(tǒng)登錄系統(tǒng)1. 郵箱用戶完成郵箱號輸入操作郵箱用戶完成郵箱號輸入操作.2. 郵箱用戶鍵入密碼并后跟郵箱用戶鍵入密碼并后跟#鍵鍵.(默認(rèn)號碼與郵箱號相同默認(rèn)號碼與郵箱號相同)3. 語音郵件系統(tǒng)播放

31、郵箱菜單語音郵件系統(tǒng)播放郵箱菜單: 按按1鍵接收信息鍵接收信息. 按按2鍵更改密碼鍵更改密碼. 按按3鍵更改問候語鍵更改問候語.實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML41用例用例4: 接收信息接收信息1. 郵箱用戶完成登錄操作郵箱用戶完成登錄操作.2. 郵箱用戶選擇郵箱用戶選擇 “接收信息接收信息”菜單選項菜單選項.3. 語音郵件系統(tǒng)播放信息菜單語音郵件系統(tǒng)播放信息菜單: 按按1收聽當(dāng)前信息收聽當(dāng)前信息; 按按2存儲當(dāng)前信息存儲當(dāng)前信息; 按按3刪除當(dāng)前信息刪除當(dāng)前信息; 按按4返回郵箱菜單返回郵箱菜單.4. 郵箱

32、用戶選擇郵箱用戶選擇“收聽當(dāng)前信息收聽當(dāng)前信息”菜單選項菜單選項.5. 語音郵件系統(tǒng)播放當(dāng)前新信息語音郵件系統(tǒng)播放當(dāng)前新信息,若無新信息若無新信息,播放當(dāng)前已有播放當(dāng)前已有信息信息.(注意注意: 只播放只播放,不刪除不刪除)6. 語音郵件系統(tǒng)播放信息菜單語音郵件系統(tǒng)播放信息菜單.7. 用戶選擇用戶選擇”刪除當(dāng)前信息刪除當(dāng)前信息”,則信息被永久刪除則信息被永久刪除.8. 繼續(xù)執(zhí)行第繼續(xù)執(zhí)行第3步步.實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML42用例用例4變體變體#1: 存儲一條信息存儲一條信息1.1 以第以第6步作為開始

33、步作為開始.1.2 用戶選擇用戶選擇“存儲當(dāng)前信息存儲當(dāng)前信息”.1.3 當(dāng)前信息從新信息隊列中刪除并添加到舊信息隊列中當(dāng)前信息從新信息隊列中刪除并添加到舊信息隊列中.1.4 繼承執(zhí)行第繼承執(zhí)行第3步步.實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本面向?qū)ο蠓治雠c設(shè)計面向?qū)ο蠓治雠c設(shè)計 & UML43用例用例5: 更改問候語更改問候語1. 郵箱用戶完成登錄操作郵箱用戶完成登錄操作.2. 郵箱用戶選擇郵箱用戶選擇“更改問候語更改問候語”菜單選項菜單選項.3. 郵箱用戶說出新的問候語郵箱用戶說出新的問候語.4. 郵箱用戶按下郵箱用戶按下#鍵鍵.5. 郵件系統(tǒng)設(shè)置新的問候語郵件系統(tǒng)設(shè)置新的問候語.用例用例5變體變體#1: 在確認(rèn)前掛斷電話在確認(rèn)前掛斷電話1.1 以第以第3步作為開始步作為開始.1.2 郵件用戶掛斷電話郵件用戶掛斷電話.1.3 郵件系統(tǒng)保留舊的問候語郵件系統(tǒng)保留舊的問候語. 實例分析:語音郵箱系統(tǒng)實例分析:語音郵箱系統(tǒng)-用例腳本用例腳本面向?qū)ο?/p>

溫馨提示

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

評論

0/150

提交評論