版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第六章
細(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)問(wè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)的場(chǎng)景中確定一個(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ì)化開(kāi)發(fā)用例并將其部署到開(kāi)發(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)的迭代及早開(kāi)始編程對(duì)架構(gòu)的核心和風(fēng)險(xiǎn)部分進(jìn)行適應(yīng)性設(shè)計(jì),實(shí)現(xiàn)和測(cè)試盡早,頻繁,實(shí)際的測(cè)試基于來(lái)自測(cè)試,用戶(hù),開(kāi)發(fā)者的反饋進(jìn)行調(diào)整通過(guò)一系列討論會(huì),詳細(xì)編寫(xiě)大部分用例和其他需求,每個(gè)細(xì)化迭代舉行一次西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述4.計(jì)劃下一輪迭代
通過(guò)風(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è)用例及特征工作被劃分到一次迭代用例:處理銷(xiāo)售123...特征:記錄日志,...用例:處理銷(xiāo)售用例:處理銷(xiāo)售用例:處理銷(xiāo)售123...用例:(2)一個(gè)用例的實(shí)現(xiàn)可以在多次迭代中展開(kāi)特征:記錄日志西郵計(jì)算機(jī)學(xué)院舒新峰6.1細(xì)化階段概述5.細(xì)化階段的制品領(lǐng)域模型(DomainModel)領(lǐng)域概念的可視化,類(lèi)似于領(lǐng)域?qū)嶓w的靜態(tài)模型設(shè)計(jì)模型(DesignModel)邏輯設(shè)計(jì),包括類(lèi)圖、對(duì)象交互圖、包圖等軟件架構(gòu)文檔(SoftwareArchitectureDocument)輔助學(xué)習(xí)工具,包括關(guān)鍵架構(gòu)問(wèn)題及設(shè)計(jì)解決方案。對(duì)重要設(shè)計(jì)思想及其在系統(tǒng)中動(dòng)機(jī)的概要。數(shù)據(jù)模型(DataModel)數(shù)據(jù)庫(kù)方案,以及對(duì)象和非對(duì)象間的映射策略用例示意板,用戶(hù)界面模型(Use-CaseStoryboards,UIPrototypes)描述用戶(hù)界面、導(dǎo)航路徑、可用性模型等。西郵計(jì)算機(jī)學(xué)院舒新峰迭代計(jì)劃案例——選課系統(tǒng)項(xiàng)目目標(biāo)將以前的選課系統(tǒng)用新技術(shù)加以改造,使得老師和學(xué)生可以通過(guò)客戶(hù)端在線訪問(wèn)。問(wèn)題描述TheoutdatedandlargelymanualstudentregistrationprocessatWylieCollegeStudents,professors,andCollegeadministration.Aslowandcostlyprocesscombinedwithdissatisfiedstudentsandprofessors.ImprovetheimageoftheCollege,attractmorestudents,andstreamlineadministrativeregistrationfunctions.問(wèn)題影響者造成成功的解決方案西郵計(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迭代將對(duì)Release1.0中所有用例,Release2.0中的高風(fēng)險(xiǎn)用例進(jìn)行分析和設(shè)計(jì)。通過(guò)開(kāi)發(fā)架構(gòu)原型驗(yàn)證Release1.0所需要的架構(gòu)的可行性和性能Release1.0計(jì)劃包含的特征:LogonCloseRegistrationRegisterforCoursesInterfacetoCourseCatalogDatabaseInterfacetoFinanceSystemMaintainStudentInformationMaintainProfessorInformation西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)
領(lǐng)域模型是對(duì)真實(shí)世界中概念類(lèi)的表示,而不是軟件對(duì)象的表示。它不是用來(lái)描述軟件類(lèi)、軟件架構(gòu)領(lǐng)域?qū)踊蛴新氊?zé)軟件對(duì)象的一組圖。領(lǐng)域模型用一套類(lèi)圖來(lái)表示,這些類(lèi)沒(méi)有操作。領(lǐng)域模型可以顯示:領(lǐng)域?qū)ο蠡蛘吒拍铑?lèi)概念類(lèi)之間的關(guān)聯(lián)概念類(lèi)的屬性西郵計(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概念類(lèi)Vs.設(shè)計(jì)類(lèi)、構(gòu)件西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)1.為什么需要領(lǐng)域模型它是一種可視化語(yǔ)言,傳達(dá)了真實(shí)世界中的概念或者該領(lǐng)域中的概念類(lèi)2.概念類(lèi)可以由符號(hào),內(nèi)涵和它的外延來(lái)表示符號(hào)--代表概念類(lèi)的詞或者圖像內(nèi)涵--概念類(lèi)的定義外延--概念類(lèi)應(yīng)用的例子集合西郵計(jì)算機(jī)學(xué)院舒新峰Saledatetime“sale表示購(gòu)買(mǎi)交易的事件,具有日期和時(shí)間”sale-1sale-3sale-2sale-4概念符號(hào)概念內(nèi)涵概念外延概念類(lèi)相關(guān)概念的比較西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)3.領(lǐng)域模型和分解分而治之--處理復(fù)雜性的手段面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化分析方法的核心區(qū)別在于:是由概念類(lèi)(對(duì)象)分解的而不是功能分解的4.識(shí)別概念類(lèi)在我們所關(guān)心的領(lǐng)域,我們的目標(biāo)是針對(duì)感興趣或者有意義的概念類(lèi)建立領(lǐng)域模型只針對(duì)目前正在設(shè)計(jì)的場(chǎng)景指南:對(duì)領(lǐng)域模型而言,建立較多的細(xì)粒度的概念類(lèi)要比粗略的建模來(lái)得好可以有沒(méi)有屬性的概念類(lèi)或僅擔(dān)任行為角色的概念類(lèi)西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)5.識(shí)別概念類(lèi)的策略重用和修改現(xiàn)有模型采用概念類(lèi)類(lèi)別列表物理的或者實(shí)際的對(duì)象地點(diǎn)組織確定名詞概念類(lèi)種類(lèi)例子Recordsoffinance,work,contracts,legalmattersReceipt,Ledger(分類(lèi)帳),ExploymentContract,MaintenaceLogFinancialinstrumentsandservicesLineOfCreditStockManuals,documents,referencepapers,booksDailyPriceChangeList,RepairManual西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)5.識(shí)別概念類(lèi)的策略重用和修改現(xiàn)有模型采用概念類(lèi)類(lèi)別列表物理的或者實(shí)際的對(duì)象地點(diǎn)組織確定名詞為了找到問(wèn)題域中的公共詞匯,可以考慮從需求文檔中以及開(kāi)發(fā)團(tuán)隊(duì)成員的知識(shí)中來(lái)找詞匯。注意力要放在下列方面:業(yè)務(wù)對(duì)象真實(shí)世界中的對(duì)象事件西郵計(jì)算機(jī)學(xué)院舒新峰概念類(lèi)識(shí)別實(shí)例——倉(cāng)儲(chǔ)管理在一個(gè)倉(cāng)儲(chǔ)管理的系統(tǒng)中,我們將關(guān)注庫(kù)存中的物品以及它們的存儲(chǔ)位置在該系統(tǒng)中一個(gè)事件就是將貨品放到倉(cāng)庫(kù)中。對(duì)于每一次運(yùn)貨,系統(tǒng)必須記住搬運(yùn)的時(shí)間,誰(shuí)接收了貨品,什么貨品,每一種的數(shù)量有多少西郵計(jì)算機(jī)學(xué)院舒新峰報(bào)表對(duì)象—是否相關(guān)?收據(jù)是一次銷(xiāo)售的報(bào)告。但是它顯示的信息實(shí)際上已經(jīng)存在了,這是我們可以排除它的理由。但是收據(jù)又有特殊的作用,在我們退貨時(shí),我們需要收據(jù)作為憑據(jù)因此,是否需要將依據(jù)你考慮的是哪一個(gè)用例來(lái)定西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)6.領(lǐng)域建模指南采用概念類(lèi)目錄列表和從需求中采用名詞識(shí)別法將所有的備選概念類(lèi)列出在那些需要將關(guān)系信息保存的地方添加關(guān)聯(lián)依據(jù)信息需求添加必要的屬性西郵計(jì)算機(jī)學(xué)院舒新峰屬性還是概念類(lèi)?一個(gè)通常會(huì)犯的錯(cuò)誤如果我們不是將概念類(lèi)X僅僅看作是實(shí)際生活中的數(shù)字或者文字,X就可能使概念類(lèi),而不是屬性SaleStorephoneNumberSalestoreor...?FlightAirportnameFlightdestinationor...?西郵計(jì)算機(jī)學(xué)院舒新峰類(lèi)似概念類(lèi)的選擇?在我們的生活中經(jīng)常用相近的概念來(lái)表示同一件事情選哪一個(gè)?POSTRegisteror?similarconceptswithdifferentnamesSaleRecords61*SaleRecords61*西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)7.非現(xiàn)實(shí)世界的建模許多事物是人工的,也就是說(shuō),它們是被造出來(lái)的為了對(duì)它們建模,我們需要更多的抽象例如電信:Message,Connection,Port,Dialog,Route,Protocol中間件:Service,Transaction西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)8.說(shuō)明性(或者描述性)概念類(lèi)為什么?真實(shí)的世界軟件世界例子在一個(gè)商店中,每一個(gè)商品都有價(jià)格,描述和其他屬性如果我們?yōu)槊恳粋€(gè)商品創(chuàng)建一個(gè)包含所有信息的對(duì)象不必要的冗余刪除商品對(duì)象意味著丟失所有信息西郵計(jì)算機(jī)學(xué)院舒新峰創(chuàng)建單獨(dú)的描述性概念類(lèi)ItemdescriptionpriceserialnumberitemIDProductSpecificationdescriptionpriceitemIDItemserialnumberDescribesBetterWorse1*西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)9.描述性概念類(lèi)建模指南無(wú)論目前是否存在實(shí)際的商品或者服務(wù)實(shí)例,總是存在商品或者服務(wù)的描述如果把信息和刪除的東西不正確的關(guān)聯(lián)起來(lái),刪除這些東西后就會(huì)丟失這些信息通過(guò)描述性概念類(lèi)減少了冗余信息或者復(fù)制的信息描述性類(lèi)可以加在商品產(chǎn)品服務(wù)西郵計(jì)算機(jī)學(xué)院舒新峰描述性概念類(lèi)實(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ì)中映射為軟件類(lèi)西郵計(jì)算機(jī)學(xué)院舒新峰6.2領(lǐng)域模型(DomainModel)11.關(guān)聯(lián)關(guān)聯(lián)是類(lèi)(確切講是類(lèi)的實(shí)例)之間的關(guān)系,表示有意義和值得關(guān)注的連接。西郵計(jì)算機(jī)學(xué)院舒新峰(1)何時(shí)表示關(guān)聯(lián)世界萬(wàn)物都是相關(guān)的如果我們有n
個(gè)類(lèi),將會(huì)有n(n-1)個(gè)關(guān)聯(lián)我們只添加那些:如果存在需要保持一段時(shí)間的關(guān)系,將這種語(yǔ)義表示為關(guān)聯(lián)(“需要記住”的關(guān)聯(lián))可以從常見(jiàn)關(guān)聯(lián)列表中派生的關(guān)聯(lián)西郵計(jì)算機(jī)學(xué)院舒新峰(2)關(guān)聯(lián)的UML表示法SaleRegisterRecords-current411associationnamemultiplicity-閱讀方向箭頭-沒(méi)有其他含義,只是表示閱讀關(guān)聯(lián)標(biāo)記的方向-通常省略西郵計(jì)算機(jī)學(xué)院舒新峰(3)關(guān)聯(lián)的方向關(guān)聯(lián)可以是單向的,也可以是雙向的給定一個(gè)訂單,我們可以找到與該訂單相關(guān)的客戶(hù),相反如果給定一個(gè)客戶(hù),不能夠找到訂單OrderCustomer*1西郵計(jì)算機(jī)學(xué)院舒新峰(4)角色關(guān)聯(lián)的每一端稱(chēng)為一個(gè)角色對(duì)象類(lèi)對(duì)象類(lèi)限定符關(guān)聯(lián)對(duì)象類(lèi)多重性角色名:類(lèi)限定符角色名:類(lèi)多重性關(guān)聯(lián)名nameMultiplicityexpressionnavigability西郵計(jì)算機(jī)學(xué)院舒新峰(5)多重性多重性Multiplicity
定義了類(lèi)A有多少實(shí)例可以和類(lèi)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)常見(jiàn)關(guān)聯(lián)表常見(jià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)概念類(lèi)比發(fā)現(xiàn)關(guān)聯(lián)更重要太多的關(guān)聯(lián)將會(huì)使領(lǐng)域模型變得混亂,而找出這些關(guān)聯(lián)需要消耗太多時(shí)間,效益卻不大避免顯示冗余的或者可派生的關(guān)聯(lián)確定概念類(lèi)比找到關(guān)聯(lián)更重要.領(lǐng)域模型構(gòu)建時(shí),主要的時(shí)間要花在確定概念類(lèi)上,而不是找關(guān)聯(lián)上西郵計(jì)算機(jī)學(xué)院舒新峰(10)關(guān)聯(lián)和實(shí)現(xiàn)在領(lǐng)域建模時(shí),關(guān)聯(lián)只是針對(duì)現(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.添加屬性
屬性是對(duì)象的邏輯數(shù)據(jù)值。當(dāng)需求(例如用例)建議或暗示需要記住信息時(shí),引入屬性。SaledatestartTime:Timeattributes西郵計(jì)算機(jī)學(xué)院舒新峰(1)有效的屬性類(lèi)型保持屬性類(lèi)型的簡(jiǎn)單性——例1CashiernamecurrentRegisterCashiernameRegisternumberUsesWorseBetternota"simple"attribute11西郵計(jì)算機(jī)學(xué)院舒新峰(1)有效的屬性類(lèi)型保持屬性類(lèi)型的簡(jiǎn)單性——例2FlightFlightdestinationWorseBetterFlies-toAirport11destinationisacomplexconcept西郵計(jì)算機(jī)學(xué)院舒新峰(2)數(shù)據(jù)類(lèi)型PrimitiveTypes(number,string)Non-primitivedatatype(phonenumber)如果它能夠自然地表示為數(shù)值,字符串,布爾量,日期,或者時(shí)間,那么它就是一個(gè)屬性,否則將它表示為一個(gè)單獨(dú)的概念類(lèi)ItiscomposedofseparatesectionsThereareoperationsusuallyassociatedwithit,suchasparsingorvalidationIthasotherattributesItisaquantitywithaunitItisanabstractionofoneormoretypewithsomeofthesequalities西郵計(jì)算機(jī)學(xué)院舒新峰數(shù)據(jù)類(lèi)型實(shí)例在商品識(shí)別中,有各種編碼系統(tǒng)(包括UPC-A,UPC-E,以及EAN系統(tǒng)家族)它攜帶有信息表示制造商,產(chǎn)品,國(guó)家和加和驗(yàn)證碼它可以定義為一個(gè)非原子的ItemID類(lèi)是否一定要這么做呢?西郵計(jì)算機(jī)學(xué)院舒新峰(3)數(shù)據(jù)類(lèi)型特性的兩者方式領(lǐng)域模型是一種溝通工具,確定采用哪種解決方式都要考慮到這一點(diǎn)OKOKItemIDProductSpecificationProductSpecificationid:ItemID1AddressStoreStoreaddress:Address111西郵計(jì)算機(jī)學(xué)院舒新峰(4)任何屬性都不表示外鍵可以用很多方法表示對(duì)象之間的關(guān)系,外鍵就是其中一種方法,我們將推遲到設(shè)計(jì)后再?zèng)Q定如何實(shí)現(xiàn)對(duì)象關(guān)系,以避免設(shè)計(jì)蠕變designcreep.CashiernamecurrentRegisterCashiernameRegisternumberUsesWorseBetternota"simple"attribute11西郵計(jì)算機(jī)學(xué)院舒新峰(5)從多重性中派生的屬性西郵計(jì)算機(jī)學(xué)院舒新峰6.3系統(tǒng)順序圖對(duì)用例建模需要更多的調(diào)研確定系統(tǒng)事件為用例場(chǎng)景創(chuàng)建系統(tǒng)順序圖工具:UML順序圖順序圖描述了對(duì)象之間的交互模式,并按照時(shí)間順序排列;它通過(guò)生命線顯示了參與交互的對(duì)象以及相互間發(fā)送的消息西郵計(jì)算機(jī)學(xué)院舒新峰6.3系統(tǒng)順序圖1.系統(tǒng)行為表述系統(tǒng)是什么,而不解釋它是如何做的將系統(tǒng)作為黑盒子系統(tǒng)順序圖它展示了對(duì)一個(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)順序圖舉例——處理銷(xiāo)售西郵計(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)一過(guò)程中的SSDSSD是用例模型的一部分:是對(duì)用例中的交互的可視化表示在初始化階段---SSD并不鼓勵(lì)在細(xì)化階段---創(chuàng)建絕大部分的SSD沒(méi)有必要對(duì)所有案例的所有場(chǎng)景創(chuàng)建SSD西郵計(jì)算機(jī)學(xué)院舒新峰6.4操作契約(OperationContracts)通過(guò)領(lǐng)域模型中的對(duì)象的狀態(tài)變換,定義了系統(tǒng)操作執(zhí)行后的詳細(xì)的系統(tǒng)行為。1.為什么引入契約用例是統(tǒng)一過(guò)程中描述系統(tǒng)行為的主要機(jī)制,而且通常也是足夠的.但是,某些時(shí)候我們需要對(duì)系統(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è)類(lèi)或者構(gòu)件,定
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年上海市嘉定區(qū)嘉一實(shí)驗(yàn)初級(jí)中學(xué)教師招聘考試備考題庫(kù)及答案解析
- 2026四川阿壩職業(yè)學(xué)院考核招聘25人考試參考試題及答案解析
- 2026甘肅慶陽(yáng)市西峰區(qū)學(xué)院路實(shí)驗(yàn)學(xué)校人才儲(chǔ)備考試參考題庫(kù)及答案解析
- 2026年六安一中東校區(qū)公開(kāi)招聘2026屆應(yīng)屆公費(fèi)師范畢業(yè)生筆試備考題庫(kù)及答案解析
- 2026廣西崇左市江州區(qū)消防救援大隊(duì)招聘財(cái)務(wù)會(huì)計(jì)1人考試參考試題及答案解析
- 2026年福建省龍巖紫金山實(shí)驗(yàn)學(xué)校招聘初中教師3人可申請(qǐng)編內(nèi)考試參考題庫(kù)及答案解析
- 2026福建漳州市金盾城市服務(wù)集團(tuán)有限公司職業(yè)經(jīng)理人市場(chǎng)化選聘1人考試參考題庫(kù)及答案解析
- 某公司招聘考試備考試題及答案解析
- 2026湖南興湘科技創(chuàng)新有限公司招聘1人筆試模擬試題及答案解析
- 2026陜西西安市高陵區(qū)殘疾人專(zhuān)職委員選聘3人考試參考題庫(kù)及答案解析
- 回顧性臨床研究的設(shè)計(jì)和分析
- 配電一二次融合技術(shù)的發(fā)展應(yīng)用
- 鋼板鋪設(shè)安全施工方案
- 八年級(jí)物理上冊(cè)期末測(cè)試試卷-附帶答案
- 硬件設(shè)計(jì)與可靠性
- 小學(xué)英語(yǔ)五年級(jí)上冊(cè)Unit 5 Part B Let's talk 教學(xué)設(shè)計(jì)
- 垃圾滲濾液處理站運(yùn)維及滲濾液處理投標(biāo)方案(技術(shù)標(biāo))
- 經(jīng)緯度叢書(shū) 秦制兩千年:封建帝王的權(quán)力規(guī)則
- 學(xué)生校服供應(yīng)服務(wù)實(shí)施方案
- ppt素材模板超級(jí)瑪麗
- GB/T 15171-1994軟包裝件密封性能試驗(yàn)方法
評(píng)論
0/150
提交評(píng)論