面向?qū)ο蠓治雠c設(shè)計復(fù)習(xí)資料資料_第1頁
面向?qū)ο蠓治雠c設(shè)計復(fù)習(xí)資料資料_第2頁
面向?qū)ο蠓治雠c設(shè)計復(fù)習(xí)資料資料_第3頁
面向?qū)ο蠓治雠c設(shè)計復(fù)習(xí)資料資料_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

一、單項選擇題(本大題共 20小題,每小題 1分,共20分)。用例圖、類圖、順序圖、通信圖、活動圖、狀態(tài)圖、部署圖、組件圖選擇題讓識別的時候不會給出關(guān)鍵字,可能給大概形狀。選擇題不曉得考什么,看的全些把。二、簡答題(本大題共3小題,第1小題8分,第2、3小題各6分,共20分)第1章:面向?qū)ο蠓椒ㄅc傳統(tǒng)方法對比結(jié)構(gòu)化方法以過程為中心構(gòu)造系統(tǒng),強調(diào)過程抽象和模塊化,將現(xiàn)實世界映射為數(shù)據(jù)流和加工,加工之間通過數(shù)據(jù)流進行通信,數(shù)據(jù)作為被動的實體被主動的操作所加工。面向?qū)ο蠓椒ㄒ詫ο髞順?gòu)造系統(tǒng),把世界看成對象的集合,對象將數(shù)據(jù)和操作封裝在一起,提供有限的外部接口,其內(nèi)部的實現(xiàn)細節(jié)、數(shù)據(jù)結(jié)構(gòu)及對它們的操作是外部不可見的,對象之間通過消息相互通信。面向?qū)ο蟮膬?yōu)點(1)面向?qū)ο蠓椒◤娬{(diào)把問題域的概念直接映射到對象以及對象之間的接口,符合人們通常的思維方式,減少了結(jié)構(gòu)化方法從問題域到分析階段的映射誤差。面向?qū)ο蠓椒◤姆治龅皆O(shè)計采用一致的模型表示,每一階段可以直接復(fù)用前一階段的工作成果,彌合了結(jié)構(gòu)化方法從數(shù)據(jù)流圖到模塊結(jié)構(gòu)圖轉(zhuǎn)換的鴻溝,減少了工作量和映射誤差。(3)面向?qū)ο蠓椒ㄩ_發(fā)的軟件,具有易于修改和維護的特性。把屬性和服務(wù)封裝在“對象”中;改動局限于一個對象的內(nèi)部,減少了改動所引起的系統(tǒng)波動效應(yīng)。(4)面向?qū)ο蠓椒ň哂械睦^承性和封裝性支持軟件復(fù)用,使軟件易于擴充,能較好地適應(yīng)復(fù)雜大系統(tǒng)不斷發(fā)展和變化的要求。第5章:建立輔助模型一個名詞分類四種消息類型(第五章課件第9頁)(1)簡單消息(SimpleMessage)以一種簡單、抽象的函數(shù)表示對象之間的信息傳遞,不考慮通信過程的內(nèi)部細節(jié)。簡單消息在UML順序圖中用普通的有向箭頭表示。(2)同步消息(SynchronousMessage)消息源發(fā)出消息后必須等待消息處理過程完畢并返回處理結(jié)果后,消息源才可繼續(xù)執(zhí)行后續(xù)操作。同步消息的表示圖與簡單消息相同,這表明UML在缺省情形下認為簡單消息即為同步消息。異步消息(AsynchronousMessage)表示,消息源發(fā)出消息后不必等待消息處理過程的返回,即可繼續(xù)執(zhí)行自己的后續(xù)操作。異步消息主要用于描述實時系統(tǒng)中的并發(fā)行為。返回消息(Returnmessage)表示前面發(fā)送的消息的處理過程完結(jié)之后的返回結(jié)果。返回消息應(yīng)該是同步的。在許多情況下,可以隱藏返回消息,但也可顯式標(biāo)出返回消息以示強調(diào)。返回消息用虛線有向箭頭表示。一個對象可以通過發(fā)送標(biāo)準(zhǔn)消息 “new來”創(chuàng)建另一個對象。當(dāng)一個對象被刪除或自我刪除時,該對象的生命線上的相應(yīng)時間點應(yīng)該用叉號 (對象生命線終結(jié)符 )標(biāo)識。這章問答題還可能考順序圖的四種元素:類角色,生命線,激活期和消息。還有人說,第五章的可能考91頁事件的四種分類:信號事件、調(diào)用事件、時間事件和改變事件第6章:面向?qū)ο笤O(shè)計模型OOD模型包括一個核心部分,既問題域部分,四個外圍部分,既人機交互部分、控制驅(qū)動部分、數(shù)據(jù)管理部分和構(gòu)件及部署部分。初始的問題域部分既為OOA模型,要按照事先條件對其進行補充和調(diào)整;人機交互部分既人機界面設(shè)計部分;控制驅(qū)動部分用來定義和協(xié)調(diào)并發(fā)的各個控制流;數(shù)據(jù)管理部分用來對永久對象的存取建模;構(gòu)件及部署部分中的構(gòu)件模型用于描述構(gòu)件以及構(gòu)件之間的關(guān)系,部署模型用于描述節(jié)點、節(jié)點之間的關(guān)系以及構(gòu)件在節(jié)點上的分布。對于上述的每個部分,扔采用 OOA的概念和表示法,只是在輔助模型中要增加分別用于描述構(gòu)件模型和部署模型的構(gòu)件圖和部署圖。要強調(diào)的是從 OOA到OOD所進行的不是轉(zhuǎn)換而是調(diào)整和增補。 OOD的過程由上述五個部分相對應(yīng)的五項活動組成。 OOD過程不強調(diào)活動的執(zhí)行順序。但是構(gòu)件及部署部分模型要在上述四個部分完成后進行。第六章課本 107頁圖下面兩段話,不是一段三、看圖回答問題(本大題共 2小題,第 1小題10分,第2小題15分,共25分)第5章:建立輔助模型(順序圖、活動圖、狀態(tài)圖)給出圖說出工作流程,做什么的第五章看圖回答問題老師說讓看看狀態(tài)圖, 只考解釋,不考填空,可能是大概的敘述順序圖或狀態(tài)圖什么的執(zhí)行過程。第7章:問題域部分的設(shè)計(多對多關(guān)聯(lián)、多元關(guān)聯(lián) 、多重繼承)多對多關(guān)聯(lián)....進行轉(zhuǎn)換,為什么轉(zhuǎn)換,有什么缺點在OOA中可能含有多元關(guān)聯(lián)和多對多關(guān)聯(lián),在 OOD模型中出現(xiàn)了多繼承,而所采用的編程語言不支持關(guān)聯(lián)關(guān)系、多繼承,甚至不支持繼承。這就需要進行轉(zhuǎn)換。多對多關(guān)聯(lián)的缺點: 無論是哪一端類的對象用指針指向另一端類的對象, 類中所設(shè)立的指針數(shù)目都是不定的。解決方法:可以使用指針鏈表,或者把多對多轉(zhuǎn)化成一對多。四、設(shè)計題(本大題共 3小題,第 1、2小題各10分,第3小題15分,共35分)第4章:類圖類圖繼承 給一段話,找出類,映射為表據(jù)說類圖設(shè)計也不會考太難的,都是課件上的。第10章:數(shù)據(jù)管理部分的設(shè)計三種方法,說出優(yōu)缺點對關(guān)系的存儲對關(guān)聯(lián)的存儲設(shè)計在關(guān)系數(shù)據(jù)庫中按下述方法對關(guān)聯(lián)進行數(shù)據(jù)存放:1.一對一的關(guān)聯(lián)映射到一張獨立的表,在各類對應(yīng)的表中用外鍵隱含;也可把兩個類和關(guān)聯(lián)放在同一表中。2.一對多的關(guān)聯(lián)映射到一張獨立的表 ,在“多”的類對應(yīng)的表中用外鍵隱含。3.多對多的關(guān)聯(lián)映射到一張獨立的表, 該表的主關(guān)鍵字是兩個進行關(guān)聯(lián)的表的主關(guān)鍵字的拼接;或者把它轉(zhuǎn)化為一對多的關(guān)聯(lián),然后再按一對多的方式進行處理。對聚合的存儲設(shè)計聚合遵循與關(guān)聯(lián)同樣的規(guī)則對繼承的存儲設(shè)計可采用下述方法之一,進行數(shù)據(jù)存放。1.把一般類的各個子類的屬性都集中到一般類中,創(chuàng)建一個表。2.為一般類(非抽象類)創(chuàng)建一個表,并為它的各個特殊類各創(chuàng)建一個表。一般類的表與各子類的表要用同樣的屬性作為主關(guān)鍵字。3.如果一般類為抽象類,則要把一般類的屬性放到各子類中,為它的子類各建立一張表。若一般類不為抽象類,也可采用該做法。上述是對單繼承的處理方法,對于多繼承的處理與此類似。這張圖老師說好好看看,怎么轉(zhuǎn)換流轉(zhuǎn)記錄-ID:int-審批意見 :string-時間:object-審核人Id:int1*績效計劃個人月績效計劃個人周績效計劃-月份:uint-ID:int-周:int-用戶ID:int-狀態(tài):string-標(biāo)題:string-創(chuàng)建時間:string-年份:string部門月績效計劃-月份:int-用戶ID:int三種方法都要會,優(yōu)點缺點在第十章課件 33頁,內(nèi)容如下:1)(上拉)去掉繼承的結(jié)構(gòu),使一個層次的任何一個類的所有實例都擁有相同的狀態(tài)。這種方法的缺點是對許多實例要存儲大量的冗余信息。2)(下推)為每一個子類定義一個單獨的表。這種方法簡單,但存在一些問題,因為當(dāng)增加新的子類或修改父類時,對數(shù)據(jù)庫的維護是麻煩的。(3)(分割表)將父類和子類的狀態(tài)存儲在不同的表中。 這種方法很好地反映了繼承,的缺點是訪問數(shù)據(jù)時需要許多跨表連接。第12章:若干典型設(shè)計模式若干典型 給出圖填對應(yīng)部分代碼 原題observer adapter

但它考adapter、strategy可能性比 observer大點,因為代碼比較簡單,都是課件上的。<四>適配器模式( AdapterPattern )概述在軟件系統(tǒng)中,由于應(yīng)用環(huán)境的變化,常常需要將“一些現(xiàn)存的對象”放在新的環(huán)境中應(yīng)用,但是新環(huán)境要求的接口是這些現(xiàn)存對象所不滿足的。那么如何應(yīng)對這種“遷移的變化”?如何既能利用現(xiàn)有對象的良好實現(xiàn),同時又能滿足新的應(yīng)用環(huán)境所要求的接口?意圖將一個類的接口轉(zhuǎn)換成客戶希望的另外一個接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。Adapter可以分為類模式和對象模式兩種,類模式通過多重繼承實現(xiàn),對象模式通過委托實現(xiàn)?,F(xiàn)在雖然有一個XXCircle類,但它并不繼承自Shape類,雖然它里面的方法內(nèi)容是需要的,但方法名卻和需要的方法名卻有些出入(注意紅色字體),用Adapter模式設(shè)計Circle類:classCircleextendsShape{privateXXCircle myXXCircle;publicCircle(){myXXCircle=newXXCircle();}publicvoidsetLocation(...){myXXCircle.setLocationlt(...);}public...getLocation(){myXXCircle.getLocationlt();}publicvoiddisplay(){myXXCircle.displaylt();}...}類的Adapter模式案例首先,假設(shè)我們在設(shè)計一個關(guān)于形狀的程序,我們首先要創(chuàng)建一個父類:classShape{publicvoidsetLocation(...){}public...getLocation(){}publicvoiddisplay(){}}classXXCircle{publicvoidsetLocationlt(...){...}public...getLocationlt(){...}publicvoiddisplaylt(){...}...}

然后,我們有3個類分別為:點類,線類,矩形類都繼承自父類:classPointextendsShape{publicvoidsetLocation(...){...}public...getLocation(){...}publicvoiddisplay(){...}}classLineex

溫馨提示

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

最新文檔

評論

0/150

提交評論