軟件工程課件全第6章細(xì)化階段_第1頁
軟件工程課件全第6章細(xì)化階段_第2頁
軟件工程課件全第6章細(xì)化階段_第3頁
軟件工程課件全第6章細(xì)化階段_第4頁
軟件工程課件全第6章細(xì)化階段_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第六章

細(xì)化階段(Elaboration)

舒新峰

西郵計(jì)算機(jī)學(xué)院現(xiàn)代軟件工程

ModernSoftwareEngineering西郵計(jì)算機(jī)學(xué)院舒新峰

一般細(xì)化階段由兩到四個(gè)迭代構(gòu)成;每一個(gè)迭代持續(xù)的時(shí)間建議在兩到六周之間。

該階段的主要任務(wù)包括構(gòu)建核心體系架構(gòu),解決高風(fēng)險(xiǎn)問題,完成絕大部分需求的定義,并估計(jì)并估計(jì)總體計(jì)劃和資源。

細(xì)化階段的任務(wù)西郵計(jì)算機(jī)學(xué)院舒新峰1.細(xì)化階段概述2.領(lǐng)域模型3.系統(tǒng)順序圖4.操作契約參考資料:(1)UML和模式應(yīng)用,CraigLarman著,第三版,機(jī)械工業(yè)出版社(2)Chap6細(xì)化階段(Elaboration)西郵計(jì)算機(jī)學(xué)院舒新峰1.細(xì)化階段的目標(biāo)保證架構(gòu),需求和計(jì)劃足夠穩(wěn)定,風(fēng)險(xiǎn)被充分規(guī)避確定和解決項(xiàng)目中所有與架構(gòu)密切相關(guān)的風(fēng)險(xiǎn)從與架構(gòu)密切相關(guān)的場景中確定一個(gè)基準(zhǔn)體系架構(gòu)產(chǎn)生一個(gè)達(dá)到產(chǎn)品級(jí)質(zhì)量水準(zhǔn)的演化性原型,也可以是一個(gè)或更多個(gè)探索型\拋棄型原型能夠展示基準(zhǔn)的體系架構(gòu)以合理的價(jià)格和合適的時(shí)間支持系統(tǒng)需求建立一個(gè)支持環(huán)境6.1細(xì)化階段概述西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述2.核心活動(dòng)盡快定義和驗(yàn)證體系架構(gòu),并確定體系架構(gòu)基線細(xì)化設(shè)想(Vision)為構(gòu)造階段建立詳細(xì)的迭代計(jì)劃并建立基線細(xì)化開發(fā)用例并將其部署到開發(fā)環(huán)境中細(xì)化體系架構(gòu)并選擇組件西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述3.關(guān)鍵思想和實(shí)踐實(shí)行短時(shí)間定量、風(fēng)險(xiǎn)驅(qū)動(dòng)的迭代及早開始編程對架構(gòu)的核心和風(fēng)險(xiǎn)部分進(jìn)行適應(yīng)性設(shè)計(jì),實(shí)現(xiàn)和測試盡早,頻繁,實(shí)際的測試基于來自測試,用戶,開發(fā)者的反饋進(jìn)行調(diào)整通過一系列討論會(huì),詳細(xì)編寫大部分用例和其他需求,每個(gè)細(xì)化迭代舉行一次西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述4.計(jì)劃下一輪迭代

通過風(fēng)險(xiǎn)、覆蓋范圍和關(guān)鍵程度組織需求和迭代。風(fēng)險(xiǎn)技術(shù)復(fù)雜性其他因素覆蓋性在早期迭代中,系統(tǒng)中主要的部分都有所涉及關(guān)鍵性具有高業(yè)務(wù)價(jià)值的功能在每個(gè)迭代前將用例和特征進(jìn)行排序西郵計(jì)算機(jī)學(xué)院舒新峰用例與迭代的關(guān)系處理租金(1)一個(gè)或多個(gè)用例及特征工作被劃分到一次迭代用例:處理銷售123...特征:記錄日志,...用例:處理銷售用例:處理銷售用例:處理銷售123...用例:(2)一個(gè)用例的實(shí)現(xiàn)可以在多次迭代中展開特征:記錄日志西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述5.細(xì)化階段的制品領(lǐng)域模型(DomainModel)領(lǐng)域概念的可視化,類似于領(lǐng)域?qū)嶓w的靜態(tài)模型設(shè)計(jì)模型(DesignModel)邏輯設(shè)計(jì),包括類圖、對象交互圖、包圖等軟件架構(gòu)文檔(SoftwareArchitectureDocument)輔助學(xué)習(xí)工具,包括關(guān)鍵架構(gòu)問題及設(shè)計(jì)解決方案。對重要設(shè)計(jì)思想及其在系統(tǒng)中動(dòng)機(jī)的概要。數(shù)據(jù)模型(DataModel)數(shù)據(jù)庫方案,以及對象和非對象間的映射策略用例示意板,用戶界面模型(Use-CaseStoryboards,UIPrototypes)描述用戶界面、導(dǎo)航路徑、可用性模型等。西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)項(xiàng)目目標(biāo)將以前的選課系統(tǒng)用新技術(shù)加以改造,使得老師和學(xué)生可以通過客戶端在線訪問。問題描述TheoutdatedandlargelymanualstudentregistrationprocessatWylieCollegeStudents,professors,andCollegeadministration.Aslowandcostlyprocesscombinedwithdissatisfiedstudentsandprofessors.ImprovetheimageoftheCollege,attractmorestudents,andstreamlineadministrativeregistrationfunctions.問題影響者造成成功的解決方案西郵計(jì)算機(jī)學(xué)院舒新峰WylieCollegestudents,professors,andthecourseregistrarAttend,teach,oradministercollegecoursesIsatoolEnablesonlinecourseregistrationandaccesstocourseandgradeinformationTheexistingoutdatedmainframeregistrationsystem迭代計(jì)劃案例——選課系統(tǒng)ForWhoTheCourseRegistrationSystemThatUnlikeProvidesup-to-dateinformationonallcourses,registrations,teachers,andgradestoallusersfromanyPCconnectedviatheCollegeLANorinternet.產(chǎn)品定位

Ourproduct西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)迭代方案

西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)PhaseNo.ofIterationsStartEndInceptionPhase1Week1Week8ElaborationPhase1Week8Week15ConstructionPhase3Week15Week31TransitionPhase2Week25Week32每階段迭代計(jì)劃西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)PhaseIterationDescriptionAssociatedMilestonesRisksAddressedInceptionPhasePreliminaryIterationDefinesbusinessmodel,productrequirements,SoftwareDevelopmentPlan,andbusinesscase.BusinessCaseReviewClarifiesuserrequirementsupfront.DevelopsrealisticSoftwareDevelopmentPlansandscope.Determinesfeasibilityofprojectfromabusinesspointofview.一次迭代安排西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)E1迭代將對Release1.0中所有用例,Release2.0中的高風(fēng)險(xiǎn)用例進(jìn)行分析和設(shè)計(jì)。通過開發(fā)架構(gòu)原型驗(yàn)證Release1.0所需要的架構(gòu)的可行性和性能Release1.0計(jì)劃包含的特征:LogonCloseRegistrationRegisterforCoursesInterfacetoCourseCatalogDatabaseInterfacetoFinanceSystemMaintainStudentInformationMaintainProfessorInformation西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)

領(lǐng)域模型是對真實(shí)世界中概念類的表示,而不是軟件對象的表示。它不是用來描述軟件類、軟件架構(gòu)領(lǐng)域?qū)踊蛴新氊?zé)軟件對象的一組圖。領(lǐng)域模型用一套類圖來表示,這些類沒有操作。領(lǐng)域模型可以顯示:領(lǐng)域?qū)ο蠡蛘吒拍铑惛拍铑愔g的關(guān)聯(lián)概念類的屬性西郵計(jì)算機(jī)學(xué)院舒新峰POS機(jī)的部分領(lǐng)域模型可視化字典RegisterItemStoreaddressnameSaledatetimePaymentamountSalesLineItemquantityStocked-in*Houses1..*Contained-in1..*Records-sale-of0..1Paid-by11111111Captured-on4conceptordomainobjectassociationattributes西郵計(jì)算機(jī)學(xué)院舒新峰Saledatetimevisualizationofareal-worldconceptinthedomainofinterestitisanotapictureofasoftwareclassSalesDatabasesoftwareartifact;notpartofdomainmodelavoidsoftwareclass;notpartofdomainmodelSaledatetimeprint()avoid概念類Vs.設(shè)計(jì)類、構(gòu)件西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)1.為什么需要領(lǐng)域模型它是一種可視化語言,傳達(dá)了真實(shí)世界中的概念或者該領(lǐng)域中的概念類2.概念類可以由符號(hào),內(nèi)涵和它的外延來表示符號(hào)--代表概念類的詞或者圖像內(nèi)涵--概念類的定義外延--概念類應(yīng)用的例子集合西郵計(jì)算機(jī)學(xué)院舒新峰Saledatetime“sale表示購買交易的事件,具有日期和時(shí)間”sale-1sale-3sale-2sale-4概念符號(hào)概念內(nèi)涵概念外延概念類相關(guān)概念的比較西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)3.領(lǐng)域模型和分解分而治之--處理復(fù)雜性的手段面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化分析方法的核心區(qū)別在于:是由概念類(對象)分解的而不是功能分解的4.識(shí)別概念類在我們所關(guān)心的領(lǐng)域,我們的目標(biāo)是針對感興趣或者有意義的概念類建立領(lǐng)域模型只針對目前正在設(shè)計(jì)的場景指南:對領(lǐng)域模型而言,建立較多的細(xì)粒度的概念類要比粗略的建模來得好可以有沒有屬性的概念類或僅擔(dān)任行為角色的概念類西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)5.識(shí)別概念類的策略重用和修改現(xiàn)有模型采用概念類類別列表物理的或者實(shí)際的對象地點(diǎn)組織確定名詞概念類種類例子Recordsoffinance,work,contracts,legalmattersReceipt,Ledger(分類帳),ExploymentContract,MaintenaceLogFinancialinstrumentsandservicesLineOfCreditStockManuals,documents,referencepapers,booksDailyPriceChangeList,RepairManual西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)5.識(shí)別概念類的策略重用和修改現(xiàn)有模型采用概念類類別列表物理的或者實(shí)際的對象地點(diǎn)組織確定名詞為了找到問題域中的公共詞匯,可以考慮從需求文檔中以及開發(fā)團(tuán)隊(duì)成員的知識(shí)中來找詞匯。注意力要放在下列方面:業(yè)務(wù)對象真實(shí)世界中的對象事件西郵計(jì)算機(jī)學(xué)院舒新峰概念類識(shí)別實(shí)例——倉儲(chǔ)管理在一個(gè)倉儲(chǔ)管理的系統(tǒng)中,我們將關(guān)注庫存中的物品以及它們的存儲(chǔ)位置在該系統(tǒng)中一個(gè)事件就是將貨品放到倉庫中。對于每一次運(yùn)貨,系統(tǒng)必須記住搬運(yùn)的時(shí)間,誰接收了貨品,什么貨品,每一種的數(shù)量有多少西郵計(jì)算機(jī)學(xué)院舒新峰報(bào)表對象—是否相關(guān)?收據(jù)是一次銷售的報(bào)告。但是它顯示的信息實(shí)際上已經(jīng)存在了,這是我們可以排除它的理由。但是收據(jù)又有特殊的作用,在我們退貨時(shí),我們需要收據(jù)作為憑據(jù)因此,是否需要將依據(jù)你考慮的是哪一個(gè)用例來定西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)6.領(lǐng)域建模指南采用概念類目錄列表和從需求中采用名詞識(shí)別法將所有的備選概念類列出在那些需要將關(guān)系信息保存的地方添加關(guān)聯(lián)依據(jù)信息需求添加必要的屬性西郵計(jì)算機(jī)學(xué)院舒新峰屬性還是概念類?一個(gè)通常會(huì)犯的錯(cuò)誤如果我們不是將概念類X僅僅看作是實(shí)際生活中的數(shù)字或者文字,X就可能使概念類,而不是屬性SaleStorephoneNumberSalestoreor...?FlightAirportnameFlightdestinationor...?西郵計(jì)算機(jī)學(xué)院舒新峰類似概念類的選擇?在我們的生活中經(jīng)常用相近的概念來表示同一件事情選哪一個(gè)?POSTRegisteror?similarconceptswithdifferentnamesSaleRecords61*SaleRecords61*西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)7.非現(xiàn)實(shí)世界的建模許多事物是人工的,也就是說,它們是被造出來的為了對它們建模,我們需要更多的抽象例如電信:Message,Connection,Port,Dialog,Route,Protocol中間件:Service,Transaction西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)8.說明性(或者描述性)概念類為什么?真實(shí)的世界軟件世界例子在一個(gè)商店中,每一個(gè)商品都有價(jià)格,描述和其他屬性如果我們?yōu)槊恳粋€(gè)商品創(chuàng)建一個(gè)包含所有信息的對象不必要的冗余刪除商品對象意味著丟失所有信息西郵計(jì)算機(jī)學(xué)院舒新峰創(chuàng)建單獨(dú)的描述性概念類ItemdescriptionpriceserialnumberitemIDProductSpecificationdescriptionpriceitemIDItemserialnumberDescribesBetterWorse1*西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)9.描述性概念類建模指南無論目前是否存在實(shí)際的商品或者服務(wù)實(shí)例,總是存在商品或者服務(wù)的描述如果把信息和刪除的東西不正確的關(guān)聯(lián)起來,刪除這些東西后就會(huì)丟失這些信息通過描述性概念類減少了冗余信息或者復(fù)制的信息描述性類可以加在商品產(chǎn)品服務(wù)西郵計(jì)算機(jī)學(xué)院舒新峰描述性概念類實(shí)例——航班信息WorseFlightdatenumbertimeAirportnameFlies-to1*FlightdatetimeFlightDescriptionnumberAirportnameDescribes-flights-toDescribed-byBetter1*1*西郵計(jì)算機(jī)學(xué)院舒新峰領(lǐng)域模型的作用:降低描述差異西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)10.UP與領(lǐng)域模型初始化階段一般不建議構(gòu)造領(lǐng)域模型領(lǐng)域模型主要是在細(xì)化階段的迭代中構(gòu)建的,此時(shí)我們需要理解重要的概念,并把某些在設(shè)計(jì)中映射為軟件類西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)11.關(guān)聯(lián)關(guān)聯(lián)是類(確切講是類的實(shí)例)之間的關(guān)系,表示有意義和值得關(guān)注的連接。西郵計(jì)算機(jī)學(xué)院舒新峰(1)何時(shí)表示關(guān)聯(lián)世界萬物都是相關(guān)的如果我們有n

個(gè)類,將會(huì)有n(n-1)個(gè)關(guān)聯(lián)我們只添加那些:如果存在需要保持一段時(shí)間的關(guān)系,將這種語義表示為關(guān)聯(lián)(“需要記住”的關(guān)聯(lián))可以從常見關(guān)聯(lián)列表中派生的關(guān)聯(lián)西郵計(jì)算機(jī)學(xué)院舒新峰(2)關(guān)聯(lián)的UML表示法SaleRegisterRecords-current411associationnamemultiplicity-閱讀方向箭頭-沒有其他含義,只是表示閱讀關(guān)聯(lián)標(biāo)記的方向-通常省略西郵計(jì)算機(jī)學(xué)院舒新峰(3)關(guān)聯(lián)的方向關(guān)聯(lián)可以是單向的,也可以是雙向的給定一個(gè)訂單,我們可以找到與該訂單相關(guān)的客戶,相反如果給定一個(gè)客戶,不能夠找到訂單OrderCustomer*1西郵計(jì)算機(jī)學(xué)院舒新峰(4)角色關(guān)聯(lián)的每一端稱為一個(gè)角色對象類對象類限定符關(guān)聯(lián)對象類多重性角色名:類限定符角色名:類多重性關(guān)聯(lián)名nameMultiplicityexpressionnavigability西郵計(jì)算機(jī)學(xué)院舒新峰(5)多重性多重性Multiplicity

定義了類A有多少實(shí)例可以和類B的一個(gè)實(shí)例關(guān)聯(lián)西郵計(jì)算機(jī)學(xué)院舒新峰常用的多重性表示方法zeroormore;"many"oneormoreoneto40exactly5TTTT*1..*1..405T3,5,8exactly3,5,or8西郵計(jì)算機(jī)學(xué)院舒新峰多重性的實(shí)效性多重性的指標(biāo)是在特定的時(shí)刻(而不是在某個(gè)時(shí)間跨度內(nèi))有效關(guān)聯(lián)的實(shí)例數(shù)量。如何定義多重性的值?ItemStoreStocks41or0..1*西郵計(jì)算機(jī)學(xué)院舒新峰(6)命名關(guān)聯(lián)PersonAirlineEmploys1..*FlightAssigned-toPlane*3Assigned-to*Supervises*1111StoreContainsSaleRegisterCaptures1..*1..*PaymentPaid-by1111西郵計(jì)算機(jī)學(xué)院舒新峰(7)多重關(guān)聯(lián)西郵計(jì)算機(jī)學(xué)院舒新峰(8)常見關(guān)聯(lián)表常見關(guān)聯(lián)表PhysicalpartofLogicalpartofMemberof……高優(yōu)先級(jí)的關(guān)聯(lián)AisaphysicalorlogicalpartofBAisphysicallyorlogicallycontainedin/onBAisrecordedinB西郵計(jì)算機(jī)學(xué)院舒新峰(9)關(guān)聯(lián)指南關(guān)注那些需要保持一段時(shí)間的關(guān)聯(lián)發(fā)現(xiàn)概念類比發(fā)現(xiàn)關(guān)聯(lián)更重要太多的關(guān)聯(lián)將會(huì)使領(lǐng)域模型變得混亂,而找出這些關(guān)聯(lián)需要消耗太多時(shí)間,效益卻不大避免顯示冗余的或者可派生的關(guān)聯(lián)確定概念類比找到關(guān)聯(lián)更重要.領(lǐng)域模型構(gòu)建時(shí),主要的時(shí)間要花在確定概念類上,而不是找關(guān)聯(lián)上西郵計(jì)算機(jī)學(xué)院舒新峰(10)關(guān)聯(lián)和實(shí)現(xiàn)在領(lǐng)域建模時(shí),關(guān)聯(lián)只是針對現(xiàn)實(shí)領(lǐng)域從純概念角度看有意義的關(guān)系

并不需要實(shí)現(xiàn)Or我們后面可以發(fā)現(xiàn)在領(lǐng)域建模時(shí)丟失,而需要實(shí)現(xiàn)的關(guān)聯(lián)西郵計(jì)算機(jī)學(xué)院舒新峰POS部分領(lǐng)域模型西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)10.添加屬性

屬性是對象的邏輯數(shù)據(jù)值。當(dāng)需求(例如用例)建議或暗示需要記住信息時(shí),引入屬性。SaledatestartTime:Timeattributes西郵計(jì)算機(jī)學(xué)院舒新峰(1)有效的屬性類型保持屬性類型的簡單性——例1CashiernamecurrentRegisterCashiernameRegisternumberUsesWorseBetternota"simple"attribute11西郵計(jì)算機(jī)學(xué)院舒新峰(1)有效的屬性類型保持屬性類型的簡單性——例2FlightFlightdestinationWorseBetterFlies-toAirport11destinationisacomplexconcept西郵計(jì)算機(jī)學(xué)院舒新峰(2)數(shù)據(jù)類型PrimitiveTypes(number,string)Non-primitivedatatype(phonenumber)如果它能夠自然地表示為數(shù)值,字符串,布爾量,日期,或者時(shí)間,那么它就是一個(gè)屬性,否則將它表示為一個(gè)單獨(dú)的概念類ItiscomposedofseparatesectionsThereareoperationsusuallyassociatedwithit,suchasparsingorvalidationIthasotherattributesItisaquantitywithaunitItisanabstractionofoneormoretypewithsomeofthesequalities西郵計(jì)算機(jī)學(xué)院舒新峰數(shù)據(jù)類型實(shí)例在商品識(shí)別中,有各種編碼系統(tǒng)(包括UPC-A,UPC-E,以及EAN系統(tǒng)家族)它攜帶有信息表示制造商,產(chǎn)品,國家和加和驗(yàn)證碼它可以定義為一個(gè)非原子的ItemID類是否一定要這么做呢?西郵計(jì)算機(jī)學(xué)院舒新峰(3)數(shù)據(jù)類型特性的兩者方式領(lǐng)域模型是一種溝通工具,確定采用哪種解決方式都要考慮到這一點(diǎn)OKOKItemIDProductSpecificationProductSpecificationid:ItemID1AddressStoreStoreaddress:Address111西郵計(jì)算機(jī)學(xué)院舒新峰(4)任何屬性都不表示外鍵可以用很多方法表示對象之間的關(guān)系,外鍵就是其中一種方法,我們將推遲到設(shè)計(jì)后再?zèng)Q定如何實(shí)現(xiàn)對象關(guān)系,以避免設(shè)計(jì)蠕變designcreep.CashiernamecurrentRegisterCashiernameRegisternumberUsesWorseBetternota"simple"attribute11西郵計(jì)算機(jī)學(xué)院舒新峰(5)從多重性中派生的屬性西郵計(jì)算機(jī)學(xué)院舒新峰6.3系統(tǒng)順序圖對用例建模需要更多的調(diào)研確定系統(tǒng)事件為用例場景創(chuàng)建系統(tǒng)順序圖工具:UML順序圖順序圖描述了對象之間的交互模式,并按照時(shí)間順序排列;它通過生命線顯示了參與交互的對象以及相互間發(fā)送的消息西郵計(jì)算機(jī)學(xué)院舒新峰6.3系統(tǒng)順序圖1.系統(tǒng)行為表述系統(tǒng)是什么,而不解釋它是如何做的將系統(tǒng)作為黑盒子系統(tǒng)順序圖它展示了對一個(gè)特定的用例,外部的參與者產(chǎn)生的事件,它們的順序以及系統(tǒng)內(nèi)的事件西郵計(jì)算機(jī)學(xué)院舒新峰e(cuò)nterItem(itemID,quantity):System:CashierendSale()makePayment(amount)boxmayenloseaniterationareathe*[...]isaniterationmarkerandclauseindicatingtheboxisforiterationexternalactortosystemamessagewithparametersitisanabstractionrepresentingthesystemeventofenteringthepaymentdatabysomemechanismdescription,totalreturnvalue(s)associatedwiththepreviousmessageanabstractionthatignorespresentationandmediumthereturnlineisoptionalifnothingisreturnedtotalwithtaxeschangedue,receipt*[moreitems]makeNewSale()系統(tǒng)順序圖舉例——處理銷售西郵計(jì)算機(jī)學(xué)院舒新峰2.系統(tǒng)順序圖和用例的關(guān)系:Cashier:SystemSimplecash-onlyProcessSale

scenario:1.CustomerarrivesataPOScheckoutwithgoodsand/orservicestopurchase.2.Cashierstartsanewsale.3.Cashierentersitemidentifier.4.Systemrecordssalelineitemandpresentsitemdescription,price,andrunningtotal.Cashierrepeatssteps3-4untilindicatesdone.5.Systempresentstotalwithtaxescalculated.6.CashiertellsCustomerthetotal,andasksforpayment.7.CustomerpaysandSystemhandlespayment....enterItem(itemID,quantity)endSale()makePayment(amount)description,totaltotalwithtaxeschangedue,receipt*[moreitems]makeNewSale()西郵計(jì)算機(jī)學(xué)院舒新峰3.系統(tǒng)事件和系統(tǒng)邊界enterItem(itemID,quantity):CashierendSale()makePayment(amount)systemboundary:SystemmakeNewSale()西郵計(jì)算機(jī)學(xué)院舒新峰4.系統(tǒng)事件和操作的命名TheinterfaceisassignedtooearlyTheintentionisstillkeptenterItem(itemID,quantity)scan(itemID,quantity):Cashierworsenamebettername:System西郵計(jì)算機(jī)學(xué)院舒新峰6.3系統(tǒng)順序圖5.在統(tǒng)一過程中的SSDSSD是用例模型的一部分:是對用例中的交互的可視化表示在初始化階段---SSD并不鼓勵(lì)在細(xì)化階段---創(chuàng)建絕大部分的SSD沒有必要對所有案例的所有場景創(chuàng)建SSD西郵計(jì)算機(jī)學(xué)院舒新峰6.4操作契約(OperationContracts)通過領(lǐng)域模型中的對象的狀態(tài)變換,定義了系統(tǒng)操作執(zhí)行后的詳細(xì)的系統(tǒng)行為。1.為什么引入契約用例是統(tǒng)一過程中描述系統(tǒng)行為的主要機(jī)制,而且通常也是足夠的.但是,某些時(shí)候我們需要對系統(tǒng)行為進(jìn)行更詳細(xì)的描述.西郵計(jì)算機(jī)學(xué)院舒新峰2.系統(tǒng)操作和系統(tǒng)接口enterItem(itemID,quantity):System:CashierendSale()makePayment(amount)description,totaltotalwithtaxeschangedue,receipt*[moreitems]makeNewSale()將系統(tǒng)看成一個(gè)類或者構(gòu)件,定

溫馨提示

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

評(píng)論

0/150

提交評(píng)論