![用例和用例圖_第1頁](http://file4.renrendoc.com/view10/M03/2C/04/wKhkGWW0sVCAIPAgAAB-ZH5iBnM322.jpg)
![用例和用例圖_第2頁](http://file4.renrendoc.com/view10/M03/2C/04/wKhkGWW0sVCAIPAgAAB-ZH5iBnM3222.jpg)
![用例和用例圖_第3頁](http://file4.renrendoc.com/view10/M03/2C/04/wKhkGWW0sVCAIPAgAAB-ZH5iBnM3223.jpg)
![用例和用例圖_第4頁](http://file4.renrendoc.com/view10/M03/2C/04/wKhkGWW0sVCAIPAgAAB-ZH5iBnM3224.jpg)
![用例和用例圖_第5頁](http://file4.renrendoc.com/view10/M03/2C/04/wKhkGWW0sVCAIPAgAAB-ZH5iBnM3225.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章用例和用例圖1/27/20241航空兵某師副師長、空軍特級飛行員嚴鋒“把飛行當職業(yè)只能會飛,把飛行當事業(yè)可以飛好,把飛行當藝術(shù)才能飛精?!?/p>
1/27/20242用例定義用例是系統(tǒng)、子系統(tǒng)或類和外部的參與者(actor)交互的動作序列的說明,包括可選的動作序列和會出現(xiàn)異常的動作序列。用例(usecase)是對一個活動者(actor)使用系統(tǒng)的一項功能時所進行的交互過程的一個文字描述序列用例是系統(tǒng)提供的外部可感知的功能單元,用例的目的是定義清晰的系統(tǒng)行為,但不解釋系統(tǒng)的內(nèi)部結(jié)構(gòu)1/27/20243在UML中,用例用一個橢圓表示,用例名往往用動賓結(jié)構(gòu)或主謂結(jié)構(gòu)命名(英文命名,往往采用動賓結(jié)構(gòu))WithdrawMoney置正文為黑體創(chuàng)建索引購買商品1/27/20244怎么獲取用例?活動者希望用戶執(zhí)行什么任務(wù)?活動者在系統(tǒng)中訪問哪些信息(創(chuàng)建、存儲、修改、刪除等)?需要將哪些外界信息提供給系統(tǒng)需要將系統(tǒng)的什么事情告訴活動者如何維護系統(tǒng)1/27/20245系統(tǒng)和關(guān)聯(lián)系統(tǒng):用于界定系統(tǒng)功能范圍,描述該系統(tǒng)功能的用例都置于其中,而描述外部實體的執(zhí)行者都置于其外。關(guān)聯(lián):連接執(zhí)行者和用例,表示執(zhí)行者所代表的系統(tǒng)外部實體與該用例所描述的系統(tǒng)需求有關(guān)。1/27/20246用例作需求分析的特點用例從使用系統(tǒng)的角度描述系統(tǒng)中的信息,即站在系統(tǒng)外部察看系統(tǒng)功能,而不考慮系統(tǒng)內(nèi)部對該功能的具體實現(xiàn)方式。用例描述了用戶提出的一些可見需求,對應(yīng)一個具體的用戶目標。用例是對系統(tǒng)行為的動態(tài)描述,屬于UML的動態(tài)建模部分。1/27/20247
考慮人和飲料販賣機的交互,包括購買飲料,首先,放置貨物(飲料)等,下面考慮購買飲料。我們設(shè)計一個飲料販賣機,從用戶的角度來考察它的功能:問:“自動飲料販賣機將為您做什么?”答:
“我通過自動飲料販賣機購買一聽飲料.”飲料販賣機的主要功能是使得用戶可以購買飲料,我們?yōu)檫@種機器標記一個叫“買飲料”的usecase.1/27/20248UML中的UseCase表示BuySodaUseCaseActorCommunicationCustomer1/27/20249UML中的UseCase表示購買商品登錄退還商品post出納員顧客1/27/202410常見錯誤識別用例時一個常見的錯誤是把用例當成是單獨的步驟、操作或事務(wù)的處理。1/27/202411參與者參與者(actor)是指系統(tǒng)以外的、需要使用系統(tǒng)或與系統(tǒng)交互的東西,包括人、設(shè)備、外部系統(tǒng)等。ActorNameTelephoneSystem(電話系統(tǒng))使用電話卡對方付款PhoneUser(電話用戶)BillingSystem1/27/202412參與者的三種表示形式Actor1Icon形式《Actor》Actor1Actor1Label形式Decoration形式1/27/202413在飲料自動販賣機中,除了買飲料的顧客,還有以下的參與者。RestockSodaCollectMoneyCustomerSupplierCollector每一種參與者具有自己的usecase飲料販賣機中的參與者供應(yīng)商向自動販賣機添加飲料。收銀員從自動販賣機收錢。BuySoda1/27/202414系統(tǒng)及其邊界典型的系統(tǒng)邊界包括硬件設(shè)備或者計算機系統(tǒng)的硬件/軟件邊界一個組織中的部門整個組織系統(tǒng)邊界識別的目的:為了識別出什么是系統(tǒng)內(nèi)以及什么在系統(tǒng)之外,進而識別出什么是系統(tǒng)的職責。1/27/202415以銷售點終端系統(tǒng)為例選擇整個商店或者企業(yè)作為“系統(tǒng)”選擇銷售點終端的軟硬件系統(tǒng)作為系統(tǒng)邊界誰是參與者?1/27/202416購買商品登錄退還商品post出納員顧客購買商品退還商品商店顧客1/27/202417如果開發(fā)的是一個應(yīng)用軟件或者硬件設(shè)備,那么用這個軟件或硬件的邊界作為系統(tǒng)邊界通常是合理的選擇如果從事的是企業(yè)過程重組或業(yè)務(wù)過程重組,那么選擇整個企業(yè)或者商店作為系統(tǒng)是可取的1/27/202418用例間的關(guān)系關(guān)聯(lián)(association)是指參與者與其參與執(zhí)行的用例之間的通信途徑泛化(generalization)是代表一般和特殊的關(guān)系在泛化關(guān)系中,子用例繼承父用例的行為和含義,子用例也可以增加新的行為和含義或覆蓋父用例的行為和含義1/27/202419ValidateuserCheckpasswordRetinalscanBuyTicketGroupBuyIndividualBuy1/27/202420包含(include)關(guān)系指的是兩個用例之間的關(guān)系,其中一個用例(稱為基本用例,baseusecase)的行為包含另一個用例(稱為包含用例,inclusionusecase)的行為箭頭方向由基本用例指向被包含用例。執(zhí)行基本用例的時候,每次都應(yīng)該調(diào)用被包含用例(或其中一個),被包含用例也可單獨執(zhí)行。1/27/202421什么時候使用包含用例第一如果兩個以上的用例有共同的功能,則可以將這個功能分解到另一個用例中.第二一個用例的功能太多時,可以用包含關(guān)系建模兩個小用例。1/27/202422ATMSessionIdentifyCustomerValidateAccount<<include>><<include>>1/27/202423擴展關(guān)系(extend)的基本含義與泛化關(guān)系類似,但在擴展關(guān)系中,對擴展用例有更多的規(guī)則限制,即基本用例必須聲明若干“擴展點”,而擴展用例只能在這些擴展點上增加新的行為和含義箭頭方向由擴展用例指向基本用例。擴展用例依賴于被擴展用例,不是完整的獨立用例,無法單獨執(zhí)行。1/27/2024241/27/202425用例的泛化、包含和擴展關(guān)系的比較在擴展關(guān)系中,一個基本用例執(zhí)行時,可以執(zhí)行、也可以不執(zhí)行擴展部分在包含關(guān)系中,在執(zhí)行基本用例時,一定會包含用例部分1/27/202426<<extend>><<include>>1/27/2024271/27/202428用例圖用例圖(usecasediagram)是顯示一組用例、參與者以及它們之間關(guān)系的圖。在UML中,一個用例模型由若干個用例圖描述。1/27/202429用例的描述更詳細地描述用例的功能用例的描述內(nèi)容用例的目標用例是怎么啟動的參與者和用例之間的消息是如何傳送的用例中除了主路徑外,其他路徑是什么用例結(jié)束后的系統(tǒng)狀態(tài)其他需要描述的內(nèi)容1/27/202430用例描述的主要組成用例名稱簡要說明/描述優(yōu)先級參與者前提條件主事件流其他事件流擴展點后置條件1/27/202431用例描述的主要組成用例名稱應(yīng)該與用例圖相符合,可以寫上編號(標識)簡要說明對用例的價值結(jié)果進行描述,語言應(yīng)簡潔易懂前置條件用例執(zhí)行之前應(yīng)該滿足的條件后置條件用例執(zhí)行完畢系統(tǒng)可能處于的一組狀態(tài)1/27/202432用例描述的主要組成擴展點(泛化、包含、擴展)如果有被擴展、包含或泛化的用例,寫出它們的名稱,并說明在什么情況下使用優(yōu)先級說明用戶對該用例的期望值,可以為今后開發(fā)時制定先后順序主事件流主事件流是正常情形,是用例中的最常用路徑其他事件流從主事件流中分支出來的非常用路徑1/27/202433用例描述易犯錯誤只描述系統(tǒng)的行為,沒有描述參與者的行為只描述參與者的行為,沒有描述系統(tǒng)的行為在用例描述中就設(shè)定對用戶界面的設(shè)計的要求描述過于冗長1/27/202434事件流分為三大類
主事件流是正常情形,是用例中的最常用路徑.買票時,主事件流是順利買到票。
其他事件流是從主事件流中分支出來的,但不是錯誤條件.例如,客戶用??涂ㄙI票,客戶信用卡無效或請求的航班沒有.這些情形是系統(tǒng)能夠處理的合法情形,而不是系統(tǒng)中發(fā)生的錯誤。
錯誤流表示錯誤條件。例如,系統(tǒng)無法驗證信用卡。錯誤流表示系統(tǒng)本身的問題。事件流1/27/202435主事件流的步驟如下:1.客戶選擇瀏覽航班信息的選項時,用例開始.2.系統(tǒng)提示輸入出發(fā)站和到達站,出發(fā)時間和返回時間.3.用戶輸入出發(fā)站和到達站,出發(fā)時間和返回時間.4.系統(tǒng)顯示航班清單及票價.A1:沒有這個航班5.用戶選擇要定的航班6.系統(tǒng)顯示這個航班的所有票價選項.7.用戶選擇要定的票價選項.A2:用戶用??涂ㄟx擇免費機票.8.系統(tǒng)確認票價.事件流1/27/202436主事件流的步驟如下:9.用戶確認票價.10.系統(tǒng)提示輸入信用卡類型,號碼,姓名和有效期.11.用戶輸入信用卡類型,號碼,姓名和有效期.12.系統(tǒng)提交信用卡購買.A6賬號找不到.A7資金不足.E1無法訪問信用系統(tǒng)13.系統(tǒng)對該用戶訂機票.14.系統(tǒng)產(chǎn)生確認碼并向用戶顯示.15.用戶確認收到代碼.16.用例結(jié)束.事件流1/27/202437其他事件流的步驟如下:A1:沒有這個航班1系統(tǒng)顯示信息,沒有所輸入出發(fā)站和到達站以及出發(fā)時間和返回時間的航班.2用戶確認消息.3返回主事件流第二步.A2:用戶用??涂ㄟx擇免費機票1.系統(tǒng)提示輸入??涂ㄌ?2.用戶輸入常客卡號.3.系統(tǒng)確認卡號有效.A3:??涂ㄌ枱o效事件流1/27/2024384.系統(tǒng)確認里程數(shù)足夠兌換A4:里程數(shù)不夠兌換免費機票A5:沒有常客免費票5.票價設(shè)置為0美元6.返回主事件流第8步.A3:??涂ㄌ枱o效1.系統(tǒng)顯示??涂o效2.用戶重新輸入卡號或選擇取消免費票的要求.3.如果用戶重輸卡號則流轉(zhuǎn)入其他事件流A2第1步.4.如果選擇取消常客免費票要求,則流返回事件流第6步.事件流1/27/202439A4:里程數(shù)不夠兌換免費機票.1.系統(tǒng)顯示里程數(shù)不夠兌換免費機票的消息,消息包含所需里程數(shù)和已累積里程數(shù).2.返回主事件流第6步.A5:沒有??兔赓M票1.系統(tǒng)顯示所選航班沒有??兔赓M票的消息.2.返回主事件流的第6步.A6:賬號找不到1.系統(tǒng)顯示賬號找不到的消息.2.返回主事件流的第10步.A7:資金不足1.系統(tǒng)顯示資金不足的消息.2.返回主事件流第10步.事件流1/27/202440錯誤流:E1:無法訪問信用系統(tǒng)1.系統(tǒng)顯示無法訪問信用系統(tǒng)的消息.2.返回主事件流第10步.事件流1/27/202441用例與活動圖訂購貨物用例客戶選擇訂購貨物,用例開始客戶鍵入他或她的姓名和地址如果客戶只鍵入郵編,系統(tǒng)提供城市和州客戶鍵入想要訂購的產(chǎn)品的代碼對于每一個鍵入的產(chǎn)品代碼系統(tǒng)提供產(chǎn)品描述和價格系統(tǒng)把單價加入總價中客戶鍵入信用卡支付信息客戶選擇Submit1/27/202442系統(tǒng)確認信息,把這次訂購未完成交易保存起來,向記賬系統(tǒng)提供支付信息。當支付確認后,訂單被標志為確認,返回客戶一個訂單ID,用例結(jié)束1/27/2024431/27/202444用例分析基本步驟:確定系統(tǒng)的邊界范圍,找出系統(tǒng)外部的參與者(包括外部系統(tǒng))確定每一個參與者所要求的系統(tǒng)行為,命名為用例把一些公共的系統(tǒng)行為分解為新的用例,供其他用例共用把一些可能變更的行為分解為擴展用例編制用例腳本繪制用例圖將特殊情況的用例繪制成單獨的子用例圖細化用例圖,解決用例間的重復(fù)與沖突問題1/27/202445用例識別的兩種方法基于參與者的方法識別出與系統(tǒng)或者組織有關(guān)的參與者對每個參與者,識別出他們發(fā)起或參加的執(zhí)行過程基于事件的方法識別出系統(tǒng)必須響應(yīng)的外部事件把事件與參與者或用例聯(lián)系起來1/27/202446出納員顧客登錄用現(xiàn)金結(jié)算購買商品退還商品1/27/202447識別用例要點有意義的目標業(yè)務(wù)語言,用戶觀點用戶粒度1/27/202448有意義的目標1/27/202449業(yè)務(wù)語言,用戶觀點1/27/2024501/27/202451用戶粒度最常犯的錯誤:把步驟當作用例把執(zhí)行者動作當作用例把系統(tǒng)活動當成用例1/27/202452四輪馬車問題(CRUD)1/27/
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025招標委托合同書范本
- 2025年度教學樓裝飾工程進度控制合同
- 2025年度戶外墻體廣告租賃及效果評估合同
- 2025年度交通安全設(shè)施拆除與重建施工合同
- 2025年度嘉興市二零二五版高端住宅小區(qū)物業(yè)管理合同規(guī)范文本
- 2025年度云計算保密協(xié)議及服務(wù)合同Confidentiality
- 2025來料加工服務(wù)合同模板
- 2025賓館轉(zhuǎn)讓合同范本2
- 2025房地產(chǎn)抵押擔保的合同
- 2025年個人簡單購房合同(五篇)
- 2025年個人學習領(lǐng)導(dǎo)講話心得體會和工作措施例文(6篇)
- 2025大連機場招聘109人易考易錯模擬試題(共500題)試卷后附參考答案
- 2020-2025年中國中小企業(yè)行業(yè)市場調(diào)研分析及投資戰(zhàn)略咨詢報告
- 2025-2030年中國電動高爾夫球車市場運行狀況及未來發(fā)展趨勢分析報告
- 物流中心原材料入庫流程
- 河南省濮陽市2024-2025學年高一上學期1月期末考試語文試題(含答案)
- 長沙市2025屆中考生物押題試卷含解析
- 2024年08月北京中信銀行北京分行社會招考(826)筆試歷年參考題庫附帶答案詳解
- 2024年芽苗菜市場調(diào)查報告
- 蘇教版二年級數(shù)學下冊全冊教學設(shè)計
- 職業(yè)技術(shù)學院教學質(zhì)量監(jiān)控與評估處2025年教學質(zhì)量監(jiān)控督導(dǎo)工作計劃
評論
0/150
提交評論