![第6章組織系統(tǒng)需求:用例描述和圖_第1頁(yè)](http://file4.renrendoc.com/view/b7977cc85c043c3e45e802078047bf34/b7977cc85c043c3e45e802078047bf341.gif)
![第6章組織系統(tǒng)需求:用例描述和圖_第2頁(yè)](http://file4.renrendoc.com/view/b7977cc85c043c3e45e802078047bf34/b7977cc85c043c3e45e802078047bf342.gif)
![第6章組織系統(tǒng)需求:用例描述和圖_第3頁(yè)](http://file4.renrendoc.com/view/b7977cc85c043c3e45e802078047bf34/b7977cc85c043c3e45e802078047bf343.gif)
![第6章組織系統(tǒng)需求:用例描述和圖_第4頁(yè)](http://file4.renrendoc.com/view/b7977cc85c043c3e45e802078047bf34/b7977cc85c043c3e45e802078047bf344.gif)
![第6章組織系統(tǒng)需求:用例描述和圖_第5頁(yè)](http://file4.renrendoc.com/view/b7977cc85c043c3e45e802078047bf34/b7977cc85c043c3e45e802078047bf345.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章組織系統(tǒng)需求:用例描述和圖使用“用例”來(lái)表達(dá)系統(tǒng)的功能需求的分類功能性需求:系統(tǒng)應(yīng)當(dāng)具備的功能,即系統(tǒng)必須能夠做什么、完成哪些工作。非功能性需求:系統(tǒng)精確度、性能、效率、成本、可維護(hù)性、安全性等系統(tǒng)行為之外的系統(tǒng)質(zhì)量需求。用例建模:捕獲系統(tǒng)的功能性需求,幫助人們理解系統(tǒng)需求,而無(wú)需關(guān)注系統(tǒng)如何實(shí)現(xiàn)本章內(nèi)容分辨信息系統(tǒng)的邊界什么是用例用例的概念、目的識(shí)別參與者識(shí)別用例繪制用例圖如何描述用例用例分解,確定用例關(guān)系6.1.1用例的概念用例創(chuàng)始人雅各布森IvarJacobson認(rèn)為:用例(usecase)是對(duì)于一組動(dòng)作序列的描述,系統(tǒng)執(zhí)行這些動(dòng)作會(huì)對(duì)特定的參與者(actor)產(chǎn)生可觀測(cè)的、有價(jià)值的結(jié)果。阿里斯代爾·科克伯恩AlistairCockburn:強(qiáng)調(diào)用例是各種系統(tǒng)受益人(stakeholder)之間的一種行為契約(contract)。行為包括對(duì)象的活動(dòng)、動(dòng)作和對(duì)象之間的交互等。建立契約的目的是為了達(dá)成某種目標(biāo),因此每一個(gè)用例實(shí)際上都應(yīng)代表一個(gè)用戶目標(biāo),根據(jù)三個(gè)目標(biāo)層次(概要層、用戶目標(biāo)層、子功能層)將用例進(jìn)行分層,從而有效把握用例的粒度。UseCase的定義在一個(gè)workshop(專題討論會(huì))上,14位主要的OO專家對(duì)UseCase有14個(gè)定義。定義1:usecase是對(duì)一個(gè)活動(dòng)者(actor)使用系統(tǒng)的一項(xiàng)功能時(shí)所進(jìn)行的交互過(guò)程的一個(gè)文字描述序列(見(jiàn)[2])。定義2:Thespecificationofsequencesofactions,includingvariantsequencesanderrorsequences,thatasystem,subsystem,orclasscanperformbyinteractingwithoutsideactors.(見(jiàn)[3])[2]
邵維忠,楊芙清,面向?qū)ο蟮南到y(tǒng)分析,p153[3]J.Rumbaugh,etc.TheUnifiedModelingLanguageReferenceManual,p488用例的意義用例是對(duì)系統(tǒng)需求(主要是功能需求)的規(guī)范化的描述。用例圖及用例的事件流描述集中體現(xiàn)了系統(tǒng)責(zé)任,通過(guò)用例建立交互圖。交互圖就是用例的具體實(shí)現(xiàn),即系統(tǒng)中的對(duì)象以及對(duì)象間協(xié)作是如何完成一個(gè)用例的全部過(guò)程。用例驅(qū)動(dòng)的開(kāi)發(fā)過(guò)程,從用例模型到分析模型和設(shè)計(jì)模型之間有一致性和可追蹤性。用例是代表系統(tǒng)中各個(gè)相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約。例:在線銀行系統(tǒng)的一些可能的用例:瀏覽帳戶余額列出交易內(nèi)容劃撥資金支付帳款登錄退出系統(tǒng)編輯配置文件買進(jìn)證券賣出證券UseCase驅(qū)動(dòng)usecase對(duì)軟件開(kāi)發(fā)的意義實(shí)現(xiàn)測(cè)試分析設(shè)計(jì)UseCases把所有這些過(guò)程綁到一起usecase說(shuō)明:Usecase從使用系統(tǒng)的角度描述系統(tǒng)中的信息,即站在系統(tǒng)外部察看系統(tǒng)功能,并不考慮系統(tǒng)內(nèi)部對(duì)該功能的具體實(shí)現(xiàn)方式。使用usecase可以促進(jìn)與用戶溝通,理解正確的需求,同時(shí)也可以用來(lái)劃分系統(tǒng)與外部實(shí)體的界限,是OO系統(tǒng)設(shè)計(jì)的起點(diǎn),是類、對(duì)象、操作的來(lái)源。9用例的一些特點(diǎn):(1)用例描述了用戶提出的一些可見(jiàn)的需求;(2)用例可大可??;(3)用例對(duì)應(yīng)一個(gè)具體的用戶目標(biāo)。理論上我們可以把一個(gè)軟件系統(tǒng)的所有UseCase畫(huà)出來(lái),但實(shí)際運(yùn)用時(shí)只需把重要的、交互過(guò)程復(fù)雜的那些畫(huà)出來(lái)。需求有兩種基本形式:功能性和非功能性的。不是所有的需求都要用usecase表示出來(lái)。問(wèn)題:一個(gè)系統(tǒng)的需求包括哪些內(nèi)容?可以參照需求大綱10用例建模的內(nèi)容基于用例的需求獲取過(guò)程:1.獲取原始需求2.開(kāi)發(fā)一個(gè)可以理解的需求識(shí)別參與者識(shí)別用例構(gòu)建用例圖3詳細(xì)、完整地描述需求書(shū)寫(xiě)用例規(guī)格說(shuō)明4重構(gòu)用例模型識(shí)別用例間的關(guān)系對(duì)用例進(jìn)行組織和分包1、識(shí)別參與者參與者是系統(tǒng)之外與系統(tǒng)進(jìn)行交互的任何事物。使用系統(tǒng)的個(gè)人誰(shuí)負(fù)責(zé)提供、使用或刪除信息?誰(shuí)將使用某項(xiàng)功能?系統(tǒng)所連接的外部硬件。例如,控制建筑物中溫度的通風(fēng)系統(tǒng)不斷地從傳感器獲取溫度信息,傳感器就是一個(gè)參與者。與該系統(tǒng)進(jìn)行通信的其他信息系統(tǒng)。例如為自動(dòng)柜員機(jī)系統(tǒng)建模時(shí),中央銀行系統(tǒng)就是它的一個(gè)參與者。信用卡系統(tǒng)是銷售系統(tǒng)中的一個(gè)參與者區(qū)分參與者和外部實(shí)體只有在執(zhí)行系統(tǒng)功能時(shí)與信息系統(tǒng)進(jìn)行實(shí)時(shí)交互的人員才能被當(dāng)作參與者新生入學(xué)手工填寫(xiě)個(gè)人信息,然后由教務(wù)人員統(tǒng)一將數(shù)據(jù)登記到學(xué)籍系統(tǒng)中,教務(wù)人員是參與者。如果學(xué)生直接通過(guò)Web方式提交個(gè)人信息,則認(rèn)為學(xué)生是參與者。區(qū)分主要參與者和次要參與者主要參與者(primaryactor)是從系統(tǒng)中直接獲得可度量?jī)r(jià)值的用戶。次要參與者(secondaryactor)的需求驅(qū)動(dòng)了用例所表示的行為或功能,在用例中起輔助支持作用用例分析的重點(diǎn)是要找到主要參與者。比如,在圖書(shū)館的借/還書(shū)用例中,首先要考慮誰(shuí)直接使用這一功能,誰(shuí)頻繁地和系統(tǒng)進(jìn)行交互?圖書(shū)管理人員是直接操作者,他們的需求和變化對(duì)于用例的影響最大。因此,圖書(shū)管理員是主要參與者。事件觸發(fā)源操作輸出目標(biāo)讀者檢查庫(kù)存書(shū)目書(shū)目查詢請(qǐng)求讀者提供書(shū)目供檢索書(shū)籍列表讀者讀者借書(shū)借書(shū)單讀者登記借書(shū)記錄書(shū)借書(shū)記錄讀者通過(guò)事件表獲得參與者:參與者可以從“源”得到啟發(fā),但“源”表示數(shù)據(jù)最初的提供者,不一定對(duì)應(yīng)功能的執(zhí)行者。參與者舉例參與者的表示在UML中,參與者使用小人符號(hào):圖書(shū)館系統(tǒng)讀者圖書(shū)管理員RSA中的建模符號(hào)參與者的泛化在某些情況下,參與者的角色可以有共性,或者說(shuō)一般性,一種角色可以擁有另一種角色的全部行為。比如在超市系統(tǒng)中,值班經(jīng)理完全可以充當(dāng)收銀員這一角色,此外,值班經(jīng)理還可以有退貨、更改事務(wù)等權(quán)利。2、識(shí)別用例用例就是功能性需求。每個(gè)用例至少和一個(gè)參與者相關(guān),用例名稱要體現(xiàn)參與者希望系統(tǒng)提供的功能。用例的UML圖形表示購(gòu)買商品Rose中的符號(hào)購(gòu)買商品區(qū)分用例和用例完成的步驟不能混淆用例和用例所包含的步驟。比如“借出圖書(shū)”功能要經(jīng)過(guò)驗(yàn)證讀者信息、檢查超出可借數(shù)量、保存借書(shū)記錄、修改圖書(shū)狀態(tài)等步驟在系統(tǒng)中這些步驟通常不作為單獨(dú)的功能提供給參與者使用,它們只是一個(gè)用例所包含的事件流,或者是用例的子功能。與結(jié)構(gòu)化分析中提到的事件概念相同。區(qū)分業(yè)務(wù)用例和系統(tǒng)用例當(dāng)針對(duì)整個(gè)業(yè)務(wù)領(lǐng)域建模時(shí),需要使用業(yè)務(wù)用例比如圖書(shū)館系統(tǒng)有一項(xiàng)重要工作就是“整理書(shū)架”,圖書(shū)都要放回到固定的位置上信息系統(tǒng)作為整個(gè)業(yè)務(wù)系統(tǒng)的一部分,只負(fù)責(zé)實(shí)現(xiàn)系統(tǒng)的部分功能,即有信息處理的那部分功能??蛻籼岢錾暾?qǐng)要求貸款,申請(qǐng)中包括期限、金額、用途和本人基本情況。銀行收到申請(qǐng)后,置于“申請(qǐng)檔案”中,以申請(qǐng)?zhí)枠?biāo)識(shí)。某公司內(nèi)部工作崗位的提供:不論何時(shí),只要一有職位空缺,該地區(qū)的人力資源部領(lǐng)導(dǎo)就會(huì)通知該地區(qū)的所有員工并給其他地區(qū)的HR領(lǐng)導(dǎo)發(fā)送消息,邀請(qǐng)員工們提出申請(qǐng)。然后,其他地區(qū)HR領(lǐng)導(dǎo)將招聘信息貼在公告板上。所有對(duì)此感興趣的員工都可以將申請(qǐng)發(fā)送到職位空缺的地區(qū)的HR領(lǐng)導(dǎo)那里。用例舉例1用例舉例2在門診掛號(hào)處只能掛當(dāng)天的號(hào),掛出的號(hào)可以退。病人拿到掛號(hào)單后,到相應(yīng)的科室進(jìn)行就診。醫(yī)生根據(jù)掛號(hào)的順序號(hào),依次給病人看病開(kāi)處方。病人拿處方去收款處交費(fèi),并拿到發(fā)票。病人拿已經(jīng)收費(fèi)的處方去藥房拿藥。該系統(tǒng)潛在的參與者和用例有哪些?圖書(shū)館系統(tǒng)的用例圖進(jìn)行用例描述時(shí),往往會(huì)有冗余的情況出現(xiàn),比如多個(gè)用例會(huì)共享一些子功能。擴(kuò)展和包含關(guān)系就是用例模型中消除冗余的一種手段?;居美前R?guī)會(huì)發(fā)生的最基本功能的用例,它是具有普遍性的,對(duì)于任何執(zhí)行該功能的參與者來(lái)講都是適合的。6.2用例關(guān)系用例關(guān)系包含關(guān)系:經(jīng)過(guò)封裝后可以在各種不同的基本用例中復(fù)用的行為稱為包含用例。擴(kuò)展關(guān)系:表達(dá)某些可選或只在特定條件下才執(zhí)行的系統(tǒng)行為的用例,它們是對(duì)基本用例的擴(kuò)展。稱為擴(kuò)展用例。泛化關(guān)系:如果兩個(gè)或更多用例在行為、結(jié)構(gòu)和目的方面存在共性,可以使用泛化關(guān)系。父用例描述這些共有部分,子用例繼承父用例并特殊化。基本用例可以控制包含用例,并依賴于(使用)包含用例所得到的結(jié)果。包含用例是基本用例存在的必要條件一個(gè)基本用例可以有多個(gè)包含用例,一個(gè)包含用例可以包含在若干基本用例中。包含關(guān)系可以嵌套,但超過(guò)三層的嵌套是難于理解的。取款修改口令身份識(shí)別<<include>><<include>>包含關(guān)系擴(kuò)展用例是可選的,它是否執(zhí)行取決于在執(zhí)行基本用例時(shí)所發(fā)生的事件(存在擴(kuò)展點(diǎn))。擴(kuò)展用例的缺失不影響對(duì)基本用例的理解。打電話來(lái)電顯示三方通話<<extend>><<extend>>擴(kuò)展關(guān)系用一個(gè)新的、通常也是抽象的用例來(lái)描述多個(gè)用例的共有部分(父用例),子用例繼承父用例的所有結(jié)構(gòu)、行為和關(guān)系,并含有自己特殊的部分。父用例通常是抽象的,如果兩個(gè)子用例都對(duì)同一父用例進(jìn)行特殊化,則兩個(gè)子用例是相互獨(dú)立而且完整的,這一點(diǎn)與包含關(guān)系擴(kuò)展關(guān)系不同。訂購(gòu)網(wǎng)上訂購(gòu)電話訂購(gòu)泛化關(guān)系(不推薦)小結(jié):actor,usecase的關(guān)系(relationship)類型說(shuō)明:可在usecase間建立關(guān)聯(lián),但意義不是很明確。association關(guān)聯(lián):actor和usecase之間的關(guān)系包含:usecase之間的關(guān)系includeextend擴(kuò)展:usecase之間的關(guān)系generalization泛化:actor之間或usecase之間的關(guān)系關(guān)系類型說(shuō)明表示符號(hào)30用例的粒度通常用例圖粒度較大通過(guò)分解和細(xì)化,可以使粒度更小通過(guò)事件流描述:尋找用例的共同點(diǎn)尋找用例的擴(kuò)展點(diǎn)切忌“畫(huà)蛇添足”!常見(jiàn)問(wèn)題分析1.Usecase的粒度問(wèn)題,即對(duì)于一個(gè)系統(tǒng)的UseCase圖,所包含的用例數(shù)目問(wèn)題。這是很多人爭(zhēng)論的重點(diǎn)。例如,IvarJacobson說(shuō),對(duì)一個(gè)十人年的項(xiàng)目,他需要二十個(gè)用例。而在一個(gè)相同規(guī)模的項(xiàng)目中,MartinFowler*則用了一百多個(gè)用例。*《UMLdistilled》一書(shū)的作者322.許多應(yīng)用中需要對(duì)系統(tǒng)訪問(wèn)進(jìn)行控制,應(yīng)該如何處理登錄問(wèn)題比較好?有四種處理登錄用例的方式:(1)其它用例包含登錄;(2)其它用例擴(kuò)展登錄;(3)登錄獨(dú)立于其它用例;(4)登錄包含其它用例。33(1)其它用例包含登錄用例說(shuō)明:……這種處理方式的特點(diǎn):34(2)其它用例擴(kuò)展登錄用例說(shuō)明:……這種處理方式的特點(diǎn):35(3)登錄獨(dú)立于其它用例。用例說(shuō)明:……這種處理方式的特點(diǎn):36登錄用例說(shuō)明:1.當(dāng)超級(jí)用戶啟動(dòng)應(yīng)用時(shí)用例開(kāi)始2.系統(tǒng)提示超級(jí)用戶輸入用戶名和密碼3.超級(jí)用戶輸入用戶名和密碼4.系統(tǒng)驗(yàn)證其是否為有效超級(jí)用戶5.用例結(jié)束調(diào)入員工用例說(shuō)明:前置條件:一個(gè)有效超級(jí)用戶登錄了系統(tǒng)37(4)登錄包含其它用例用例說(shuō)明:……存在的問(wèn)題:383.假設(shè)有這樣需求:學(xué)生檔案管理中,用戶經(jīng)常需要做三件事:增加一條學(xué)生記錄、修改一條學(xué)生記錄,刪除一條學(xué)生記錄。如果要畫(huà)出usecase圖,以下2種方法哪種更合適?方法1:再分成3個(gè)腳本,分別畫(huà)3個(gè)交互圖。腳本1增加學(xué)生記錄;腳本2修改學(xué)生記錄;腳本3刪除學(xué)生記錄。方法2:每個(gè)usecase畫(huà)一個(gè)交互圖。398.4.4合理組織用例對(duì)用例進(jìn)行分包讓用例圖能夠更為清晰地表現(xiàn)出系統(tǒng)的業(yè)務(wù)邏輯關(guān)系和層次對(duì)系統(tǒng)進(jìn)行模塊的分割,這將影響到今后的開(kāi)發(fā)和系統(tǒng)的最終表現(xiàn)形式常見(jiàn)的分包方式按參與者分包,如讀者包、圖書(shū)管理員包按主題分包,如畢設(shè)的題目管理包、成績(jī)管理包按開(kāi)發(fā)團(tuán)隊(duì)分包,A小組、B小組按發(fā)布情況分包,第1次迭代包…錯(cuò)誤的用例圖舉例把步驟當(dāng)用例把系統(tǒng)活動(dòng)當(dāng)用例錯(cuò)誤的用例圖舉例Email客戶端(如:outlookexpress),A在北京發(fā)郵件給上海的B,系統(tǒng)提醒B你有“新郵件”,B收郵件用例是一個(gè)完整的交互用例之間沒(méi)有順序的關(guān)系課堂練習(xí):用例建模完成“旅店預(yù)定系統(tǒng)”的系統(tǒng)用例圖,注意用例的命名和用例間的關(guān)系的使用。選擇一個(gè)體現(xiàn)系統(tǒng)核心業(yè)務(wù)功能的用例,完成用例規(guī)格說(shuō)明?!奥玫觐A(yù)定系統(tǒng)”初步用戶需求某公司要開(kāi)發(fā)一個(gè)旅店預(yù)定系統(tǒng),該旅店可對(duì)外開(kāi)放豪華雙人間、雙人間、三人間和單人間,房間費(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)用支付方式和何種類型操作界面尚不確定。問(wèn)題用例圖1問(wèn)題用例圖2問(wèn)題用例圖31.不恰當(dāng)?shù)摹皶r(shí)間”參與者時(shí)間:參與者,一種習(xí)慣用法,用于激活那些系統(tǒng)定期的、自動(dòng)執(zhí)行的用例“檢查是否可以退定金”的時(shí)候,時(shí)間僅僅是一個(gè)系統(tǒng)內(nèi)部的判斷條件,而不是參與者2.無(wú)效的參與者泛化參與者泛化:特殊參與者會(huì)繼承泛化參與者所有的要素!參與者的重要性在一識(shí)別用例,如果泛化沒(méi)有帶來(lái)任何用例,則這樣的方法沒(méi)有任何意義在系統(tǒng)中如果兩個(gè)參與者涉及相同的用例,則合并3.錯(cuò)誤的用例關(guān)系依賴關(guān)系:include,extend都是依賴關(guān)系(dependency)的構(gòu)造型(stereotype),帶箭頭的虛線表示擴(kuò)展關(guān)系:“extend”關(guān)系的方向,子用例對(duì)主用例的擴(kuò)展3.錯(cuò)誤的用例關(guān)系用例的順序在活動(dòng)圖中表現(xiàn)3.錯(cuò)誤的用例關(guān)系4.“其他”用例?“其他”、“打印清單”用例和外圍沒(méi)有任何有意義交互,和其他用例也沒(méi)有任何關(guān)系,這樣的用例有意義嗎?“其他”用例又代表什么呢?想說(shuō)明什么樣的功能需求?5.參與者和用例間的關(guān)系“打印報(bào)表”和“酒店管理員”之間的關(guān)聯(lián)是有意義的交互嗎?6.用例粒度太小用例規(guī)格描述常見(jiàn)錯(cuò)誤用例描述中只有參與者動(dòng)作,沒(méi)有系統(tǒng)動(dòng)作。用例描述中沒(méi)有主參與者。描述中過(guò)多的用戶接口細(xì)節(jié),如按鈕等界面元素的具體實(shí)現(xiàn)。描述過(guò)低的目標(biāo)級(jí)別。較為合理的用例圖8.4.2用例的描述用例圖是對(duì)系統(tǒng)中的用例的高度概括和直觀的表示,但沒(méi)有細(xì)節(jié)。一個(gè)用例就象一個(gè)故事,使用文字?jǐn)⑹鰧?duì)用例進(jìn)行詳細(xì)描述。一個(gè)編寫(xiě)良好的用例應(yīng)該具有很好的可讀性,沒(méi)有可讀性的用例則一點(diǎn)兒用也沒(méi)有。用例的描述可以有多種格式,從隨意的語(yǔ)言描述到定義嚴(yán)格的用例模板,可根據(jù)實(shí)際情況選擇。1、用例規(guī)格說(shuō)明(模板)
UseCaseSpecification用例名稱主要參與者/次要參與者簡(jiǎn)要描述前置條件后置條件主事件流(主要成功場(chǎng)景/基本路徑)備選事件流(擴(kuò)展路徑/替代流程/異常事件流)特殊要求/非功能性需求發(fā)生頻率2、用例與事件流(FlowofActivities)用例描述的是一個(gè)系統(tǒng)做什么,可以通過(guò)用足夠清晰的、外部人員很容易理解的文字描述一個(gè)事件流,來(lái)說(shuō)明一個(gè)用例的行為。事件流的描述包括:用例何時(shí)開(kāi)始和結(jié)束用例何時(shí)與參與者交互參與者與系統(tǒng)之間有什么對(duì)象或信息被交換該行為的主事件流和備選事件流3、用例與場(chǎng)景(Scenarios)用例描述的是一組動(dòng)作序列,在復(fù)雜的系統(tǒng)中,用例細(xì)節(jié)可能存在多種不同的情節(jié),稱為變體。比如:購(gòu)買商品的用例中收款可以是現(xiàn)金支付、信用卡支付或支票支付。針對(duì)每一種情況有不同的場(chǎng)景,一個(gè)場(chǎng)景就是一個(gè)具體的故事現(xiàn)場(chǎng),重現(xiàn)一個(gè)參與者如何具體完成用例。主成功場(chǎng)景:故事的主線,用例通常得到成功執(zhí)行的典型場(chǎng)景。擴(kuò)展場(chǎng)景:失敗場(chǎng)景,或因?yàn)橐恍┨貏e條件而出現(xiàn)行為分支的步驟(包括失敗和成功)4、用例的前置條件和后置條件前置條件(pre-condition):表述在系統(tǒng)允許用例開(kāi)始以前,系統(tǒng)應(yīng)確保為真的條件。這可為后續(xù)的編程人員提供幫助,從而確定在用例的實(shí)現(xiàn)代碼中哪些條件無(wú)須再次檢驗(yàn)。如果前置條件不滿足,用例無(wú)法被啟動(dòng),比如“預(yù)定圖書(shū)”用例的前置條件是讀者已正確登錄到系統(tǒng)中。后置條件(guarantee):或稱為成功保證。表述在用例結(jié)束時(shí),系統(tǒng)將要保證的限定條件,一般都是在成功完成用例后成立。一旦用例被成功地執(zhí)行,可能會(huì)導(dǎo)致系統(tǒng)內(nèi)部某些狀態(tài)的改變,比如成功地“借出圖書(shū)”會(huì)使圖書(shū)狀態(tài)改變等。某些用例可能沒(méi)有前置條件或后置條件,比如“查詢書(shū)目”。用例的簡(jiǎn)要描述用例名:購(gòu)買商品參與者:出納員簡(jiǎn)要描述:顧客帶著所要購(gòu)買的商品來(lái)到收款處。收款員記錄下商品信息并收款。付款完成后,顧客帶著所購(gòu)買的商品和收據(jù)離開(kāi)。購(gòu)買商品收款員對(duì)“取款”用例的非正式描述1)用戶插入ATM卡并輸入密碼2)用戶選擇取款并輸入取款數(shù)量3)系統(tǒng)吐出現(xiàn)金,并從賬號(hào)余額中扣除取款數(shù)對(duì)“取款”用例的完整描述主參與者:信用卡用戶目標(biāo):用戶使用信用卡從ATM機(jī)獲取現(xiàn)金范圍:銀行ATM系統(tǒng)前置條件:用戶將信用卡插入ATM觸發(fā)事件:用戶希望從ATM機(jī)上取現(xiàn)金主事件流:1)用戶插入信用卡到ATM機(jī)2)ATM系統(tǒng)識(shí)別卡的ID和賬號(hào),并用主銀行系統(tǒng)驗(yàn)證其有效性3)用戶輸入密碼,ATM驗(yàn)證其有效性4)用戶選擇取款,并輸入提取金額,該數(shù)額必須在50~2000之間,50的倍數(shù)5)ATM系統(tǒng)通知賬戶所在的主銀行系統(tǒng),傳遞賬號(hào)和取款金額,并接受返回的確認(rèn)信息和賬戶余額6)ATM系統(tǒng)發(fā)放現(xiàn)金、卡,并打印收據(jù)7)ATM將事務(wù)記入日志對(duì)“取款”用例的完整描述(續(xù))備選事件流:2a:該卡不能在此ATM機(jī)上使用3a:密碼不正確3b:用戶沒(méi)有及時(shí)輸入密碼4a:金額不是50的倍數(shù),或不在指定范圍5a:主機(jī)死機(jī)或網(wǎng)絡(luò)癱瘓5b:賬戶余額不足發(fā)生頻率:一天1000次“借出圖書(shū)”的用例描述用例名稱借出圖書(shū)參與者圖書(shū)管理員(主要參與者),讀者(次要參與者)假設(shè)圖書(shū)館是開(kāi)架借閱,讀者總是找到書(shū)后辦理借書(shū)手續(xù),因此,借書(shū)不需要驗(yàn)證庫(kù)存,而且每本書(shū)都是可識(shí)別的。前置條件圖書(shū)管理員已被識(shí)別和授權(quán)后置條件存儲(chǔ)借書(shū)記錄,更新庫(kù)存數(shù)量,所借圖書(shū)狀態(tài)為出借主事件流1.圖書(shū)管理員將讀者借書(shū)卡提供給系統(tǒng);2.系統(tǒng)驗(yàn)證讀者身份和借書(shū)條件;3.圖書(shū)管理員將讀者所借圖書(shū)輸入系統(tǒng);4.系統(tǒng)記錄借書(shū)信息,并且修改圖書(shū)的狀態(tài)和此種書(shū)的可借數(shù)量;5.系統(tǒng)累加讀者的借書(shū)數(shù)量;6.重復(fù)3-5,直到圖書(shū)管理員確認(rèn)全部圖書(shū)登記完畢;7.系統(tǒng)打印借書(shū)清單,交易成功完成。備選事件流2a.非法讀者
1.系統(tǒng)提示讀者身份錯(cuò)誤,用例結(jié)束2b.讀者借書(shū)數(shù)已達(dá)限額
1.系統(tǒng)提示讀者已達(dá)結(jié)束限額,用例結(jié)束2c.讀者有過(guò)期未還書(shū)籍
1.系統(tǒng)提示讀者應(yīng)歸還的書(shū)籍列表和到期日,用例結(jié)束5a.讀者借書(shū)數(shù)已達(dá)限額
1.系統(tǒng)提示,并要求結(jié)束輸入
2.圖書(shū)管理員確認(rèn)借書(shū)完成5b.讀者有該書(shū)的預(yù)定記錄
1.刪除該書(shū)的預(yù)定信息5、用例描述的雙列格式用例名稱歸還圖書(shū)參與者圖書(shū)管理員(主要參與者),讀者(次要參與者)假設(shè)因?yàn)槊勘緯?shū)是可識(shí)別的,所以還書(shū)不需要驗(yàn)證讀者前置條件圖書(shū)管理員已被識(shí)別和授權(quán)后置條件修改借書(shū)記錄,更新庫(kù)存數(shù)量,修改圖書(shū)狀態(tài)為可借主事件流1.圖書(shū)管理員將圖書(shū)提供給系統(tǒng);5.圖書(shū)管理員重復(fù)步驟1,直到退出2.系統(tǒng)根據(jù)借書(shū)記錄驗(yàn)證圖書(shū)信息;3.系統(tǒng)提供借閱該書(shū)的讀者信息;4.系統(tǒng)修改借書(shū)記錄,更新該書(shū)的圖書(shū)狀態(tài)及此種書(shū)的可借數(shù)量;每個(gè)用例可繪制系統(tǒng)級(jí)順序圖純文本的用例描述直觀性較差使用UML中的順序圖可以圖形化地表現(xiàn)出參與者和系統(tǒng)之間的交互較為合理的用例規(guī)格說(shuō)明1用例名稱:預(yù)定房間涉及的參與者:酒店前臺(tái)描述:酒店前臺(tái)人員根據(jù)旅客的入住請(qǐng)求,預(yù)定某個(gè)時(shí)間指定檔次的房間,預(yù)定的同時(shí)旅客按規(guī)定須提交10%定金。前置條件:前臺(tái)工作人員必須已經(jīng)登錄到這個(gè)系統(tǒng)后置條件:預(yù)定信息正確的記錄到系統(tǒng)中正常事件流:1)前臺(tái)人員向系統(tǒng)提供需要預(yù)定房間的類型、時(shí)間和預(yù)定天數(shù)。2)系統(tǒng)確認(rèn)有相應(yīng)檔次的空閑房間,并計(jì)算出總費(fèi)用和定金。3)前臺(tái)人員向系統(tǒng)提供旅客信息(姓名、地址、聯(lián)系電話、證件號(hào)等)。4)系統(tǒng)記錄旅客信息。5)前臺(tái)人員確認(rèn)已經(jīng)交納定金。6)系統(tǒng)記錄房間已經(jīng)預(yù)定,工作完成。備選事件流:2a.沒(méi)有指定類型的空閑房間,可以轉(zhuǎn)到
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣告公司合作協(xié)議合同樣本
- 2025軟件銷售代理合同書(shū)
- 2025小型汽車配件購(gòu)買合同
- 2025公司向個(gè)人借款合同范本
- 二零二五年度房地產(chǎn)項(xiàng)目土地租賃及銷售代理協(xié)議3篇
- 2025農(nóng)村家庭土地流轉(zhuǎn)合同分家協(xié)議書(shū)樣本2篇
- 公墓生態(tài)葬服務(wù)及配套設(shè)施建設(shè)合同(年度)3篇
- 二零二五年度電子商務(wù)企業(yè)高管平臺(tái)運(yùn)營(yíng)管理聘用合同3篇
- 2025年度房屋維修服務(wù)與社區(qū)環(huán)境改善合作協(xié)議2篇
- 二零二五年度新型塑鋼窗研發(fā)與生產(chǎn)合同3篇
- 2025年國(guó)家圖書(shū)館招聘筆試參考題庫(kù)含答案解析
- 機(jī)器人課程課程設(shè)計(jì)
- 南充市市級(jí)事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 安全知識(shí)考試題庫(kù)500題(含答案)
- 2024-2025學(xué)年上學(xué)期南京小學(xué)數(shù)學(xué)六年級(jí)期末模擬試卷
- 河北省保定市定興縣2023-2024學(xué)年一年級(jí)上學(xué)期期末調(diào)研數(shù)學(xué)試題(含答案)
- 2025年中國(guó)蛋糕行業(yè)市場(chǎng)規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長(zhǎng)年底述職報(bào)告
- 護(hù)理不良事件分析 課件
- 糖尿病患者健康管理測(cè)試試題(三套題-有答案)
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
評(píng)論
0/150
提交評(píng)論