全國(guó)計(jì)算機(jī)軟考 中級(jí)軟件設(shè)計(jì)師必考題目_第1頁(yè)
全國(guó)計(jì)算機(jī)軟考 中級(jí)軟件設(shè)計(jì)師必考題目_第2頁(yè)
全國(guó)計(jì)算機(jī)軟考 中級(jí)軟件設(shè)計(jì)師必考題目_第3頁(yè)
全國(guó)計(jì)算機(jī)軟考 中級(jí)軟件設(shè)計(jì)師必考題目_第4頁(yè)
全國(guó)計(jì)算機(jī)軟考 中級(jí)軟件設(shè)計(jì)師必考題目_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

全國(guó)計(jì)算機(jī)軟考中級(jí)軟件設(shè)計(jì)師必考題目

姓名:__________考號(hào):__________題號(hào)一二三四五總分評(píng)分一、單選題(共10題)1.在面向?qū)ο笤O(shè)計(jì)中,一個(gè)類(lèi)實(shí)例可以擁有哪些特性?()A.方法B.屬性C.狀態(tài)D.以上都是2.下列哪個(gè)是數(shù)據(jù)庫(kù)的完整性約束?()A.視圖B.觸發(fā)器C.索引D.唯一3.UML類(lèi)圖中,哪個(gè)符號(hào)表示類(lèi)之間的關(guān)系?()A.箭頭B.線(xiàn)條C.箭頭加線(xiàn)條D.加號(hào)4.下列哪個(gè)設(shè)計(jì)模式符合開(kāi)閉原則?()A.單例模式B.工廠(chǎng)模式C.觀察者模式D.責(zé)任鏈模式5.在Java中,下列哪個(gè)關(guān)鍵字用于聲明抽象類(lèi)?()A.abstractB.finalC.interfaceD.static6.SQL中,如何創(chuàng)建一個(gè)視圖?()A.CREATEVIEW視圖名稱(chēng)ASSELECT語(yǔ)句B.CREATETABLE視圖名稱(chēng)ASSELECT語(yǔ)句C.SELECTINTO視圖名稱(chēng)ASSELECT語(yǔ)句D.INSERTINTO視圖名稱(chēng)SELECT語(yǔ)句7.在JavaScript中,下列哪個(gè)函數(shù)用于判斷字符串是否以某個(gè)子字符串開(kāi)始?()A.startsWith()B.endsWith()C.includes()D.substring()8.下列哪個(gè)是Java中的垃圾回收機(jī)制?()A.finalB.finalize()C.try-with-resourcesD.catch9.UML時(shí)序圖中,實(shí)線(xiàn)箭頭表示什么?()A.消息發(fā)送B.異常發(fā)生C.生命周期D.異步通信10.在Python中,下列哪個(gè)操作符用于字符串的連接?()A.+B.-C.*D./二、多選題(共5題)11.在軟件設(shè)計(jì)中,以下哪些原則有助于提高軟件的模塊化程度?()A.單一職責(zé)原則B.開(kāi)閉原則C.迪米特法則D.里氏替換原則12.數(shù)據(jù)庫(kù)規(guī)范化理論中,第一范式(1NF)的主要要求是什么?()A.每個(gè)屬性都是不可分割的值B.每個(gè)字段都是原子性數(shù)據(jù)C.每個(gè)表只包含一個(gè)實(shí)體集D.每個(gè)非主屬性完全依賴(lài)于主鍵13.在UML中,以下哪些圖形表示系統(tǒng)中的組件?()A.類(lèi)圖B.包圖C.用例圖D.時(shí)序圖14.在軟件測(cè)試過(guò)程中,以下哪些方法屬于黑盒測(cè)試?()A.等價(jià)類(lèi)劃分法B.邊界值分析法C.錯(cuò)誤猜測(cè)法D.白盒測(cè)試15.在軟件需求分析階段,以下哪些文檔是必須生成的?()A.需求規(guī)格說(shuō)明書(shū)B(niǎo).系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)C.用戶(hù)手冊(cè)D.測(cè)試計(jì)劃三、填空題(共5題)16.面向?qū)ο笤O(shè)計(jì)中,一個(gè)類(lèi)通過(guò)繼承關(guān)系繼承另一個(gè)類(lèi)的屬性和方法,這種機(jī)制稱(chēng)為_(kāi)_____。17.數(shù)據(jù)庫(kù)規(guī)范化中的第二范式(2NF)要求滿(mǎn)足第一范式,且______。18.UML時(shí)序圖中,______表示對(duì)象之間的交互。19.軟件開(kāi)發(fā)生命周期(SDLC)中的______階段負(fù)責(zé)識(shí)別和記錄用戶(hù)需求。20.Java中的______關(guān)鍵字用于聲明一個(gè)抽象方法。四、判斷題(共5題)21.在Java中,一個(gè)類(lèi)可以繼承多個(gè)類(lèi)。()A.正確B.錯(cuò)誤22.數(shù)據(jù)庫(kù)規(guī)范化理論中,第三范式(3NF)要求滿(mǎn)足第二范式,且非主屬性之間相互獨(dú)立。()A.正確B.錯(cuò)誤23.UML用例圖中,參與者(Actor)可以與用例(UseCase)直接交互。()A.正確B.錯(cuò)誤24.軟件測(cè)試過(guò)程中,單元測(cè)試通常在集成測(cè)試之后進(jìn)行。()A.正確B.錯(cuò)誤25.在軟件開(kāi)發(fā)生命周期(SDLC)中,需求分析階段是確定軟件系統(tǒng)必須做什么的階段。()A.正確B.錯(cuò)誤五、簡(jiǎn)單題(共5題)26.請(qǐng)解釋什么是數(shù)據(jù)庫(kù)的規(guī)范化以及它的作用。27.簡(jiǎn)述面向?qū)ο笤O(shè)計(jì)中的封裝、繼承和多態(tài)三個(gè)基本概念。28.如何設(shè)計(jì)一個(gè)簡(jiǎn)單的單例模式?29.在軟件測(cè)試中,如何進(jìn)行邊界值分析?30.請(qǐng)簡(jiǎn)述軟件開(kāi)發(fā)生命周期(SDLC)中的各個(gè)階段及其作用。

全國(guó)計(jì)算機(jī)軟考中級(jí)軟件設(shè)計(jì)師必考題目一、單選題(共10題)1.【答案】D【解析】面向?qū)ο笤O(shè)計(jì)中的類(lèi)實(shí)例可以擁有方法(行為)和屬性(狀態(tài)),所以答案為D.2.【答案】D【解析】在數(shù)據(jù)庫(kù)中,唯一性約束(UNIQUE)是用于確保列中存儲(chǔ)的唯一值的完整性約束,所以答案是D.3.【答案】C【解析】UML類(lèi)圖中,使用帶有箭頭和線(xiàn)條的符號(hào)表示類(lèi)之間的關(guān)系,表示繼承,所以答案是C.4.【答案】B【解析】開(kāi)閉原則指的是軟件實(shí)體應(yīng)該對(duì)擴(kuò)展開(kāi)放,對(duì)修改封閉。工廠(chǎng)模式通過(guò)在運(yùn)行時(shí)動(dòng)態(tài)指定創(chuàng)建對(duì)象的類(lèi)來(lái)達(dá)到對(duì)修改封閉、對(duì)擴(kuò)展開(kāi)放的效果,所以答案是B.5.【答案】A【解析】Java中,使用關(guān)鍵字abstract聲明抽象類(lèi),所以答案是A.6.【答案】A【解析】SQL中,使用CREATEVIEW語(yǔ)句來(lái)創(chuàng)建視圖,所以答案是A.7.【答案】A【解析】在JavaScript中,startsWith()函數(shù)用于檢測(cè)字符串是否以給定的子字符串開(kāi)頭,所以答案是A.8.【答案】B【解析】Java中的finalize()方法是對(duì)象被垃圾回收器回收前由Java虛擬機(jī)調(diào)用的方法,用于進(jìn)行垃圾回收前的清理工作,所以答案是B.9.【答案】A【解析】UML時(shí)序圖中,實(shí)線(xiàn)箭頭表示消息發(fā)送,所以答案是A.10.【答案】A【解析】在Python中,使用加號(hào)(+)操作符來(lái)連接字符串,所以答案是A.二、多選題(共5題)11.【答案】ABCD【解析】單一職責(zé)原則、開(kāi)閉原則、迪米特法則和里氏替換原則都是提高軟件模塊化程度的重要原則,它們分別強(qiáng)調(diào)了模塊職責(zé)單一、模塊接口封閉、模塊間的低耦合和高內(nèi)聚以及模塊間的關(guān)系限制,所以答案是ABCD。12.【答案】AB【解析】第一范式(1NF)要求數(shù)據(jù)庫(kù)表中的所有字段都是原子性的,即不可分割的值,并且每個(gè)字段都是原子性數(shù)據(jù),所以答案是AB。13.【答案】B【解析】UML的包圖(PackageDiagram)表示系統(tǒng)中的組件,它提供了對(duì)系統(tǒng)分解的方式,所以答案是B。類(lèi)圖(ClassDiagram)、用例圖(UseCaseDiagram)和時(shí)序圖(SequenceDiagram)分別用于表示系統(tǒng)的結(jié)構(gòu)、功能和交互,它們不是表示組件的圖形。14.【答案】ABC【解析】等價(jià)類(lèi)劃分法、邊界值分析法和錯(cuò)誤猜測(cè)法都是黑盒測(cè)試的方法,它們關(guān)注于輸入和輸出,不關(guān)心程序內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)。白盒測(cè)試(D)則關(guān)注于程序的內(nèi)部邏輯和結(jié)構(gòu),屬于白盒測(cè)試的范疇,所以答案是ABC。15.【答案】A【解析】在軟件需求分析階段,需求規(guī)格說(shuō)明書(shū)是必須生成的文檔,它詳細(xì)描述了系統(tǒng)的功能需求、性能需求和其他非功能需求。系統(tǒng)設(shè)計(jì)說(shuō)明書(shū)(B)通常在系統(tǒng)設(shè)計(jì)階段生成,用戶(hù)手冊(cè)(C)在產(chǎn)品發(fā)布前生成,測(cè)試計(jì)劃(D)在測(cè)試階段制定,它們不是需求分析階段必須生成的文檔,所以答案是A。三、填空題(共5題)16.【答案】繼承【解析】在面向?qū)ο缶幊讨?,繼承是一種允許一個(gè)類(lèi)繼承另一個(gè)類(lèi)的屬性和方法的技術(shù),它是實(shí)現(xiàn)代碼復(fù)用的重要手段。17.【答案】非主屬性不依賴(lài)于主鍵的一部分【解析】第二范式要求數(shù)據(jù)庫(kù)表中的非主屬性必須完全依賴(lài)于主鍵,即非主屬性不能依賴(lài)于主鍵的一部分。這是為了消除數(shù)據(jù)冗余和更新異常。18.【答案】消息【解析】在UML時(shí)序圖中,消息用于表示對(duì)象之間的交互,它表示一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)送的信號(hào)或請(qǐng)求。19.【答案】需求分析【解析】需求分析階段是軟件開(kāi)發(fā)過(guò)程中的第一步,主要任務(wù)是識(shí)別和記錄用戶(hù)的需求,以便后續(xù)的設(shè)計(jì)和實(shí)現(xiàn)。20.【答案】abstract【解析】在Java中,使用abstract關(guān)鍵字來(lái)聲明一個(gè)抽象方法,即沒(méi)有具體實(shí)現(xiàn)的方法,通常存在于抽象類(lèi)中。四、判斷題(共5題)21.【答案】錯(cuò)誤【解析】Java不支持多重繼承,一個(gè)類(lèi)只能繼承一個(gè)類(lèi),但可以實(shí)現(xiàn)多個(gè)接口。22.【答案】正確【解析】第三范式要求非主屬性之間相互獨(dú)立,即非主屬性不依賴(lài)于其他非主屬性,這是為了進(jìn)一步減少數(shù)據(jù)冗余。23.【答案】正確【解析】在UML用例圖中,參與者可以與用例直接交互,表示參與者與用例之間的觸發(fā)關(guān)系。24.【答案】錯(cuò)誤【解析】單元測(cè)試通常在編碼階段進(jìn)行,是對(duì)單個(gè)模塊或函數(shù)的測(cè)試,而集成測(cè)試是在單元測(cè)試之后進(jìn)行的,用于測(cè)試模塊之間的接口。25.【答案】正確【解析】需求分析階段是SDLC的早期階段,主要任務(wù)是確定軟件系統(tǒng)必須做什么,即識(shí)別和記錄用戶(hù)的需求。五、簡(jiǎn)答題(共5題)26.【答案】數(shù)據(jù)庫(kù)規(guī)范化是將數(shù)據(jù)結(jié)構(gòu)化,以減少數(shù)據(jù)冗余和依賴(lài),提高數(shù)據(jù)的一致性和完整性。它通過(guò)將數(shù)據(jù)分解為多個(gè)相關(guān)聯(lián)的表,并應(yīng)用不同的范式(如1NF、2NF、3NF等)來(lái)避免數(shù)據(jù)冗余和更新異常。規(guī)范化有助于提高數(shù)據(jù)庫(kù)的性能和維護(hù)性?!窘馕觥繑?shù)據(jù)庫(kù)規(guī)范化是一個(gè)重要的數(shù)據(jù)庫(kù)設(shè)計(jì)原則,通過(guò)規(guī)范化的過(guò)程,可以確保數(shù)據(jù)庫(kù)中的數(shù)據(jù)結(jié)構(gòu)合理,避免重復(fù)和冗余,同時(shí)保持?jǐn)?shù)據(jù)的一致性和完整性,這對(duì)于數(shù)據(jù)庫(kù)的性能和維護(hù)都是非常有利的。27.【答案】封裝是指將對(duì)象的屬性(數(shù)據(jù))和方法(行為)捆綁在一起,并限制外部對(duì)對(duì)象的直接訪(fǎng)問(wèn)。繼承是指一個(gè)類(lèi)可以繼承另一個(gè)類(lèi)的屬性和方法,實(shí)現(xiàn)代碼的復(fù)用。多態(tài)是指同一個(gè)操作作用于不同的對(duì)象,可以有不同的解釋和執(zhí)行結(jié)果,它是面向?qū)ο缶幊讨袑?shí)現(xiàn)靈活性和擴(kuò)展性的關(guān)鍵概念。【解析】封裝、繼承和多態(tài)是面向?qū)ο笤O(shè)計(jì)的三個(gè)核心概念。封裝保證了對(duì)象的內(nèi)部狀態(tài)不會(huì)被外部隨意修改,繼承允許通過(guò)擴(kuò)展已有的類(lèi)來(lái)創(chuàng)建新的類(lèi),而多態(tài)則允許通過(guò)接口或父類(lèi)引用來(lái)調(diào)用不同的方法實(shí)現(xiàn),增加了代碼的靈活性和可擴(kuò)展性。28.【答案】單例模式是一種設(shè)計(jì)模式,確保一個(gè)類(lèi)只有一個(gè)實(shí)例,并提供一個(gè)全局訪(fǎng)問(wèn)點(diǎn)。以下是一個(gè)簡(jiǎn)單的單例模式實(shí)現(xiàn)方法:

classSingleton:

_instance=None

@classmethod

defget_instance(cls):

ifcls._instanceisNone:

cls._instance=Singleton()

returncls._instance

【解析】單例模式的關(guān)鍵是確保只有一個(gè)實(shí)例,并提供一個(gè)全局訪(fǎng)問(wèn)點(diǎn)。上述代碼通過(guò)一個(gè)類(lèi)屬性_instance來(lái)存儲(chǔ)類(lèi)的唯一實(shí)例,并通過(guò)一個(gè)類(lèi)方法get_instance()來(lái)提供全局訪(fǎng)問(wèn)點(diǎn)。如果_instance為None,則創(chuàng)建一個(gè)新的實(shí)例,否則返回已有的實(shí)例。29.【答案】邊界值分析是一種測(cè)試方法,它關(guān)注于輸入數(shù)據(jù)的邊界情況。以下步驟用于進(jìn)行邊界值分析:

1.確定輸入數(shù)據(jù)的合法范圍和邊界。

2.分析輸入數(shù)據(jù)在邊界處的行為。

3.設(shè)計(jì)測(cè)試用例,包括最小值、最大值、邊界值和異常值。

4.執(zhí)行測(cè)試用例并觀察結(jié)果?!窘馕觥窟吔缰捣治鍪菧y(cè)試中常用的一種方法,它特別關(guān)注于輸入數(shù)據(jù)的邊界條件,因?yàn)檫吔鐥l件往往是問(wèn)題出現(xiàn)的集中地。通過(guò)分析邊界值,可以更全面地測(cè)試程序的正確性和健壯性。30.【答

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論