下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程2018考試試卷軟件工程2018考試試卷軟件工程2018考試試卷資料僅供參考文件編號:2022年4月軟件工程2018考試試卷版本號:A修改號:1頁次:1.0審核:批準(zhǔn):發(fā)布日期:一、選擇題(每題2分,共20分)若類A中包含了類B的實例,且當(dāng)類A的實例消失時,類B的實例仍然存在并能夠繼續(xù)工作,那么類A和類B之間存在(C)關(guān)系。A.繼承B.依賴C.聚合D.組合在面向?qū)ο筌浖_發(fā)過程中,采用設(shè)計模式(C)。A.可以減少在設(shè)計和實現(xiàn)過程中需要創(chuàng)建的實例對象的數(shù)量B.可以保證程序的運行速度達(dá)到最優(yōu)值C.可以復(fù)用相似問題的相同解決方案D.允許在非面向?qū)ο蟪绦蛟O(shè)計語言中使用面向?qū)ο蟮母拍顚lexander的模式哲學(xué),以下敘述正確的是(B)。A學(xué)習(xí)設(shè)計模式,可以完全解決軟件開發(fā)中的變化情況.B.每個模式,可以無數(shù)次使用模式提供的解決方案,而不必再次重復(fù)同樣的工作方式.C.設(shè)計模式總是可以為需求的變化提供更好的解決方案.D.設(shè)計模式描述一個在開發(fā)的軟件環(huán)境中不斷產(chǎn)生新的問題時,能提供很好的解決方案.當(dāng)我們想創(chuàng)建一個具體的對象而又不希望指定具體的類時,可以使用(A)模式。A.創(chuàng)建型 B.結(jié)構(gòu)型 C.行為型 D.以上都可以(B)不是實現(xiàn)單例模式的要點。A.構(gòu)造函數(shù)為私有B.單例類不能被繼承C.由單例類自行創(chuàng)建單個實例D.必須自行向整個系統(tǒng)提供唯一實例6.設(shè)計模式的兩大主題是(D)A.系統(tǒng)的維護(hù)與開發(fā)B.對象組合與類的繼承C.系統(tǒng)架構(gòu)與系統(tǒng)開發(fā)D.系統(tǒng)復(fù)用與系統(tǒng)擴展關(guān)于繼承表述錯誤的是(D)A.繼承是一種通過擴展一個已有對象的實現(xiàn),從而獲得新功能的復(fù)用方法。B.泛化類(超類)可以顯式地捕獲那些公共的屬性和方法。特殊類(子類)則通過附加屬性和方法來進(jìn)行實現(xiàn)的擴展。C.破壞了封裝性,因為這會將父類的實現(xiàn)細(xì)節(jié)暴露給子類。D.繼承本質(zhì)上是“白盒復(fù)用”,對父類的修改,不會影響到子類。代理模式包括(D)角色。A.接收者、命令接口、具體命令、請求者B.環(huán)境、抽象狀態(tài)、具體狀態(tài)C.抽象組件、具體組件、裝飾、具體裝飾D.抽象主題、實際主題、代理以下關(guān)于命令模式的敘述錯誤的是(D)。A.命令模式將一個請求封裝為一個對象,從而使我們可用不同的請求對客戶進(jìn)行參數(shù)化B.命令模式實現(xiàn)請求發(fā)送者和請求接收者解耦C.使用命令模式會導(dǎo)致某些系統(tǒng)有過多的具體命令類D.命令模式是對命令的封裝,命令模式把發(fā)出命令的責(zé)任和執(zhí)行命令的責(zé)任集中在同一個類中某系統(tǒng)中的文本顯示類(TextView)和圖片顯示類(PictureView)都繼承了組件類(Component),分別顯示文本和圖片內(nèi)容,現(xiàn)需要構(gòu)造帶有滾動條、或者帶有黑色邊框、或者既有滾動條又有黑色邊框的文本顯示控件和圖片顯示控件,為了減少類的個數(shù)可使用以下哪種設(shè)計模式(C)A.工廠模式B.組合模式C.裝飾模式D.策略模式某系統(tǒng)中用戶可自行動態(tài)選擇某種排序算法之一(如選擇排序、冒泡排序、插入排序)來實現(xiàn)某功能,該系統(tǒng)的設(shè)計可以使用以下哪種設(shè)計模式(D)A.狀態(tài)模式B.策略模式C.模板方法模式D.工廠方法模式二、判斷題(每題2分,共10分)(1班作單數(shù)題,2班作雙數(shù)題)一個類承擔(dān)的職責(zé)越多,越容易復(fù)用,被復(fù)用的可能性越大。(X)工廠方法模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態(tài),工廠方法模式退化后可以演變成簡單工廠模式。(X)工廠方法模式對應(yīng)唯一一個產(chǎn)品等級結(jié)構(gòu),而抽象工廠模式則需要面對多個產(chǎn)品等級結(jié)構(gòu)。(√)命令模式將一個請求封裝為一個對象,從而使我們可用不同的請求對客戶進(jìn)行參數(shù)化。(√)Windows操作系統(tǒng)中的應(yīng)用程序桌面快捷方式體現(xiàn)了代理模式。(√)一個軟件實體應(yīng)當(dāng)盡可能少的與其他軟件實體發(fā)生相互作用,這樣,當(dāng)一個模塊修改時,就會盡量少的影響其他模塊,擴展會相對容易。(√)電視機遙控器的設(shè)計中蘊含了命令模式的思想。(√)一個軟件實體應(yīng)當(dāng)盡可能少的與其它軟件實體發(fā)生相互作用,這樣,當(dāng)一個模塊修改時,就會盡量少的影響其他模塊,擴展會相對容易。(√)適配器模式使原本由于接口不兼容而不能一起工作的那些類可以一起工作。(√)Java中支持克隆的類必須實現(xiàn)Cloneable接口,clone()方法對于任何對象x,都有()==x,并且().getClass==().getClass()。(X)填空題(每題2分,共16分)在面向?qū)ο笤O(shè)計原則中,___原則是指子類應(yīng)該可以替換父類并出現(xiàn)在父類能夠出現(xiàn)的任何地方。最基本的UML圖是。它不僅描述了類,而且說明了類之間的關(guān)系。模式可以根據(jù)參數(shù)的不同返回不同類的實例。模式中,父類負(fù)責(zé)定義創(chuàng)建對象的公共接口,子類則負(fù)責(zé)生成具體的對象。模式將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。使得用戶對單個對象和組合對象的使用具有一致性。我(Me)和妹妹(Sister)跟媽媽(Mother)說:“媽媽,我和妹妹在院子里玩。飯做好了叫我們一聲?!痹搱鼍疤N含了模式。模式使原本接口不兼容而不能一起工作的類可以一起工作。在對象適配器模式中適配器類與適配者類是關(guān)系。程序填寫題(每空分,共10分)某軟件公司承接了某信息咨詢公司的收費商務(wù)信息查詢系統(tǒng)的開發(fā)任務(wù),該系統(tǒng)的基本需求如下:(1)在進(jìn)行商務(wù)信息查詢之前用戶需要通過身份驗證,只有合法用戶才能夠使用該查詢系統(tǒng);(2)在進(jìn)行商務(wù)信息查詢時系統(tǒng)需要記錄查詢?nèi)罩?,以便根?jù)查詢次數(shù)收取查詢費用。該軟件公司開發(fā)人員已完成了商務(wù)信息查詢模塊的開發(fā)任務(wù),現(xiàn)希望能夠以一種松耦合的方式向原有系統(tǒng)增加身份驗證和日志記錄功能,客戶端代碼可以無區(qū)別地對待原始的商務(wù)信息查詢模塊和增加新功能之后的商務(wù)信息查詢模塊,而且可能在將來還要在該信息查詢模塊中增加一些新的功能。現(xiàn)使用代理模式設(shè)計并實現(xiàn)該收費商務(wù)信息查詢系統(tǒng)。interfaceSearcher{ (1)}classRealSearcherimplementsSearcher{ publicStringdoSearch(StringuserId,Stringkeyword){ "用戶'"+userId+"'使用關(guān)鍵詞'"+keyword+"'查詢商務(wù)信息!"); return"返回具體內(nèi)容"; }}classAccessValidator{ publicbooleanvalidate(StringuserId){ "驗證用戶'"+userId+"'是否是合法用戶"); if("設(shè)計模式")){ "'"+userId+"'登錄成功!"); returntrue; } else{ "'"+userId+"'登錄失?。?); returnfalse; } }}classLogger{ publicvoidlog(StringuserId){ "更新數(shù)據(jù)庫,用戶'"+userId+"'查詢次數(shù)加1!"); }}classProxySearcherimplementsSearcher{ privateRealSearchersearcher=newRealSearcher(); (2) privateLoggerlogger; publicStringdoSearch(StringuserId,Stringkeyword){ if(userId)){ Stringresult=(userId,keyword); (userId); returnresult; } else{ returnnull; } } publicbooleanvalidate(StringuserId){ validator=newAccessValidator(); return(userId); } publicvoidlog(StringuserId){ (3) (userId); }}publicclassClient{ publicstaticvoidmain(Stringargs[]){ (4) Stringresult=("設(shè)計模式","計算機"); }}問答題(共34分)已知三個類和C.其中類A由類B的一個實類和類C的1個或多個實類構(gòu)成.請畫出能夠正確表示類A,B和C之間關(guān)系的UML類圖。(4分)什么是設(shè)計模式按照設(shè)計模式用途可以分為哪三類,簡要說明這三類設(shè)計模式的作用(10分)什么是開閉原則?畫出工廠模式中的簡單工廠模式、工廠方法模式的類圖,并說明是否支持開閉原則。(10分)某工業(yè)控制系統(tǒng)的“主控界面(MainFrame)”說明如下:(1)該主控界面所占內(nèi)存較多,需采用一種合適的解決方案控制主控界面實例數(shù)量只有1個,進(jìn)而節(jié)約系統(tǒng)資源,提高系統(tǒng)性能。(2)該主控界面需提供“一鍵啟動”和“一
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024機械設(shè)備的購銷合同范本
- 二零二五版1209兩人共同投資智能家居系統(tǒng)集成合同3篇
- 2024法院簽的離婚協(xié)議算不算離婚
- 2024汽車制造技術(shù)與專利許可合同
- 二零二五版吊車租賃合同安全教育與培訓(xùn)協(xié)議3篇
- 2025年度市政設(shè)施改造出渣承包管理協(xié)議3篇
- 二零二五年度醫(yī)藥產(chǎn)品鋪貨與區(qū)域分銷合同3篇
- 西南政法大學(xué)《無機材料合成與制備》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五版LNG液化天然氣運輸船舶改造合同3篇
- 武漢鐵路職業(yè)技術(shù)學(xué)院《教師職業(yè)規(guī)劃與就業(yè)指導(dǎo)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年中國高純生鐵行業(yè)政策、市場規(guī)模及投資前景研究報告(智研咨詢發(fā)布)
- 2022-2024年浙江中考英語試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報告
- 央視網(wǎng)2025亞冬會營銷方案
- 北師大版數(shù)學(xué)三年級下冊豎式計算題100道
- 計算機網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項目施工重點難點分析及應(yīng)對措施
- 廚房的管理流程與制度及廚房崗位工作流程
- 鐵路危險源辨識
評論
0/150
提交評論