一、選擇題
(1) 下面敘述正確的是______。
A. 算法的執(zhí)行效率與數(shù)據(jù)的存儲結(jié)構(gòu)無關(guān)
B. 算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)
C. 算法的有窮性是指算法必須能在執(zhí)行有限個步驟之后終止
D. 以上三種描述都不對
(1)
[答案]C
[考點]程序設(shè)計基礎(chǔ)
[評析]
時間復(fù)雜度:在運行算法時所耗費的時間為f(n)(即 n的函數(shù))。
空間復(fù)雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
A應(yīng)為有關(guān)。
(2) 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是______。
A. 隊列
B. 線性表
C. 二叉樹
D. 棧
(2)
[答案]C
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
一棵二叉樹的一個結(jié)點下面可以有2個子結(jié)點,故不是線性結(jié)構(gòu)(通俗地理解,看是否能排成條直線)。
A是先進(jìn)先出的線性表;B是宏觀概念,包括順序表、鏈表、堆棧、隊列…;D是先進(jìn)后出的線性表
(3) 在一棵二叉樹上第5層的結(jié)點數(shù)最多是______。
A. 8
B. 16
C. 32
D. 15
(3)
[答案]B
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]依次從上到下,可得出:
第1層結(jié)點數(shù)為1;
第2層結(jié)點數(shù)為2*1=2;
第3層結(jié)點數(shù)為2*2=4;
第n層結(jié)點數(shù)為2的n-1次冪,如圖所示
(4) 下面描述中,符合結(jié)構(gòu)化程序設(shè)計風(fēng)格的是______。
A. 使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯
B. 模塊只有一個入口,可以有多個出口
C. 注重提高程序的執(zhí)行效率
D. 不使用goto語句
(4)
[答案]A
[考點]程序設(shè)計基礎(chǔ)
[評析]
B沒這規(guī)定,模塊之間的可以通過多個接口來耦合
C結(jié)構(gòu)化程序設(shè)計提倡程序的可讀性(可理解性),超過程序執(zhí)行效率的要求
D結(jié)構(gòu)化程序設(shè)計限制goto語句的使用,因為goto語句的功能可以用三種基本的控制結(jié)構(gòu)來代替,但也不是絕對不能用,只是限制使用(少用)。
(5) 下面概念中,不屬于面向?qū)ο蠓椒ǖ氖莀_____。
A. 對象
B. 繼承
C. 類
D. 過程調(diào)用
(5)
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
面向?qū)ο?對象+類+繼承+通過消息的通信
對象:一組屬性及其上的操作的封裝體
類:一組有相同屬性和操作的對象的集合
繼承:一個類為另一個類上的擴(kuò)充的方式,子類繼承父類,主要目的是代碼復(fù)用
消息:對象間通信的手段
D是結(jié)構(gòu)化程序設(shè)計或過程式(函數(shù)式)語言中的,一般的面向?qū)ο蟪绦蛟O(shè)計語言兼容這種方式,但不是其特征,故選項為D
(6) 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是______。
A. 可行性分析
B. 需求分析
C. 詳細(xì)設(shè)計
D. 程序編碼
(6)
[答案]B
[考點]軟件工程基礎(chǔ)
[評析]
分析員對用戶的要求作出分析,并畫出數(shù)據(jù)流程圖,該圖通俗易懂,不涉及到如何在計算機(jī)上實現(xiàn),這是需求分析階段。
軟件工程中的瀑布模型:
問題定義,可行性研究,需求分析,概要設(shè)計,詳細(xì)設(shè)計,編碼,測試,運行和維護(hù)
相關(guān)鏈點:
層次圖和HIPO圖是概要設(shè)計中的工具圖;程序流程圖、N-S圖、問題分析PAD圖、設(shè)計程序語言PDL是詳細(xì)設(shè)計中的工具圖
(7) 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是______。
A. 數(shù)據(jù)結(jié)構(gòu)設(shè)計
B. 給出系統(tǒng)模塊結(jié)構(gòu)
C. 定義模塊算法
D. 定義需求并建立系統(tǒng)模型
(7)
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
A、B為概要設(shè)計中的,C為詳細(xì)設(shè)計中的,D為分析階段中的
(8) 數(shù)據(jù)庫系統(tǒng)的核心是______。
A. 數(shù)據(jù)模型
B. 數(shù)據(jù)庫管理系統(tǒng)
C. 軟件工具
D. 數(shù)據(jù)庫
(8)
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
數(shù)據(jù)庫管理系統(tǒng)DBMS是數(shù)據(jù)庫系統(tǒng)的核心,上層與用戶打交道,底層與操作系統(tǒng)接口
注意點:數(shù)據(jù)庫系統(tǒng)與數(shù)據(jù)庫管理系統(tǒng)的區(qū)別
前者指的一整套業(yè)務(wù)系統(tǒng),包括用戶、應(yīng)用程序、DBMS及操作系統(tǒng)的支持
(9) 下列敘述中正確的是______。
A. 數(shù)據(jù)庫是一個獨立的系統(tǒng),不需要操作系統(tǒng)的支持
B. 數(shù)據(jù)庫設(shè)計是指設(shè)計數(shù)據(jù)庫管理系統(tǒng)
C. 數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題
D. 數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
(9)
[答案]C
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
暈倒,數(shù)據(jù)庫管理系統(tǒng)是人人都可設(shè)計的嗎?那SYBASE和ORACLE等不都沒飯吃了?普通人的數(shù)據(jù)庫設(shè)計就是在DBMS的支持下設(shè)計幾張表格,命幾個名而已;D也錯了的,數(shù)據(jù)庫具有物理獨立性和邏輯獨立性,比如QQ是一個完整的數(shù)據(jù)庫系統(tǒng),我們使用的只是客戶端應(yīng)用程序,其數(shù)據(jù)庫在騰訊的服務(wù)器上,物理獨立性呢指的是數(shù)據(jù)庫的底層結(jié)構(gòu)改變了,而QQ的客戶端不用變,對應(yīng)地,邏輯獨立性是指QQ的客戶端改變了,數(shù)指據(jù)庫的結(jié)構(gòu)不用變了,否則,這么多QQ版本,那騰訊的服務(wù)器不是亂了套?
(10) 下列模式中,能夠給出數(shù)據(jù)庫物理存儲結(jié)構(gòu)與物理存取方法的是______。
A. 內(nèi)模式
B. 外模式
C. 概念模式
D. 邏輯模式
(10)
[答案]A
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
通過前些題可知道,數(shù)據(jù)庫的物理結(jié)構(gòu)最底層,即對應(yīng)內(nèi)模式,對應(yīng)的模式映像為內(nèi)模式/模式(概念模式映像),邏輯獨立性則對應(yīng)于模式/外模式映像。
(11) 算法的時間復(fù)雜度是指______。
A. 執(zhí)行算法程序所需要的時間
B. 算法程序的長度
C. 算法執(zhí)行過程中所需要的基本運算次數(shù)
D. 算法程序中的指令條數(shù)
(11)
[答案]C
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
算法的復(fù)雜度分時間復(fù)雜度和空間復(fù)雜度。
時間復(fù)雜度:在運行算法時所耗費的時間為f(n)(即 n的函數(shù))。
空間復(fù)雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
稱O(f(n))和O(g(n))為該算法的復(fù)雜度。
簡單的例子比如常見的順序結(jié)構(gòu)時間復(fù)雜度為O(1),1層循環(huán)里面次數(shù)為n,時間復(fù)雜度就是O(n),2層循環(huán)for i=1 to n,for j=1 to n算法時間復(fù)雜度為O(n2)(里面為n的平方),復(fù)雜度主要用于算法的效率比較與優(yōu)化,比如排序,查找…
(12) 下列敘述中正確的是______。
A. 線性表是線性結(jié)構(gòu)
B. 棧與隊列是非線性結(jié)構(gòu)
C. 線性鏈表是非線性結(jié)構(gòu)
D. 二叉樹是線性結(jié)構(gòu)
(12)
[答案]A
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
一棵二叉樹的一個結(jié)點下面可以有2個子結(jié)點,故不是線性結(jié)構(gòu)(通俗地理解,看是否能排成條直線)。
此題與(2)題類似
(13) 設(shè)一棵完全二叉樹共有699個結(jié)點,則在該二叉樹中的葉子結(jié)點數(shù)為______。
A. 349
B. 350
C. 255
D. 351
(13)
[答案]B
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
完全二叉樹:若二叉樹中最多只有最下面兩層的結(jié)點的度可以小于2,并且最下面一層的結(jié)點(葉結(jié)點)都依次排列在該層最左邊的位置上,這樣的二叉樹為完全二叉樹。
比如圖:
完全二叉樹除葉結(jié)點層外的所有結(jié)點數(shù)(葉結(jié)點層以上所有結(jié)點數(shù))為奇數(shù),此題中,699是奇數(shù),葉結(jié)點層以上的所有結(jié)點數(shù)為保證是奇數(shù),則葉結(jié)點數(shù)必是偶數(shù),這樣我們可以立即選出答案為B!
如果完全二叉樹的葉結(jié)點都排滿了,則是滿二叉樹,易得滿二叉樹的葉結(jié)點數(shù)是其以上所有層結(jié)點數(shù)+1比如圖:
此題的其實是一棵滿二叉樹,我們根據(jù)以上性質(zhì),699+1=700,700/2=350,即葉結(jié)點數(shù)為350,葉結(jié)點層以上所有結(jié)點數(shù)為350-1=349。
(14) 結(jié)構(gòu)化程序設(shè)計主要強(qiáng)調(diào)的是______。
A. 程序的規(guī)模
B. 程序的易讀性
C. 程序的執(zhí)行效率
D. 程序的可移植性
(14)
[答案]B
[考點]程序設(shè)計基礎(chǔ)
[評析]
又是結(jié)構(gòu)化的問題,何謂結(jié)構(gòu)化?
簡單地比如:
VB: If...End If
C: if..{...}
Pascle: Begin ...End
我們在"結(jié)構(gòu)"的中間寫代碼,從哪執(zhí)行到哪結(jié)束我們能很快抓??!
此題中重要性為:B>C>D
(15) 在軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是______。
A. 概要設(shè)計
B. 詳細(xì)設(shè)計
C. 可行性分析
D. 需求分析
(15)
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
題中所述為需求分析
可行性研究包括經(jīng)濟(jì)可行性、技術(shù)可行性、操作可行性,即以最小的代價確定系統(tǒng)的規(guī)模是否現(xiàn)實
概要設(shè)計的任務(wù)是確定軟件的總體結(jié)構(gòu)、子結(jié)構(gòu)和模塊的劃分
詳細(xì)設(shè)計的任務(wù)是確定每一模塊的實現(xiàn)細(xì)節(jié),包括數(shù)據(jù)結(jié)構(gòu)、算法和接口
也許有人這么久了還不知道什么叫系統(tǒng),什么叫模塊。
暈倒,這里羅嗦一下,軟件工程中的系統(tǒng)指的整個軟件系統(tǒng),比如QQ的所有東西,我們用的是客戶端程序,實際的東西放在騰訊公司的服務(wù)器上,主要是數(shù)據(jù)庫,包括在中間的傳輸過程,這一整個相關(guān)的東東都叫做OICQ的系統(tǒng);什么叫模塊,這里不單指如VB里的"標(biāo)準(zhǔn)模塊"、"類模塊",也不單指一個窗體或者一個文件,宏觀上講,軟件工程中把一種功能或相關(guān)功能把它做成一個模塊,這個模塊有可能是一個過程,有可能是一個函數(shù)…從功能角度度量模塊內(nèi)的聯(lián)系為模塊的內(nèi)聚(一般來說越強(qiáng)越好,不易出錯);模塊之間的聯(lián)系為耦合,比如我們編程中常用把一實參的值賦給了函數(shù)中的形參,使函數(shù)完成某一功能,耦合度越低越好,獨立性就強(qiáng);
何謂獨立性?比如我們二級編程都有考到全局變量、局部變量,函數(shù)中的局部變量獨立性很強(qiáng),函數(shù)外無法訪問…
何謂變量?暈~~~~~~~如果這都要說,那你可以不用考二級了。
(16) 數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A. 控制流
B. 加工
C. 數(shù)據(jù)存儲
D. 源和潭
(16)
[答案]A
[考點]軟件工程基礎(chǔ)
[評析]
數(shù)據(jù)流圖用于需求分析階段,在此階段我們只考慮大致的數(shù)據(jù)流流向,而不關(guān)心內(nèi)部具體的處理,以及如何在計算機(jī)上實現(xiàn),不必討論控制流,我們只關(guān)心的:數(shù)據(jù)流、數(shù)據(jù)儲存、變換/加工(相當(dāng)于一個黑盒,不關(guān)心內(nèi)部細(xì)節(jié))、外部實體,數(shù)據(jù)流圖通俗易懂,因為它遠(yuǎn)離了計算機(jī),用戶(無需懂編程)和軟件人員都易接受。
比如一個簡單的軟件系統(tǒng)邏輯模型:
輸入流和輸出流即D中的源和潭。
(17) 軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及______。
A. 階段性報告
B. 需求評審
C. 總結(jié)
D. 都不正確
(17)
[答案]B
[考點]軟件工程基礎(chǔ)
[評析]
評審(復(fù)審)每階段都有,把前三個方面說完了,還剩什么呢?
此題需要記一下,至于各名詞的解釋,顧名即可思義。
(18) 下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是______。
A. 數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B. 數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C. 數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D. 數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
(18)
[答案]A
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
關(guān)于數(shù)據(jù)管理技術(shù)的三個階段如下:
1.人工管理階段
人工管理數(shù)據(jù)的特點是:
(1)數(shù)據(jù)不保存。
(2)數(shù)據(jù)無專門軟件進(jìn)行管理。
(3)數(shù)據(jù)不共享。
(4)數(shù)據(jù)不具有獨立性。
2.文件系統(tǒng)階段
該階段的數(shù)據(jù)管理具有如下特點:
(1)數(shù)據(jù)可以長期保存。
(2)由文件系統(tǒng)管理數(shù)據(jù)。文件系統(tǒng)管理數(shù)據(jù)存在如下缺點:
(1)數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大。
(2)數(shù)據(jù)獨立性差。
3.數(shù)據(jù)庫系統(tǒng)階段
與人工管理和文件系統(tǒng)階段相比較,數(shù)據(jù)庫系統(tǒng)階段具有如下的特點:
(1)數(shù)據(jù)結(jié)構(gòu)化
(2)數(shù)據(jù)共享性高、冗余度小、易擴(kuò)充
(3)數(shù)據(jù)獨立性高
(4)統(tǒng)一的數(shù)據(jù)管理和控制數(shù)據(jù)庫管理系統(tǒng)必須提供以下幾個方面的數(shù)據(jù)控制和保護(hù)功能:
(1)數(shù)據(jù)的安全性(security)保護(hù)。
(2)數(shù)據(jù)的完整性(integrity)控制。
(3)數(shù)據(jù)庫恢復(fù)(recovery)。
(4)并發(fā)(concurrency)控制。
(5)事務(wù)(transaction)支持。
B錯,為什么會有關(guān)系規(guī)范化理論,其主要目的之一是減少數(shù)據(jù)的冗余,說明數(shù)據(jù)庫系統(tǒng)還存在一定的冗余;C錯,數(shù)據(jù)完整性約束指一組完整性規(guī)則的集合,不一定是數(shù)據(jù)類型的一致性;D項也太菜鳥了吧,數(shù)據(jù)能管理存放多少數(shù)據(jù)主要看機(jī)子硬盤空間和一些相關(guān)的設(shè)置,比如在數(shù)據(jù)庫管理系統(tǒng)中設(shè)置某個用戶的空間為多少。
(19) 關(guān)系表中的每一橫行稱為一個______。
A. 元組
B. 字段
C. 屬性
D. 碼
(19)
[答案]A
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
字段:列,屬性名
屬性:實體的某一特性,如學(xué)生表中的學(xué)號、姓名…
碼(主健):元組(實體)的惟一標(biāo)識,比如學(xué)生有同名的,但學(xué)號是惟一的。
比如表:
學(xué)號 姓名 性別 院系
0221301 陳朝霞 女 油院礦機(jī)
0221310 周建峰 男 西南工業(yè)大學(xué)機(jī)電院
0221326 曾曉明 男 西南工業(yè)大學(xué)機(jī)電院
0221315 郭文廣 男 西南工業(yè)大學(xué)機(jī)電院
0123456 茂葉 男 油院機(jī)電&軟件
(20) 數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是______。
A. 概念設(shè)計和邏輯設(shè)計
B. 模式設(shè)計和內(nèi)模式設(shè)計
C. 內(nèi)模式設(shè)計和物理設(shè)計
D. 結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
(20)
[答案]A
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
需求分析--(需求說明)-->概念設(shè)計--(概念結(jié)構(gòu))-->邏輯結(jié)構(gòu)設(shè)計--(邏輯結(jié)構(gòu))-->物理設(shè)計--(物理結(jié)構(gòu))-->
(21) 算法的空間復(fù)雜度是指______。
A. 算法程序的長度
B. 算法程序中的指令條數(shù)
C. 算法程序所占的存儲空間
D. 算法執(zhí)行過程中所需要的存儲空間
(21)
[答案]D
[考點]程序設(shè)計基礎(chǔ)
[評析]
時間復(fù)雜度:在運行算法時所耗費的時間為f(n)(即 n的函數(shù))。
空間復(fù)雜度:實現(xiàn)算法所占用的空間為g(n)(也為n的函數(shù))。
算法為什么會占用存儲存空間?
主要是內(nèi)存空間,因為算法中的變量、地址等等通常保存在內(nèi)存中(如果在虛存、緩存,甚至已在CPU中運行,也算占用了存儲空間)。
(22) 下列關(guān)于棧的敘述中正確的是______。
A. 在棧中只能插入數(shù)據(jù)
B. 在棧中只能刪除數(shù)據(jù)
C. 棧是先進(jìn)先出的線性表
D. 棧是先進(jìn)后出的線性表
(22)
[答案]D
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
此題為基本概念,必記,注意:隊列是先進(jìn)先出的線性表,結(jié)合起來記不要搞混。
(23) 在深度為5的滿二叉樹中,葉子結(jié)點的個數(shù)為______。
A. 32
B. 31
C. 16
D. 15
(23)
[答案]C
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
首先搞清楚滿二叉樹與完全二叉樹之間的區(qū)別,前面已解釋過。
依次從上到下,可得出:
第1層結(jié)點數(shù)為1;
第2層結(jié)點數(shù)為2*1=2;
第3層結(jié)點數(shù)為2*2=4;
第n層結(jié)點數(shù)為2的n-1次冪,如圖所示
(24) 對建立良好的程序設(shè)計風(fēng)格,下面描述正確的是______。
A. 程序應(yīng)簡單、清晰、可讀性好
B. 符號名的命名要符合語法
C. 充分考慮程序的執(zhí)行效率
D. 程序的注釋可有可無
(24)
[答案]A
[考點]程序設(shè)計基礎(chǔ)
[評析]
結(jié)構(gòu)化程序設(shè)計中力求程序的可讀性(如代碼清晰,結(jié)構(gòu)明了,附加注釋……),故D錯;
如果程序?qū)懙亩际清e的,談何風(fēng)格?如果符號名的命名不符合語法,編譯會報錯,也是很基本的錯誤,B錯;
追求程序的可讀性要高于執(zhí)行效率,C錯。
(25) 下面對對象概念描述錯誤的是______。
A. 任何對象都必須有繼承性
B. 對象是屬性和方法的封裝體
C. 對象間的通訊靠消息傳遞
D. 操作是對象的動態(tài)性屬性
(25)
[答案]A
[考點]程序設(shè)計基礎(chǔ)
[評析]
此題為基本概念,必記!這里舉幾個例子說明以助大家理解:
比如
VB:
Command按紐類是個類,在窗體上畫一個名為Command1的按紐即是創(chuàng)建該類的一個實例,也可創(chuàng)建另外一個實例如Command2,他們的屬性可以調(diào)置為不同的,但是都是Command類的實例。Command1,Command2都是對象,它們封裝了屬性和方法,都是封裝體,比如Name屬性,Caption屬性……宏觀上可說Command1的Move操作是動態(tài)屬性,對象間的通讀靠消息傳遞,比如在Command1的單擊事件中寫上:
Picture1.Print "消息傳遞"
Picture1是一個圖片框?qū)ο?,我們還可以調(diào)用Form_Load事件等等,都是通過消息傳遞的,即對象A向?qū)ο驜發(fā)出消息,對象B執(zhí)行怎樣的操作。
C++:
class Base
{
Public:
Base(){}
~Base(){}
...
};
class Derive:Public Base
{
Public:
...
Print()
{
Cout<<"打印函數(shù)!"< }
};
void main()
{
Derive a;
Base *p;
...
}
Base為基類,Derive為基類上的派生類,它繼承了基類的一些屬性和方法等,a為創(chuàng)建的實例,即是一個對象,它封裝了類Derive的所有性性和方法,特別是私有的屬性和方法,直接調(diào)用它們會失敗,這就是類的封裝性。對象間的通訊是靠消息傳遞的,比如我們在內(nèi)存中刪除p所指的一個對象,用delete p語句,會調(diào)用類Base的析構(gòu)函數(shù)~Base();我們也可用a.Print()語句來調(diào)用Derive類的Print()函數(shù),對象a具有類Derive的屬性和方法(在C++中一般用函數(shù)來實現(xiàn),比如Print(),我們可以說這操作是對象a的動態(tài)屬性)
(26) 下面不屬于軟件工程的3個要素的是______。
A. 工具
B. 過程
C. 方法
D. 環(huán)境
(26)
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
這里闡述一下,以上答案為原稿的答案,有的書上答案應(yīng)該為B,解釋如下:
軟件工程包括的三要素是:軟件開發(fā)方法學(xué)、工具和環(huán)境支持,而其主體內(nèi)容是軟件開發(fā)方法學(xué)。
1、軟件開發(fā)方法,比如根據(jù)瀑布模型有結(jié)構(gòu)化分析與設(shè)計方法,有原型化開發(fā)方法
2、軟件開發(fā)工具各個瀑存模型階段都有相關(guān)工具,比如需求分析階段有DFD數(shù)據(jù)流程圖,詳細(xì)設(shè)計階段有HIPO圖或PAD圖,編碼工具有VC、VB……
3、軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合。
如果你有權(quán)威且詳盡的解釋,還請郵給茂葉: dj8529@sina.com 或去我主頁上留言
此題的爭論,意義性不大,燃眉之急是應(yīng)負(fù)考試。 :)
軟件工程三要素工具、方法、過程,請大家記一下。
(27) 程序流程圖(PFD)中的箭頭代表的是______。
A. 數(shù)據(jù)流
B. 控制流
C. 調(diào)用關(guān)系
D. 組成關(guān)系
(27)
[答案]B
[考點]軟件工程基礎(chǔ)
[評析]
如果A,那么B,否則C,這是我們二級中很熟悉的程序流程方式,我們可以畫成相應(yīng)的PFD圖或N-S圖。易知箭頭控制應(yīng)該是哪條語句執(zhí)行,即B答案。
(28) 在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨立性的階段是______。
A. 數(shù)據(jù)庫系統(tǒng)
B. 文件系統(tǒng)
C. 人工管理
D. 數(shù)據(jù)項管理
(28)
[答案]A
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
關(guān)于數(shù)據(jù)管理技術(shù)的三個階段如下表:
1.人工管理階段
人工管理數(shù)據(jù)的特點是:
(1)數(shù)據(jù)不保存。
(2)數(shù)據(jù)無專門軟件進(jìn)行管理。
(3)數(shù)據(jù)不共享。
(4)數(shù)據(jù)不具有獨立性。
2.文件系統(tǒng)階段
該階段的數(shù)據(jù)管理具有如下特點:
(1)數(shù)據(jù)可以長期保存。
(2)由文件系統(tǒng)管理數(shù)據(jù)。文件系統(tǒng)管理數(shù)據(jù)存在如下缺點:
(1)數(shù)據(jù)共享性差,數(shù)據(jù)冗余度大。
(2)數(shù)據(jù)獨立性差。
3.數(shù)據(jù)庫系統(tǒng)階段
與人工管理和文件系統(tǒng)階段相比較,數(shù)據(jù)庫系統(tǒng)階段具有如下的特點:
(1)數(shù)據(jù)結(jié)構(gòu)化
(2)數(shù)據(jù)共享性高、冗余度小、易擴(kuò)充
(3)數(shù)據(jù)獨立性高
(4)統(tǒng)一的數(shù)據(jù)管理和控制數(shù)據(jù)庫管理系統(tǒng)必須提供以下幾個方面的數(shù)據(jù)控制和保護(hù)功能:
(1)數(shù)據(jù)的安全性(security)保護(hù)。
(2)數(shù)據(jù)的完整性(integrity)控制。
(3)數(shù)據(jù)庫恢復(fù)(recovery)。
(4)并發(fā)(concurrency)控制。
(5)事務(wù)(transaction)支持。
(29) 用樹形結(jié)構(gòu)來表示實體之間聯(lián)系的模型稱為______。
A. 關(guān)系模型
B. 層次模型
C. 網(wǎng)狀模型
D. 數(shù)據(jù)模型
(29)
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
層次模型結(jié)構(gòu)是一棵有向樹,樹中的每個結(jié)點代表一種記錄類型,這些結(jié)點滿足:有且僅有一個結(jié)點無雙親(根結(jié)點),其它結(jié)點有且僅有一個雙親結(jié)點。
網(wǎng)狀模型則相當(dāng)于一個有向圖,與層次模型結(jié)構(gòu)不同的是:一個結(jié)點可以有多個雙親結(jié)點,且多個結(jié)點可以無雙親結(jié)點。
關(guān)系模型則是二維表,一張表即為一個關(guān)系,這個很常見,如學(xué)生關(guān)系(學(xué)號,姓名,出生年月,性別),就像我們的辦公軟件中電子表格那樣的表格。
D項的數(shù)據(jù)模型不是數(shù)據(jù)庫的基本模型。
(30) 關(guān)系數(shù)據(jù)庫管理系統(tǒng)能實現(xiàn)的專門關(guān)系運算包括______。
A. 排序、索引、統(tǒng)計
B. 選擇、投影、連接
C. 關(guān)聯(lián)、更新、排序
D. 顯示、打印、制表
(30)
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
此題為數(shù)據(jù)庫的基本概念,如果你完全沒學(xué)過數(shù)據(jù)庫,可以對照辦工軟件的電子表格進(jìn)行如下理解:
選擇:我們根據(jù)某條件選擇出一行或多行元組(一個元組即為二維表中的一行)
投影:按字段(也稱屬性,比如學(xué)生關(guān)系(學(xué)號,姓名,出生年月,性別),學(xué)號、姓名……都是屬性)選取一列或多列(一個二維表中所有元組在某一列或幾列上截取出來)。
連接:2個或2個以上的表連接組成一張新的表,通常有條件連接。比如學(xué)生關(guān)系(學(xué)號,姓名,系號),又有一張系表(系號,系名,主任),2張表可以合并為一張這樣的表(學(xué)號,姓名,系號,系名,主任)
(31) 算法一般都可以用哪幾種控制結(jié)構(gòu)組合而成______。
A. 循環(huán)、分支、遞歸
B. 順序、循環(huán)、嵌套
C. 循環(huán)、遞歸、選擇
D. 順序、選擇、循環(huán)
(31)
[答案]D
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
結(jié)構(gòu)化程序設(shè)計中,基本的控制結(jié)構(gòu)為順序、選擇、循環(huán)。各種具體的程序設(shè)計語言中的一些控制結(jié)構(gòu)都可以劃分到這些類中。比如VB里的Select Case語句、If...Elseif...Else...End If,C/C++中的switch()、if{}……都屬于選擇控制結(jié)構(gòu)。相應(yīng)的for循環(huán)和while語句都屬于循環(huán)結(jié)構(gòu)。按從上到下順序執(zhí)行的即是順序控制結(jié)構(gòu)。
(32) 數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
A. 數(shù)據(jù)所占的存儲空間量
B. 數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示
C. 數(shù)據(jù)在計算機(jī)中的順序存儲方式
D. 存儲在外存中的數(shù)據(jù)
(32)
[答案]B
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
這是個基本概念題。存儲空間量只是數(shù)據(jù)的存儲結(jié)構(gòu)的一個屬性,答案C也太片面,比如鏈表也是種存儲方式,而非線性的還有樹、圖……我們所學(xué)的數(shù)據(jù)結(jié)構(gòu)不涉及到數(shù)據(jù)在計算機(jī)外存(比如硬盤、軟盤)具體的方式,而僅關(guān)心它們在內(nèi)存中邏輯結(jié)構(gòu),比如數(shù)組,它是內(nèi)存中一片連續(xù)的數(shù)據(jù)存儲,我們對每一個元素都可以順序地訪問,只需要知道某一個元素的地址,其它數(shù)據(jù)元素的地址可以據(jù)庫下標(biāo)與數(shù)組類型(如字符型、整型……)所占的存儲空間就可算出每個元素的地址,故順序訪問所有元素。但是對于具體數(shù)據(jù)在內(nèi)存中的物理存儲,我們很少關(guān)心。比如某個數(shù)組建立時,它的首地址具體是多少?它們在內(nèi)存中的二進(jìn)制表示是什么的?
另,什么叫物理結(jié)構(gòu),什么叫邏輯結(jié)構(gòu),可以這樣來理解,就好比物理結(jié)構(gòu)是一個人的肉體,邏輯結(jié)構(gòu)是一個人的靈魂,類似于計算機(jī)中硬件與軟件的說法。就好比我們上QQ,發(fā)送消息、接收消息,基本上近似大眾人的思維,但發(fā)送消息與接收消息這些的具體技術(shù)過程或它們在CPU和硬盤上的活動,甚至二進(jìn)制是什么呢?去問騰訊公司
(33) 設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為______。
A. ABCDEF
B. DBEAFC
C. ABDECF
D. DEBFCA
(33)
[答案]B
[考點]數(shù)據(jù)結(jié)構(gòu)與算法
[評析]
該題原稿沒圖,故無從解釋,此知識點的詳解部分請看53題
(34) 在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務(wù)的方式是通過發(fā)送______。
A. 調(diào)用語句
B. 命令
C. 口令
D. 消息
(34)
[答案]D
[考點]程序設(shè)計基礎(chǔ)
[評析]
通過消息機(jī)制。太理論方面的不多說,現(xiàn)舉例說明。
C++:
比如在VC++中,單擊了一個菜單命令項"退出",我們要實現(xiàn)退出程序,如何來實現(xiàn)?很簡單,只要向窗體發(fā)送一個PostQuitMessage(0);就可以關(guān)閉窗體。
這個在VB中還簡單,三個字符"End"即可解決,相當(dāng)于向所有窗體發(fā)送一個銷毀窗體的消息,即"Unload 窗體名"語句。(如果是單個窗體的話,即相當(dāng)于Unload Me語句)
VB:
Public a As Integer
Private Sub Command1_Click()
a = 20
Print a
End Sub
Private Sub Command2_Click()
Form_Load ’’’’’’’’’’’’’’這里調(diào)用Form_Load()過程,實用a=10
Print a
End Sub
Private Sub Form_Load()
a = 10
End Sub
命令按紐Command2向其母窗體發(fā)送一個消息,使其為Command2服務(wù)。
Command2是CommandButton類的一個對象,主窗體是窗體類的一個對象。
關(guān)于類與對象的理解,請大家看前面的題的詳解。
(35) 檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。
A. 確認(rèn)測試
B. 集成測試
C. 驗證測試
D. 驗收測試
(35)
[答案]A
[考點]軟件工程基礎(chǔ)
[評析]
A、C、D相近,但A為比較正規(guī)的說法名詞。
確認(rèn)測試也稱合格測試或驗收測試,主要由用戶參加,檢驗軟件規(guī)格說明的技術(shù)標(biāo)準(zhǔn)的符合程度,是保證軟件質(zhì)量的最后關(guān)鍵環(huán)節(jié)。
單元測試主要采用白盒法,之后再采用集成測試,主要采用黑盒法。這些主要由開發(fā)者的工作,而無用戶參與,不是檢查是否符合需求定義的。
什么叫白盒黑盒?
相當(dāng)于這樣理解吧:
白盒測試,我們要注意到代碼;黑盒,我們只關(guān)心程序運行的輸入輸出是否正確,一般是大量的測試,主要于非增量測試中使用,而非增量測試又一般適用于規(guī)模較小的系統(tǒng)開發(fā)??梢韵胂螅粋€很大很復(fù)雜的系統(tǒng),我們用黑盒法來集成測試,效果可想而知。
(36) 下列工具中屬于需求分析常用工具的是______。
A. PAD
B. PFD
C. N-S
D. DFD
(36)
[答案]D
[考點]軟件工程基礎(chǔ)
[評析]
PAD,問題分析圖,常用于詳細(xì)設(shè)計;
PFD,程序流程圖,常用于詳細(xì)設(shè)計,我們很多如C、VB…程序設(shè)計書上都有簡單的實例;
N-S,方框圖,比程序流程圖更靈活,也常用于詳細(xì)設(shè)計;
DFD,數(shù)據(jù)流圖,遠(yuǎn)離具體在計算機(jī)上的實現(xiàn),不懂計算機(jī)的用戶也能看懂,用于需求分析。
什么叫詳細(xì)設(shè)計?它與我們編程有什么區(qū)別?
這樣理解吧,公司的高級程序員,就是軟件設(shè)計師,他們會搞詳細(xì)設(shè)計的(在概要設(shè)計之后),比如用PAD或N-S畫個圖,它不涉及具體的某種程序設(shè)計語言的實現(xiàn),但程序員們都能看懂,程序員再用某種語言(比如C、VB、JAVA…)按照圖來寫代碼。這個過程,高級程序員完成設(shè)計工作,程序員完成寫代碼工作。
(37) 下面不屬于軟件設(shè)計原則的是______。
A. 抽象
B. 模塊化
C. 自底向上
D. 信息隱蔽
(37)
[答案]C
[考點]軟件工程基礎(chǔ)
[評析]
我們無論是設(shè)計與編寫代碼,無論是畫數(shù)據(jù)流圖還是程序流圖,習(xí)憒性思維都是先有輸入才有輸出,從下至下。自底向上不是軟件設(shè)計的原則。
(38) 索引屬于______。
A. 模式
B. 內(nèi)模式
C. 外模式
D. 概念模式
(38)
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
要特別記住此題的答案。
索引的寫入修改了數(shù)據(jù)庫的物理結(jié)構(gòu),而不是簡單的邏輯設(shè)計。內(nèi)模式規(guī)定了數(shù)據(jù)在存儲介質(zhì)上的物理組織方式、記錄錄址方式。
(39) 在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是______。
A. 樹結(jié)構(gòu)
B. 網(wǎng)結(jié)構(gòu)
C. 線性表
D. 二維表
(39)
[答案]D
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
關(guān)系數(shù)據(jù)庫中的關(guān)系,用二維表表示,A為層次數(shù)據(jù)模型的,B為網(wǎng)狀數(shù)據(jù)模型的。
數(shù)據(jù)庫模型分為:
層次模型、網(wǎng)狀模型、關(guān)系模型、面向?qū)ο竽P汀?BR> (40) 將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成______。
A. 屬性 B. 關(guān)系
C. 鍵
D. 域
(40)
[答案]B
[考點]數(shù)據(jù)庫設(shè)計基礎(chǔ)
[評析]
基本概念題,實體與聯(lián)系可以表示成關(guān)系,關(guān)系可以表示成二維表。