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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、個(gè)用例有一系列腳本每個(gè)用例有一系列腳本, 包括一個(gè)主要腳本包括一個(gè)主要腳本, 以及幾個(gè)以及幾個(gè)次要腳本次要腳本. 相對(duì)于主要腳本相對(duì)于主要腳本, 次要腳本描述了執(zhí)行路徑次要腳本描述了執(zhí)行路徑中的異?;蚩蛇x擇的情況中的異?;蚩蛇x擇的情況.例:在例:在“訂貨訂貨”用例中包括幾個(gè)相關(guān)腳本:用例中包括幾個(gè)相關(guān)腳本:訂貨順利進(jìn)行的腳本訂貨順利進(jìn)行的腳本;相關(guān)貨源不足時(shí)的腳本相關(guān)貨源不足時(shí)的腳本;購(gòu)貨者的信用卡被拒絕時(shí)的腳本購(gòu)貨者的信用卡被拒絕時(shí)的腳本;面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & 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è)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML103.4.1 泛化關(guān)系泛化關(guān)系泛化關(guān)系代表一般與特殊的關(guān)系泛化關(guān)系代表一般與特殊的關(guān)系, 與繼承類(lèi)似與繼承類(lèi)似.在泛化關(guān)系中在泛化關(guān)系中, 子用例繼承了父用例的行為和含義子用例繼承了父用例的行為和含義, 子子用例也可以增加新的行為和含義或覆蓋父用例中的用例也可以增加新的行為和含義或覆蓋父用例中的行為和含義行為和含義.右圖的例子演示了右圖的例子演示了泛化關(guān)系泛化關(guān)系面向?qū)ο蠓治雠c設(shè)

8、計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML113.4.1 泛化關(guān)系泛化關(guān)系面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML123.4.2 包含關(guān)系包含關(guān)系包含關(guān)系是指一個(gè)用例包含關(guān)系是指一個(gè)用例(基本用例基本用例)的行為包含了另一的行為包含了另一個(gè)用例個(gè)用例(包含用例包含用例)的行為的行為.包含關(guān)系是依賴(lài)關(guān)系的版型包含關(guān)系是依賴(lài)關(guān)系的版型, 但其含義更多但其含義更多.右圖的例子演示了右圖的例子演示了包含關(guān)系包含關(guān)系注意注意: 箭頭方向?yàn)榛居美桨美^方向?yàn)榛居美桨美?面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML133.4.2 包含關(guān)系包含關(guān)系面向?qū)ο蠓治雠c設(shè)計(jì)

9、面向?qū)ο蠓治雠c設(shè)計(jì) & UML143.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系擴(kuò)展關(guān)系的基本含義與泛化關(guān)系類(lèi)似擴(kuò)展關(guān)系的基本含義與泛化關(guān)系類(lèi)似, 但對(duì)擴(kuò)展用例但對(duì)擴(kuò)展用例有更多限制有更多限制, 即基本用例必須聲明若干即基本用例必須聲明若干”擴(kuò)展點(diǎn)擴(kuò)展點(diǎn)”, 擴(kuò)展用例只能在擴(kuò)展點(diǎn)上增加行為和含義擴(kuò)展用例只能在擴(kuò)展點(diǎn)上增加行為和含義.擴(kuò)展關(guān)系是依賴(lài)關(guān)系版型擴(kuò)展關(guān)系是依賴(lài)關(guān)系版型.面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & 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)上購(gòu)物的部分用例網(wǎng)上購(gòu)物的部分用例3.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML163.4.3 擴(kuò)展關(guān)系擴(kuò)展關(guān)系面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & 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 的的. 一個(gè)基本用例一個(gè)基本用例執(zhí)行時(shí)執(zhí)行時(shí), 可以執(zhí)行或不執(zhí)行擴(kuò)展用例可以執(zhí)行或不執(zhí)行擴(kuò)展用例.包含關(guān)系的基本用例可以不是或是包含關(guān)

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

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

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

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

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

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

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

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

19、“取款取款”按鈕按鈕,并輸入并輸入取款數(shù)目取款數(shù)目?jī)?chǔ)戶(hù)取走現(xiàn)金儲(chǔ)戶(hù)取走現(xiàn)金/ATM卡卡/收據(jù)收據(jù)(1)儲(chǔ)戶(hù)離開(kāi)儲(chǔ)戶(hù)離開(kāi)Use case: Withdraw cashActor: customer主事件流:主事件流:ATM系統(tǒng)獲得系統(tǒng)獲得ATM卡和密碼卡和密碼設(shè)置交易類(lèi)型為設(shè)置交易類(lèi)型為“取款取款”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)“取款取款”用例的兩個(gè)錯(cuò)誤描述:用例的兩個(gè)錯(cuò)誤描述:只描述了只描述了actor的行為的行為只描述了只描述了System的行為的行為面向?qū)ο蠓治雠c設(shè)計(jì)面向?qū)ο蠓治雠c設(shè)

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

21、傳遞賬號(hào)和金額傳遞賬號(hào)和金額, 并接收返回的確并接收返回的確認(rèn)信息和賬戶(hù)余額認(rèn)信息和賬戶(hù)余額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è)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML283.7 尋找用例的方法尋找用例的方法找出系統(tǒng)外部的參與者和外部系統(tǒng)找出系統(tǒng)外部的參與者和外部系統(tǒng), 確定系統(tǒng)邊界和范圍確定系統(tǒng)邊界和范圍確定每一個(gè)參與者所期望的系統(tǒng)行為確定每一個(gè)參與者所期望的系統(tǒng)行為把這些系統(tǒng)行為命名為用例把這些系統(tǒng)行為命名為用例使用泛化、包含、擴(kuò)展等關(guān)系處理系統(tǒng)行

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

23、截然分開(kāi)確定用例和確定參與者不能截然分開(kāi)發(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è)計(jì)面向?qū)ο蠓治雠c設(shè)計(jì) & UML303.8 常見(jiàn)問(wèn)題分析常見(jiàn)問(wèn)題分析(1) 用例的粒度問(wèn)題用例的粒度問(wèn)題 對(duì)于一個(gè)目標(biāo)系統(tǒng)進(jìn)行用例分析后得

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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論