資源描述:
《chapter06用例圖用例建模作業(yè)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、李鵬飛pengfei0302@gmail.comUML系統(tǒng)分析與設(shè)計(jì)UML-SystemAnalysis&Design第6章用例建模作業(yè)Use-CaseModeling旅店管理系統(tǒng)某公司要開發(fā)一個(gè)旅店管理系統(tǒng),該旅店可對(duì)外開放10個(gè)雙人間和10個(gè)單人間,房間費(fèi)用視情況按季節(jié)調(diào)整,但周一到周五半價(jià)(周末全價(jià))折扣不變。對(duì)于外界請(qǐng)求,該系統(tǒng)應(yīng)能根據(jù)請(qǐng)求入住時(shí)間預(yù)定指定檔次的房間,記錄旅客姓名、地址、聯(lián)系電話、有效證件號(hào)、房間類型和預(yù)定天數(shù),并計(jì)算出總費(fèi)用。預(yù)定的同時(shí)旅客按規(guī)定須提交10%定金。六個(gè)小時(shí)之內(nèi)旅店允許旅客取消預(yù)定,并退回所有定金,超過(guò)六個(gè)小時(shí)定金不退還。每周一系統(tǒng)自動(dòng)打印一周預(yù)定情
2、況清單。采用哪種費(fèi)用支付方式和何種類型操作界面尚不確定。3問(wèn)題用例圖1領(lǐng)導(dǎo)的角色沒有價(jià)值;旅店房間預(yù)訂系統(tǒng)用例沒有意義4問(wèn)題用例圖2用例圖不描述業(yè)務(wù)流程圖中箭頭不代表前后順序5問(wèn)題用例圖3用例圖不描述程序流程不描述控制邏輯6基于用例的需求分析過(guò)程1.獲取原始需求2.開發(fā)一個(gè)可以理解的需求識(shí)別參與者識(shí)別用例構(gòu)建用例圖3詳細(xì)、完整地描述需求進(jìn)行用例闡述4重構(gòu)用例模型識(shí)別用例間的關(guān)系對(duì)用例進(jìn)行組織和分包71識(shí)別參與者參與者,Actor關(guān)鍵詞:邊界參與者:在系統(tǒng)之外,透過(guò)系統(tǒng)邊界與系統(tǒng)進(jìn)行有意義交互的任何事物81識(shí)別參與者參與者要點(diǎn)系統(tǒng)外參與者代表在系統(tǒng)邊界之外的真實(shí)事物,并不是系統(tǒng)的成分系統(tǒng)邊界
3、參與者透過(guò)系統(tǒng)邊界直接與系統(tǒng)交互,參與者的確定代表系統(tǒng)邊界的確定有意義的交互考慮責(zé)任邊界,非物理邊界任何事物人、外系統(tǒng)、外部因素、時(shí)間9識(shí)別參與者思路誰(shuí)使用系統(tǒng)的主要功能誰(shuí)改變系統(tǒng)的數(shù)據(jù)誰(shuí)從系統(tǒng)獲取信息誰(shuí)需要系統(tǒng)的支持以完成日常工作任務(wù)誰(shuí)負(fù)責(zé)日常維護(hù)、管理并保證系統(tǒng)正常運(yùn)行系統(tǒng)需要應(yīng)付(處理)那些硬設(shè)備系統(tǒng)需要和那些外部系統(tǒng)交互誰(shuí)(或什么)對(duì)系統(tǒng)運(yùn)行產(chǎn)生的結(jié)果(值)感興趣時(shí)間、氣溫等內(nèi)部外部條件……服務(wù)員顧客時(shí)間10“時(shí)間”參與者的使用時(shí)間:參與者,一種習(xí)慣用法,用于激活那些系統(tǒng)定期的、自動(dòng)執(zhí)行的用例“計(jì)算總費(fèi)用”的時(shí)候,時(shí)間僅僅是一個(gè)條件,而不是參與者,因?yàn)榇藭r(shí)它是作為系統(tǒng)的一部分11不
4、恰當(dāng)?shù)摹皶r(shí)間”參與者時(shí)間:參與者,一種習(xí)慣用法,用于激活那些系統(tǒng)定期的、自動(dòng)執(zhí)行的用例“檢查是否可以退定金”的時(shí)候,時(shí)間僅僅是一個(gè)系統(tǒng)內(nèi)部的判斷條件,而不是參與者12無(wú)效的參與者泛化參與者泛化:特殊參與者會(huì)繼承泛化參與者所有的要素!參與者的重要性在一識(shí)別用例,如果泛化沒有帶來(lái)任何用例,則這樣的方法沒有任何意義在系統(tǒng)中如果兩個(gè)參與者涉及相同的用例,則合并132識(shí)別用例關(guān)鍵詞:價(jià)值定義用例實(shí)例是系統(tǒng)執(zhí)行的一系列動(dòng)作,這些動(dòng)作將生成特定參與者可觀測(cè)的結(jié)果值一個(gè)用例定義一組用例實(shí)例簡(jiǎn)潔:參與者使用系統(tǒng)達(dá)到目標(biāo)142識(shí)別用例用例要點(diǎn)可觀測(cè)→用例止于系統(tǒng)邊界結(jié)果值→用例是有意義的目標(biāo)系統(tǒng)執(zhí)行→結(jié)果值由
5、系統(tǒng)生成由參與者觀測(cè)→業(yè)務(wù)語(yǔ)言、用戶觀點(diǎn)一組用例實(shí)例→用例的粒度152識(shí)別用例某公司要開發(fā)一個(gè)旅店管理系統(tǒng),該旅店可對(duì)外開放10個(gè)雙人間和10個(gè)單人間,房間費(fèi)用視情況按季節(jié)調(diào)整,但周一到周五半價(jià)(周末全價(jià))折扣不變。對(duì)于外界請(qǐng)求,該系統(tǒng)應(yīng)能根據(jù)請(qǐng)求入住時(shí)間預(yù)定指定檔次的房間,記錄旅客姓名、地址、聯(lián)系電話、有效證件號(hào)、房間類型和預(yù)定天數(shù),并計(jì)算出總費(fèi)用。預(yù)定的同時(shí)旅客按規(guī)定須提交10%定金。六個(gè)小時(shí)之內(nèi)旅店允許旅客取消預(yù)定,并退回所有定金,超過(guò)六個(gè)小時(shí)定金不退還。每周一系統(tǒng)自動(dòng)打印一周預(yù)定情況清單。采用哪種費(fèi)用支付方式和何種類型操作界面尚不確定。16用例干什么?“其他”、“打印清單”用例和外
6、圍沒有任何有意義交互,和其他用例也沒有任何關(guān)系,這樣的用例有意義嗎?“其他”用例又代表什么呢?想說(shuō)明什么樣的功能需求?17用例粒度注意“管理用例”的使用!18用例粒度太小19看看這個(gè)用例圖參與者與用例的定義!203構(gòu)建用例圖(一)顧客21用例關(guān)系<><>ExtendIncludeGeneralization224.用例關(guān)系-1:明顯的錯(cuò)誤依賴關(guān)系:include,extend都是依賴關(guān)系(dependency)的構(gòu)造型(stereotype),帶箭頭的虛線表示“extend”關(guān)系的方向,子用例對(duì)主用例的擴(kuò)展234.用例關(guān)系-2:什么關(guān)系?用例是一個(gè)完整的交
7、互,用例之間沒有順序的關(guān)系244.用例關(guān)系-325擴(kuò)展關(guān)系的使用使用擴(kuò)展的一個(gè)潛在問(wèn)題是創(chuàng)建過(guò)深的擴(kuò)展依賴層次Jacobson博士建議永遠(yuǎn)不要擴(kuò)展一個(gè)擴(kuò)展對(duì)于在描述用例的時(shí)候,什么時(shí)候用擴(kuò)展,什么時(shí)候用可選路徑,Jacobson建議:只有當(dāng)擴(kuò)展用例與被擴(kuò)展用例完全分離(即它本身是一個(gè)獨(dú)立的具體用例或者是其他用例需要的一個(gè)小片段)時(shí),才使用擴(kuò)展關(guān)系基用例自身必須是完整的,它的正確執(zhí)行不需要擴(kuò)展。否則,就應(yīng)該用可選路徑來(lái)描述