軟件需求分析與設(shè)計(jì)-業(yè)務(wù)建模和需求細(xì)化_第1頁(yè)
軟件需求分析與設(shè)計(jì)-業(yè)務(wù)建模和需求細(xì)化_第2頁(yè)
軟件需求分析與設(shè)計(jì)-業(yè)務(wù)建模和需求細(xì)化_第3頁(yè)
軟件需求分析與設(shè)計(jì)-業(yè)務(wù)建模和需求細(xì)化_第4頁(yè)
軟件需求分析與設(shè)計(jì)-業(yè)務(wù)建模和需求細(xì)化_第5頁(yè)
已閱讀5頁(yè),還剩61頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件需求分析與設(shè)計(jì)

-業(yè)務(wù)建模和需求細(xì)化業(yè)務(wù)建模和需求細(xì)化主要內(nèi)容迭代1-根底領(lǐng)域模型系統(tǒng)順序圖操作契約3/8/20232初始不是需求階段細(xì)化階段的迭代1強(qiáng)調(diào)的是根底范圍和在構(gòu)建對(duì)象系統(tǒng)中所使用的常見OOA/D技術(shù)構(gòu)件軟件其他技術(shù)也要涉及數(shù)據(jù)庫(kù)設(shè)計(jì)可用性工程UI設(shè)計(jì)在迭代開發(fā)中,并非一次實(shí)現(xiàn)所有需求在屢次迭代里對(duì)同一用例進(jìn)行增量式開發(fā)3/8/20233用例的實(shí)現(xiàn)可能在多個(gè)迭代中展開3/8/20234初始階段的工作簡(jiǎn)單的需求討論會(huì)大多數(shù)參與者、目標(biāo)和用例名稱大多數(shù)以摘要形式編寫的用例確定大多數(shù)具有影響和風(fēng)險(xiǎn)的質(zhì)量需求編寫設(shè)想和補(bǔ)充性規(guī)格說明的第一個(gè)版本風(fēng)險(xiǎn)列表技術(shù)上的概念驗(yàn)證原型和其他調(diào)查,用于揭示特殊需求的技術(shù)可行性面向用戶界面的原型,用于確定對(duì)功能需求的設(shè)想對(duì)購(gòu)置/構(gòu)建/復(fù)用構(gòu)件的建議對(duì)候選的高層架構(gòu)和構(gòu)件給出建議3/8/20235細(xì)化工作細(xì)化是核心架構(gòu)、解決高風(fēng)險(xiǎn)元素、定義大局部需求,以及預(yù)計(jì)總體進(jìn)度和資源對(duì)核心、有風(fēng)險(xiǎn)的軟件架構(gòu)進(jìn)行編程和測(cè)試發(fā)現(xiàn)并穩(wěn)定需求的主題局部躲避主要風(fēng)險(xiǎn)細(xì)化通常有兩個(gè)或多個(gè)階段細(xì)化不是設(shè)計(jì)階段3/8/20236細(xì)化最正確實(shí)踐實(shí)行短時(shí)間定量、風(fēng)險(xiǎn)驅(qū)動(dòng)的迭代及早開始編程對(duì)架構(gòu)的核心和風(fēng)險(xiǎn)局部進(jìn)行適應(yīng)性的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試盡早、頻繁、實(shí)際地測(cè)試基于來(lái)自測(cè)試、用戶、開發(fā)者的反響進(jìn)行調(diào)整通過一系列討論會(huì),詳細(xì)編寫大局部用例和其他需求,每個(gè)細(xì)化迭代舉行一次3/8/20237細(xì)化階段的制品樣例制品說明領(lǐng)域模型領(lǐng)域概念的可視化,類似于領(lǐng)域?qū)嶓w的靜態(tài)信息模型設(shè)計(jì)模型描述邏輯設(shè)計(jì)的一組圖,包括軟件類圖、對(duì)象交互圖、包圖等軟件架構(gòu)文檔學(xué)習(xí)輔助工具,概括關(guān)鍵架構(gòu)問題及其在設(shè)計(jì)中的解決方案。該文檔是對(duì)重要設(shè)計(jì)思想及其在系統(tǒng)中動(dòng)機(jī)的概要數(shù)據(jù)模型包括數(shù)據(jù)庫(kù)方案,以及在對(duì)象和非對(duì)象表示之間的映射的策略用例示意板,用戶界面模型描述用戶界面、導(dǎo)航路徑、可用性模型等3/8/20238何時(shí)知道自己并沒有理解細(xì)化階段對(duì)于大局部工程,細(xì)化階段都比“幾個(gè)〞月更長(zhǎng)只有一次迭代在細(xì)化開始之前就定義了大局部需求沒有處理具有風(fēng)險(xiǎn)的元素和核心架構(gòu)沒有產(chǎn)生可執(zhí)行架構(gòu),沒有進(jìn)行產(chǎn)品代碼的編寫認(rèn)為細(xì)化階段主要是需求和設(shè)計(jì)階段,為構(gòu)造階段的實(shí)現(xiàn)進(jìn)行準(zhǔn)備試圖在編程之前進(jìn)行徹底和細(xì)致的設(shè)計(jì)只有少量的反響和調(diào)整;用戶沒有持續(xù)地參與評(píng)估和反響沒有盡早和實(shí)際的測(cè)試在編程之前推測(cè)地結(jié)束架構(gòu)設(shè)計(jì)認(rèn)為細(xì)化階段是進(jìn)行概念驗(yàn)證編程階段,而不是對(duì)產(chǎn)品核心架構(gòu)編程階段3/8/20239領(lǐng)域模型是對(duì)領(lǐng)域內(nèi)的概念類或現(xiàn)實(shí)世界中對(duì)象的可視化表示也稱概念模型、領(lǐng)域?qū)ο竽P秃头治鰧?duì)象模型在UP中,是對(duì)現(xiàn)實(shí)世界概念類的表示,而非軟件對(duì)象的表示,該術(shù)語(yǔ)并不是指用來(lái)描述軟件類、軟件構(gòu)架類領(lǐng)域?qū)踊蛴新氊?zé)軟件對(duì)象的一組圖UP領(lǐng)域模型是UP業(yè)務(wù)對(duì)象模型的特化UML,領(lǐng)域模型被描述為一組沒有定義操作的類圖,它提供了概念透視圖領(lǐng)域?qū)ο蠡蚋拍铑惛拍铑愔g的關(guān)聯(lián)概念類的屬性3/8/202310用例制品關(guān)系樣例3/8/202311領(lǐng)域模型概念或領(lǐng)域?qū)ο箨P(guān)聯(lián)屬性SalesLineItemquantityItemSaledatatimeStoreaddressnamePaymentamountRegisterRecords-sale-of0..111..*1*1Stocked-in11Paid-by11..*HousesCaptured-on1Contained-in▼

3/8/202312領(lǐng)域模型是對(duì)所關(guān)注的現(xiàn)實(shí)世界領(lǐng)域中事物的可視化,以下元素不適用于領(lǐng)域模型軟件制品,如窗口或數(shù)據(jù)庫(kù)責(zé)任和方法3/8/202313領(lǐng)域模型表示真實(shí)世界概念類,不是軟件類SaledateTime對(duì)領(lǐng)域內(nèi)所關(guān)注的真實(shí)世界概念的可視化并非表示軟件類3/8/202314領(lǐng)域模型并非表示軟件制品或類SalesDatabase軟件制品,不屬于領(lǐng)域模型避免Saledatatimeprint()軟件類,不屬于領(lǐng)域模型避免3/8/202315領(lǐng)域模型傳統(tǒng)含義“軟件對(duì)象的領(lǐng)域?qū)莹曉诒硎緦踊騏I層之下的軟件對(duì)象層是由領(lǐng)域?qū)ο蠼M成的領(lǐng)域?qū)ο笫潜硎締栴}領(lǐng)域空間事物的軟件對(duì)象與“業(yè)務(wù)邏輯〞或“領(lǐng)域邏輯〞方法有關(guān)在本課中用“領(lǐng)域?qū)莹暠硎旧鲜龊x3/8/202316概念類概念類是思想、事物或?qū)ο蠓?hào),表示概念類的詞語(yǔ)或圖形內(nèi)涵,概念類的定義外延,概念類所適用的一組例如3/8/202317概念類具有符號(hào)、內(nèi)涵和外延SaledateTime概念符號(hào)“Sale表示購(gòu)買交易的事件,具有日期和時(shí)間“概念內(nèi)涵概念外延sale-1sale-2sale-3sale-43/8/202318領(lǐng)域模型領(lǐng)域模型不是數(shù)據(jù)類允許沒有明確要求記錄其相關(guān)信息的類允許沒有屬性的概念類如純行為角色的概念類3/8/202319OO建模減少了表示之差3/8/202320領(lǐng)域模型準(zhǔn)那么如何創(chuàng)立領(lǐng)域模型尋找概念類將其繪制為UML類圖中的類添加關(guān)聯(lián)和屬性如何找到概念類重用和修改現(xiàn)有的模型使用分類列表確定名詞短語(yǔ)3/8/202321概念類的類別準(zhǔn)則示例業(yè)務(wù)交易十分關(guān)鍵(涉及金錢),所以為起點(diǎn)Sale,Payment,Reservation交易項(xiàng)目交易中通常會(huì)涉及項(xiàng)目,所以置為二SalesLineItem與交易或交易項(xiàng)目相關(guān)的產(chǎn)品服務(wù)(產(chǎn)品或服務(wù))是交易的對(duì)象。所以置為第三Flight,Seat,Meal交易記錄在何處重要Register,LedgerFlightMainifest與交易相關(guān)的人或組織的角色;用例的參與者我們通常要知道交易所涉及的各方Cashier,Customer,StoreMonopolyPlayerPassenger,Airline交易的地點(diǎn);服務(wù)的地點(diǎn)StoreAirport,Plane,Seat重要事件,通常包括我們需要記錄的時(shí)間或地點(diǎn)Sale,PaymentMonopolyGameFlight物理對(duì)象特別是在創(chuàng)建設(shè)備控制軟件或進(jìn)行仿真時(shí)非常有用Item,Register,Board,Piece,airplane表9-1概念類分類列表3/8/202322概念類的類別準(zhǔn)則示例事物的描述ProductDescriptionFlightDescription類別描述通常有類別ProductCatalog事務(wù)(物理或信息)的容器FlightCatStore,BinBoardAirplane容器中的事物ItemSquarePassenger其他協(xié)作的系統(tǒng)CreiditAuthorizationSystemAirTrafficControl金融、工作、合約、法律材料記錄Receipt,LedgerMaintenanceLog金融手段CashCheckLineOfCreditTicketCredit執(zhí)行工作所需的進(jìn)度表、手冊(cè)、文檔等DailyPriceChangeListRepairSchedule表9-1概念類分類列表3/8/202323主成功場(chǎng)景1、顧客攜帶所購(gòu)商品或效勞到POS機(jī)付款處進(jìn)行購(gòu)置交易2、收銀員開始一次新的銷售交易3、收銀員輸入商品標(biāo)識(shí)4、系統(tǒng)逐條記錄出售的商品,并顯示該商品工程的描述、價(jià)格和累計(jì)額。價(jià)格通過一組價(jià)格規(guī)那么來(lái)計(jì)算收銀員重復(fù)3-4步,直到結(jié)束5、系統(tǒng)顯示總額和所計(jì)算的稅金6、收銀員告知顧客總額,并提請(qǐng)付款7、顧客支付,系統(tǒng)處理支付8、系統(tǒng)記錄完整的銷售信息,并將銷售和支付信息發(fā)送到外部的帳務(wù)系統(tǒng)〔進(jìn)行帳務(wù)處理和提成〕和庫(kù)存系統(tǒng)〔更新庫(kù)存〕9、系統(tǒng)打印票據(jù)10、顧客攜帶商品和票據(jù)〔如果有〕離開擴(kuò)展…7a.現(xiàn)金支付 1、收銀員輸入收取的現(xiàn)金額 2、系統(tǒng)顯示找零金額,并彈出現(xiàn)金抽屜 3、收銀員放入收取的現(xiàn)金,并給顧客找零 4、系統(tǒng)記錄該次現(xiàn)金支付3/8/202324尋找和描繪概念類3/8/202325業(yè)務(wù)建模準(zhǔn)那么敏捷建模-繪制類圖的草圖敏捷建模-是否要實(shí)用工具維護(hù)模型報(bào)表對(duì)象-模型中是否要包含“票據(jù)〞一般來(lái)說,在領(lǐng)域模型中顯示其他信息的報(bào)表并沒有意義,因?yàn)槠渌械男畔⒍际窃从诨驈?fù)制于其他信息源的像地圖繪制者一樣思考;使用領(lǐng)域術(shù)語(yǔ)使用地域中現(xiàn)有的名稱排除無(wú)關(guān)或超出范圍的特性不要憑空增加事物如何對(duì)非現(xiàn)實(shí)世界建模吸取領(lǐng)域?qū)<宜褂玫暮诵脑~匯和概念3/8/202326業(yè)務(wù)建模準(zhǔn)那么屬性與類的常見錯(cuò)誤如果我們認(rèn)為某概念類不是現(xiàn)實(shí)世界中的數(shù)字或文本,那么X可能是概念類而不是屬性SaleStoreSaleStorephoneNumberFlightdestinationFlightAirportname或…?或…?3/8/202327何時(shí)使用〞描述〞類建模描述類包含描述其他事物的信息產(chǎn)品描述〔ProductDescription〕在以下情況下需要增加描述類需要有關(guān)商品或效勞的描述,獨(dú)立于任何商品或效勞的現(xiàn)有實(shí)例刪除其所有描述事物的實(shí)例后,導(dǎo)致信息喪失,而這些信息是需要維護(hù)的,但是被錯(cuò)誤地與所刪除的事物關(guān)聯(lián)起來(lái)減少冗余或重復(fù)信息3/8/202328關(guān)于其他事物的描述較好較差3/8/202329關(guān)聯(lián)關(guān)聯(lián)〔association〕是類之間的關(guān)系,表示有意義和值得關(guān)注的鏈接UML中,關(guān)聯(lián)被定義為“兩個(gè)或多個(gè)類元之間的語(yǔ)義聯(lián)系,設(shè)計(jì)這些類元實(shí)例之間的連接〞3/8/202330關(guān)聯(lián)準(zhǔn)那么何時(shí)表示關(guān)聯(lián)如果存在需要保持一段時(shí)間的關(guān)系,將這種語(yǔ)義表示為關(guān)聯(lián)從常見關(guān)聯(lián)列表中派生的關(guān)聯(lián)重點(diǎn)關(guān)注需要記住的關(guān)聯(lián)n*(n-1)/2關(guān)聯(lián)是否會(huì)在軟件中實(shí)現(xiàn)領(lǐng)域模型不是數(shù)據(jù)模型,添加關(guān)聯(lián)是為了突出對(duì)重要關(guān)系的大致理解,而非記錄對(duì)象或數(shù)據(jù)結(jié)構(gòu)3/8/202331應(yīng)用UML關(guān)聯(lián)表示法以“類名-動(dòng)詞短語(yǔ)-類名〞格式為關(guān)聯(lián)命名,其中的動(dòng)詞短語(yǔ)構(gòu)成了可讀的和有意義的順序閱讀方向箭頭沒有其他含義,只是表示閱讀關(guān)聯(lián)標(biāo)記的方向通常省略RegisterSaleRecords-current10..1關(guān)聯(lián)名稱多重性圖9-12關(guān)聯(lián)的UML表示法3/8/202332應(yīng)用UML角色關(guān)聯(lián)的每一端為角色多重性表達(dá)名稱導(dǎo)航3/8/202333應(yīng)用UML多重性定義了類A有多少個(gè)實(shí)例可以和類B的一個(gè)實(shí)例關(guān)聯(lián)多重性的值表示在特定時(shí)刻有效關(guān)聯(lián)的實(shí)例數(shù)量多重性的值和建模者和軟件開發(fā)者的關(guān)注角度有關(guān),因?yàn)樗磉_(dá)了將要〔或可能〕早軟件中反映的領(lǐng)域約束多重性是與語(yǔ)境有關(guān)聯(lián)的3/8/202334StoreItem角色的多重性Stocks1TTTTT1..1..4053,5,80或更多,“多”1或更多1~40精確的為5精確的為3、5或8關(guān)聯(lián)的多重性多重性的值應(yīng)用UML多重性3/8/202335應(yīng)用UML兩個(gè)類之間的多重性關(guān)聯(lián)3/8/202336類型示例A是與交易B相關(guān)聯(lián)的交易CashPayment-SaleCancelation-ReservationA是交易B中的一個(gè)項(xiàng)目SaleLineItem-SaleA是交易B的產(chǎn)品或服務(wù)Item-SalesLineItem(Sale)Flight-ReservationA是與交易B相關(guān)的角色Customer-PaymentPassenger-PaymentA是B的物理或邏輯部分Drawer-RegisterSquare-BoardSeat-AirplaneA被邏輯地或物理地包含在B中Register-Store,Item-ShelfSquare-BoardPassenger-AirplaneA是B的描述ProductDescription-ItemFlightDescription-FlightA在B中被感知/記日記/記錄/生成報(bào)表/捕獲Sale-RegisterPiece-SquareReservation-FlightmainfestA是B的成員Cashier-StorePlayer-MonopolyGamepilot-AirlineA是B的組織化單元Department-StoreMaintenance-AirlineA使用/管理/擁有BCashier-RegisterPlayer-PricePilot-AirplaneA與B相鄰SalesLineItems-SalesLineItemSquare-SquareCity-City3/8/202337NextGenPos局部領(lǐng)域模型3/8/202338屬性屬性是對(duì)象的邏輯數(shù)據(jù)值當(dāng)需求建議或暗示需要記住信息時(shí),引入屬性大局部建模者會(huì)假設(shè)屬性的可見性為私有的,除非有另外的表示導(dǎo)出屬性信息由其他信息計(jì)算出來(lái)表示法visibilityname:typemultiplicity=default{property-sting}3/8/202339表示法3/8/202340屬性的類型領(lǐng)域模型中的屬性應(yīng)該是數(shù)據(jù)類型Boolean,Date,Number,Character,string,TimeAddress,Color,Geometrics(Point,rect)PhoneNumber/SocialSecurityNumber,UniversalProductCode(UPC),郵政編碼、枚舉類型通過關(guān)聯(lián)而不是屬性來(lái)表示概念類之間的關(guān)系3/8/202341較好較差非“〞數(shù)據(jù)類型“數(shù)據(jù)使用關(guān)聯(lián)而不是屬性表示關(guān)系3/8/202342數(shù)據(jù)類型數(shù)據(jù)類型是“根本〞類型,通常對(duì)內(nèi)容區(qū)分沒有實(shí)際意義數(shù)據(jù)類型值往往時(shí)恒定不變的何時(shí)增加新的類型由不同的小節(jié)組成具有與之相關(guān)的操作具有其他屬性單位的數(shù)量具有以上性的一個(gè)或多個(gè)類型的抽象3/8/202343表示對(duì)象的數(shù)據(jù)類型特性的兩種方式3/8/202344屬性應(yīng)使用關(guān)聯(lián)而不是屬性來(lái)將類型關(guān)聯(lián)起來(lái)較差較好“簡(jiǎn)單〞屬性,但是用作外鍵與其他對(duì)象關(guān)聯(lián)3/8/202345對(duì)數(shù)量建模用數(shù)字表示數(shù)量不應(yīng)該表示為純數(shù)字給數(shù)量加上單位可以把數(shù)量表示為單獨(dú)的Quantity類,并且關(guān)聯(lián)到Unit3/8/202346對(duì)數(shù)量建模無(wú)效有效3/8/202347NextGenPos局部領(lǐng)域模型3/8/202348UP制品及其時(shí)限例如〔s:開始,r:精化〕科目制品迭代初始I1細(xì)化E1..En構(gòu)造C1..Cn移交T1..Tn業(yè)務(wù)建模領(lǐng)域模型s需求用例模型sr設(shè)想sr補(bǔ)充性規(guī)格說明sr詞匯表sr設(shè)計(jì)設(shè)計(jì)模型sr軟件架構(gòu)文檔s數(shù)據(jù)模型sr3/8/202349UP制品關(guān)系例如領(lǐng)域模型saledate…..11..*quantitySalesLineItem..........用例模型ProcessSale1.Customarrives2.Cashiermakesnewsale.3.……用例名稱用例圖用例文本Operation:enterItem(…)Post-conditions:………操作契約:Cashier:SystemMakeNewSale()enterItem(id,quantity)系統(tǒng)順序圖系統(tǒng)操作設(shè)想詞匯表補(bǔ)充性規(guī)格說明要設(shè)計(jì)的啟動(dòng)事件參數(shù)和返回值的細(xì)節(jié):Register:ProductCatalog:Sale設(shè)計(jì)類型EnterItem(itemID,quantity)Spec=getProductSpec(itemID)addLineItem(spec,quantity)業(yè)務(wù)建模需求設(shè)計(jì)圖6-1UP制品影響例如3/8/202350loop[moreitems]系統(tǒng)的外部參與者UML循環(huán)交互圖框具有布爾量守護(hù)表達(dá)式與前一消息關(guān)聯(lián)的返回值;忽略了表現(xiàn)和媒介的抽象;如果沒有任何返回,那么返回線式可選的具有參數(shù)的消息;抽象地表示了以某種機(jī)制輸入支付數(shù)據(jù)的系統(tǒng)事件系統(tǒng)作為黑盒,其命名可以是“NextGenPos〞,但是“System〞保持了簡(jiǎn)潔性;3/8/202351系統(tǒng)順序圖系統(tǒng)順序圖〔SSD〕是為闡述與所討論系統(tǒng)相關(guān)的輸入和輸出事件而快速、簡(jiǎn)單地創(chuàng)立的制品在交互中,參與者對(duì)系統(tǒng)發(fā)起系統(tǒng)事件,通常需要某些系統(tǒng)操作,對(duì)這些事件加以處理系統(tǒng)順序圖表示的是,對(duì)于用例的一個(gè)特定場(chǎng)景,外部參與者產(chǎn)生的事件,其順序和系統(tǒng)之內(nèi)的事件需要處理和響應(yīng)這些事件來(lái)設(shè)計(jì)軟件來(lái)自參與者〔人或計(jì)算機(jī)〕的外部事件時(shí)間事件錯(cuò)誤或異常3/8/202352loop[moreitems]只有現(xiàn)金支付并簡(jiǎn)化的處理銷售場(chǎng)景1、顧客攜帶所購(gòu)商品和效勞到POS機(jī)付款處進(jìn)行購(gòu)置交易2、收銀員開始一次新的銷售交易3、收銀員輸入商品工程標(biāo)識(shí)4、系統(tǒng)逐條記錄出售的商品工程,并顯示該商品工程的描述、價(jià)格和累計(jì)額。價(jià)格通過一組價(jià)格規(guī)那么來(lái)計(jì)算收銀員重復(fù)步驟3-4,指導(dǎo)結(jié)束5、系統(tǒng)顯示總額和所計(jì)算的稅金6、收銀員告知顧客總額并提請(qǐng)付款7、顧客支付,系統(tǒng)處理支付?!?/8/202353系統(tǒng)事件的命名系統(tǒng)事件應(yīng)該在意圖的抽象級(jí)別而非物理的輸入設(shè)備級(jí)別來(lái)表達(dá)系統(tǒng)事件的名稱以動(dòng)詞開始較好的命名較差的命名3/8/202354UP制品關(guān)系例如領(lǐng)域模型saledate…..11..*quantitySalesLineItem..........用例模型ProcessSale1.Customarrives2….3.Cashierentersitemidentifier用例名稱用例圖用例文本Operation:enterItem(…)Post-conditions:………操作契約:Cashier:SystemMakeNewSale()enterItem(id,quantity)系統(tǒng)順序圖系統(tǒng)操作設(shè)想詞匯表補(bǔ)充性規(guī)格說明要設(shè)計(jì)的啟動(dòng)事件,并包含了軟件必須滿足的更為細(xì)化的需求軟件必須滿足需求:Register:ProductCatalog:Sale設(shè)計(jì)類型EnterItem(itemID,quantity)Spec=getProductSpec(itemID)addLineItem(spec,quantity)業(yè)務(wù)建模需求設(shè)計(jì)圖6-1UP制品影響例如系統(tǒng)事件用于后置條件的想法經(jīng)歷變化的領(lǐng)域?qū)ο?、屬性和關(guān)系3/8/202355契約CO2:enterItem操作:enterItem(itemID:ItemID,quantity:integer)交叉引用:用例:處理銷售前置條件:正在進(jìn)行的銷售后置條件:創(chuàng)建了SaleLineItem的實(shí)例sli(創(chuàng)建實(shí)例)sli與當(dāng)前Sale關(guān)聯(lián)(形成關(guān)聯(lián))sli.quantity賦值為quantity(修正屬性)基于itemID的匹配,將sli關(guān)聯(lián)到productDescription(形成關(guān)聯(lián))3/8/202356操作契約內(nèi)容操作:操作的名稱和參數(shù)交叉引用:會(huì)發(fā)生操作的用例前置條件:執(zhí)行操作之前,對(duì)系統(tǒng)或領(lǐng)域模型對(duì)象狀態(tài)的重要假設(shè)后置條件:最重要的部分,領(lǐng)域模型對(duì)象的狀態(tài)3/8/202357定義系統(tǒng)操作系統(tǒng)操作為黑盒構(gòu)件的系統(tǒng)在其公共接口中提供的操作設(shè)計(jì)所有用例的系統(tǒng)操作的完整集合將系統(tǒng)視為一個(gè)構(gòu)件或類,定義了公共的系統(tǒng)接口System類的一個(gè)對(duì)象3/8/202358loop[moreitems]這些輸入系統(tǒng)事件調(diào)用系統(tǒng)操作系統(tǒng)事件enterItem調(diào)用稱為enterItem的系統(tǒng)操作這和在面向?qū)ο缶幊虝r(shí),我們所說的消息foo調(diào)用方法(處理操作)foo是一回事系統(tǒng)操作處理輸入的系統(tǒng)事件3/8/202359定義后置條件后置條件描述了領(lǐng)域模型內(nèi)對(duì)象狀態(tài)的變化后置條件不是在操作過程中執(zhí)行的活動(dòng),是對(duì)領(lǐng)域模型對(duì)象的觀察結(jié)果,當(dāng)操作完成后,這些結(jié)果為真創(chuàng)立或刪除實(shí)例屬性值的變化形成或消除關(guān)聯(lián)后置條件并不總是需要的,但有時(shí)需要更詳細(xì)和精確的描述,契約正提供了此類描述3/8/202360定義契約如果開發(fā)者在沒有操作契約的情況下,能夠準(zhǔn)確地理解所需要完成的工作,那

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論