軟件工程師
一、單選題
1、軟件工程強調(diào)將( D )的方法應(yīng)用于軟件的開發(fā)和維護過程之中。
A.規(guī)范化 B.系統(tǒng)化 C.可度量 D.以上全部
答案:D
2、軟件開發(fā)活動的順序應(yīng)該是( A )。
A.問題定義、可行性研究、需求分析、設(shè)計、編碼和測試。
B.問題定義、設(shè)計、可行性研究、編碼和測試。
C.需求分析、設(shè)計、編碼和測試。
D.需求分析、編碼和測試、試運行。
答案:A
3、假定銀行的存款年利率是2%,請問現(xiàn)在存5000元,兩年后價值應(yīng)為( A )元。
A.5202 B.4500 C.5100 D.4712
答案:A
4、系統(tǒng)物理模型用( A )表示。
A.系統(tǒng)流程圖 B.?dāng)?shù)據(jù)流程圖
C.程序流程圖 D.E-R圖
答案:A
5、關(guān)于軟件需求特性不正確的描述是“軟件需求具有( C )”。
A.多變性 B.模糊性 C.準(zhǔn)確性 D.主觀性
答案:C
6、隨著模塊規(guī)模減小,模塊開發(fā)成本 ,模塊集成成本 ( B )。
A.減小/減小 B.減小/增加 C.增加/減小 D.增加/增加
答案:B
7、反映模塊獨立性的指標(biāo)是( D )。
A.模塊的復(fù)雜性 B.模塊的大小
C.模塊的參數(shù) D.內(nèi)聚和耦合
答案:D
8、面向過程的方法最關(guān)心的是過程,而過程實施的對象是作為過程( C )傳遞的。
A.過程 B.主體 C.參數(shù) D.?dāng)?shù)據(jù)結(jié)構(gòu)
答案:C
9、UML是一種( C )。
A.建模工具 B.可視化的程序設(shè)計語言
C.可視化的建模語言 D.過程
答案:C
10、用( D )模型分析和定義用戶的功能需求。
A.?dāng)?shù)據(jù) B.靜態(tài) C.動態(tài) D.用例
答案:D
11、動態(tài)模型描述系統(tǒng)的動態(tài)結(jié)構(gòu)和對象之間的交互,表示瞬時的、行為化的系統(tǒng)“控制”特性。面向?qū)ο蠓椒ㄖ校S茫?D )實現(xiàn)。
A.狀態(tài)圖 B.交互圖 C.活動圖 D.以上全部
答案:D
12、面向?qū)ο蠓治龊驮O(shè)計的界限是( B ),從分析到設(shè)計是一個逐漸擴充模型的過程。
A.清晰的 B.模糊的 C.非線性的 D.確定的
答案:B
13、每個子系統(tǒng)的接口定義了若干( A ),體現(xiàn)了子系統(tǒng)的功能,而功能的具體實現(xiàn)方法應(yīng)該是隱藏的。
A.操作 B.參數(shù) C.算法 D.控制
答案:A
14、測試最早的開始時間是( C )。
A.從詳細設(shè)計階段開始
B.從編碼階段開始
C.從需求分析階段開始
D.以上都對
答案:C
15、從測試對象的粒度上劃分測試為( C )。
A.單元測試、集成測試
B.壓力測試、功能測試、性能測試和系統(tǒng)測試
C.單元測試、集成測試、系統(tǒng)測試和驗收測試
D.黑盒測試、白盒測試、功能測試和性能測試
答案:C
16、維護的工作量與軟件規(guī)模成( B ),軟件的規(guī)模可以由源程序的語句數(shù)量、模塊數(shù)、輸入輸出文件數(shù)、數(shù)據(jù)庫的規(guī)模,以及輸出的報表數(shù)等指標(biāo)來衡量。
A.反比 B.正比 C.沒關(guān)系 D.不確定
答案:B
17、上世紀(jì)70年代,美國國防部的研究結(jié)果發(fā)現(xiàn)70%的項目是因為( B )原因,造成項目失敗。
A.技術(shù)不精 B.管理不善 C.測試不充分 D.人員不夠
答案:B
18、所有程序設(shè)計語言的基本成分都可歸納為:數(shù)據(jù)成分、( B )、控制成分和傳輸成分。
A.循環(huán)成分 B.運算成分 C.說明成分 D.輸入成分
答案:B
19、程序結(jié)構(gòu)清晰且簡單易懂,一個函數(shù)的規(guī)模一般( D )行。
A.等于300 B.大于500 C.不超過30 D.100左右
答案:D
20、不屬于軟件項目管理的是( A )。
A.軟件銷售利潤 B.項目風(fēng)險評估
C.質(zhì)量監(jiān)控 D.開發(fā)機構(gòu)能力評估
答案:A
21.軟件生存周期模型有多鐘,下列選項中,(C)不是軟件生存周期模型。
A. 螺旋模型 B.增量模型 C.功能模型 D.瀑布模型
答案:C
22.以下說法錯誤的是(C)。
A.增量模型是在瀑布模型的基礎(chǔ)上加以修改而形成的
B.增量模型推遲某些階段或所有階段中的細節(jié),從而較早地產(chǎn)生工作軟件
C.瀑布模型和增量模型都屬于整體開發(fā)模型
D.瀑布模型規(guī)定在開始下一個階段的工作之前,必須完成前一階段的所有細節(jié)
答案:C
23.可行性分析中,系統(tǒng)流程圖用于描述(A)。
A.當(dāng)前運行系統(tǒng) B.當(dāng)前邏輯模型
C.目標(biāo)系統(tǒng) D.新系統(tǒng)
答案:A
24.研究軟硬件資源的有效性是進行( A)研究的一方面。
A.技術(shù)可行性 B.經(jīng)濟可行性 C.社會可行性 D.操作可行性
答案:A
25、數(shù)據(jù)字典中,一般不包括下列選項中的(D)條目。
A.數(shù)據(jù)流 B.數(shù)據(jù)存儲 C.加工 D.源點與終點
答案:D
26、SA方法的分析步驟是首先調(diào)查了解當(dāng)前系統(tǒng)的工作流程,然后(A)。
A.獲得當(dāng)前系統(tǒng)的物理模型,抽象出當(dāng)前系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的邏輯模型
B.獲得當(dāng)前系統(tǒng)的物理模型,抽象出目標(biāo)系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的物理模型
C.獲得當(dāng)前系統(tǒng)的邏輯模型,抽象出目標(biāo)系統(tǒng)的物理模型,建立目標(biāo)系統(tǒng)的邏輯模型
D.獲得當(dāng)前系統(tǒng)的邏輯模型,抽象出目標(biāo)系統(tǒng)的物理模型,建立目標(biāo)系統(tǒng)的物理模型
答案:A
27、通過(B )可以完成數(shù)據(jù)流圖的細化。
A.結(jié)構(gòu)分析 B.功能分解 C.數(shù)據(jù)分析 D.系統(tǒng)分解
答案:B
28、對軟件進行分解,是為了(C)。
A.降低模塊的復(fù)雜程度
B.降低模塊間接口的復(fù)雜程度
C.降低模塊的復(fù)雜程度,并降低模塊間接口的復(fù)雜程度
D.降低模塊的復(fù)雜程度,并提高模塊間接口的復(fù)雜程度
答案:C
29、為了提高模塊的獨立性,模塊部最好是(C)。
A.邏輯聚 B.時間聚 C.功能聚 D.通信聚
答案:C
30、在軟件結(jié)構(gòu)設(shè)計完成后,對于下列說法,正確的是(C)。
A.非單一功能模塊的扇入數(shù)大比較好,說明本模塊重用率高
B.單一功能的模塊扇入高時應(yīng)重新分解,以消除控制耦合的情況
C.一個模塊的扇出太多,說明該模塊過分復(fù)雜,缺少中間層
D.一個模塊的扇入太多,說明該模塊過分復(fù)雜,缺少中間層
答案:C
31、在軟件開發(fā)過程中,以下說確的是( B)。
A.程序流程圖是逐步求精的好工具
B.N-S圖不可能任意轉(zhuǎn)移控制,符合結(jié)構(gòu)化原則
C.判定表是一種通用的設(shè)計工具
D.程序流程圖和N-S圖都不易表達模塊的層次結(jié)構(gòu)
答案:B
32、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法(Jackson方法)是進行(B)的形式化的方法。
A.系統(tǒng)設(shè)計 B.詳細設(shè)計 C.軟件設(shè)計 D.編碼
答案:B
33、所有的對象可以成為各種對象類,每個對象類都定義了一組(B)
A.說明 B.方法 C.過程 D.類型
答案:B
34、以下說法錯誤的是(D)
A.對象具有很強的表達能力和描述功能
B.對象是人們要進行研究的任何事務(wù)
C.對象是封裝的基本單位
D.類封裝比對象封裝更具體、更細致
答案:D
35、以下說確的是(B)
A.功能模型不包括對象模型中值的約束條件
B.功能模型說明對象模型中操作的含義
C.功能模型說明動態(tài)模型中約束的含義
D.功能模型說明對象模型中動作的意義
答案:B
36、以下說法錯誤的是(D)
A.面向?qū)ο蠓椒ú粌H支持過程抽象,而且支持數(shù)據(jù)抽象
B.某些面向?qū)ο蟮某绦蛟O(shè)計語言還支持參數(shù)化抽象
C.信息隱蔽通過對象的封裝性來實現(xiàn)
D.在面向?qū)ο蠓椒ㄖ校愂亲罨镜哪K
答案:D
37、以下說法錯誤的是(A)
A.多態(tài)性防止了程序相互依賴性而帶來的變動影響
B.多態(tài)性是指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果
C.多態(tài)性與繼承性相結(jié)合使軟件具有更廣泛的重用性和可擴充性
D.封裝性是保證軟件部件具有優(yōu)良的模塊性的基礎(chǔ)
答案:A
38、軟件可維護性的特征中相互矛盾的是(C)。
A.可修改性和可理解性
B.可測試性和可理解性
C.效率和可修改性
D.可理解性和可讀性
答案:C
39、以下說確的是(C)。
A.組裝結(jié)構(gòu)可用來描述現(xiàn)實世界中的一般的抽象關(guān)系
B.分類結(jié)構(gòu)可用來描述現(xiàn)實世界中的類的組成的抽象關(guān)系
C.面向?qū)ο蟮睦^承性是子類自動共享父類數(shù)據(jù)結(jié)構(gòu)和方法的機制
D.面向?qū)ο蟮奈ㄒ恍允侵笇⒕哂幸恢滦缘臄?shù)據(jù)結(jié)構(gòu)(屬性)和行為(操作)的對象抽象成類
答案:C
40、以下說法錯誤的是(A)
A.面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的行醫(yī)沒有明顯區(qū)別
B.在實際的軟件開發(fā)過程中面向?qū)ο蠓治雠c面向?qū)ο笤O(shè)計的界限是模糊的
C.面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計活動一個多次迭代的過程
D.從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計,是一個逐漸擴充模型的過程
答案:A
41. 軟件是()。
A. 處理對象和處理規(guī)則的描述
B. 程序
C. 程序及其文檔
D. 計算機系統(tǒng)
答案:C
42. 軟件需求規(guī)格說明的內(nèi)容不應(yīng)包括()。
A. 主要功能
B. 算法的詳細描述
D. 軟件的性能
C. 用戶界面及運行環(huán)境
答案:B
43. 程序的三種基本控制結(jié)構(gòu)是()。
B. 順序、選擇和重復(fù)
A. 過程、子程序和分程序
C. 遞歸、迭代和回溯
D. 調(diào)用、返回和轉(zhuǎn)移
答案:B
44. 面向?qū)ο蟮姆治龇椒ㄖ饕墙⑷惸P停?/span>( )。
A) 系統(tǒng)模型、ER模型、應(yīng)用模型
B) 對象模型、動態(tài)模型、應(yīng)用模型
C) E-R模型、對象模型、功能模型
D) 對象模型、動態(tài)模型、功能模型
答案:D
45. 在E-R模型中,包含以下基本成分( )。
A) 數(shù)據(jù)、對象、實體
B) 控制、聯(lián)系、對象
C) 實體、聯(lián)系、屬性
D) 實體、屬性、操作
答案:C
46. 各種軟件維護的類型中最重要的是( )。
A) 完善性維護B) 糾錯性維護C) 適應(yīng)性維護D) 預(yù)防性維護
答案:A
47.軟件測試的目標(biāo)是()。
A. 證明軟件是正確的B. 發(fā)現(xiàn)錯誤、降低錯誤帶來的風(fēng)險
C. 排除軟件中所有的錯誤D. 與軟件調(diào)試相同
答案:B
48.軟件生命周期中所花費用最多的階段是()
A.詳細設(shè)計 B.軟件編碼 C.軟件測試 D.軟件維護
答案:D
49.若有一個計算類型的程序,它的輸入量只有一個X,其范圍是[-1.0, 1.0],現(xiàn)從輸入的角度考慮一組測試用例:-1.001, -1.0, 1.0, 1.001.設(shè)計這組測試用例的方法是()
A.條件覆蓋法 B.等價分類法 C.邊界值分析法 D.錯誤推測法
答案:C
50、詳細設(shè)計的基本任務(wù)是確定每個模塊的( )設(shè)計
A.功能 B.調(diào)用關(guān)系 C.輸入輸出數(shù)據(jù) D.算法
答案:D
51.設(shè)函數(shù)C(X)定義問題X的復(fù)雜程序,函數(shù)E(X)確定解決問題X需要的工作量(時間)。對于兩個問題P1和P2,如果C(P1)>C(P2)顯然E(P1)>E(P2),則得出結(jié)論E(P1+P2)>E(P1)+E(P2)就是:()
A.模塊化的根據(jù)B.逐步求精的根據(jù)C.抽象的根據(jù)D.信息隱藏和局部化的根據(jù)
答案:A
52.下面幾種白箱測試技術(shù),哪種是最強的覆蓋準(zhǔn)則()
A.語句覆蓋B.條件覆蓋C.判定覆蓋D.條件組合覆蓋
答案:D
53.面向數(shù)據(jù)流的設(shè)計方法把()映射成軟件結(jié)構(gòu)。
A.?dāng)?shù)據(jù)流B.系統(tǒng)結(jié)構(gòu)C.控制結(jié)構(gòu)D.信息流
答案:A
54.內(nèi)聚程度最低的是( )內(nèi)聚
A.偶然 B.過程 C.順序 D.時間
答案:A
55.確定測試計劃是在( )階段制定的.
A.總體設(shè)計 B.詳細設(shè)計 C.編碼 D.測試
答案:A
56.需求分析的產(chǎn)品是()
A.?dāng)?shù)據(jù)流程圖案B.?dāng)?shù)據(jù)字典C.判定表D.需求規(guī)格說明書
答案:D
57.?dāng)?shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是()
A.?dāng)?shù)據(jù)庫設(shè)計B.?dāng)?shù)據(jù)通信C.?dāng)?shù)據(jù)定義D.?dāng)?shù)據(jù)維護
答案:C
58.( )引入了“風(fēng)險驅(qū)動”的思想,適用于大規(guī)模的內(nèi)部開發(fā)項目。
A.增量模型B.噴泉模型C.原型模型D.螺旋模型
答案:D
59.模塊的內(nèi)聚性最高的是()
A.邏輯內(nèi)聚B.時間內(nèi)聚C.偶然內(nèi)聚D.功能內(nèi)聚
答案:D
60.提高測試的有效性非常重要,成功的測試是指( )
A.證明了被測試程序正確無誤B. 說明了被測試程序符合相應(yīng)的要求
C.未發(fā)現(xiàn)被測程序的錯誤D.發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤
答案:D
二、多選題
1、軟件危機產(chǎn)生的主要原因是(AE )。
A.軟件本身的特點 B.用戶使用不當(dāng) C.缺乏好的開發(fā)方法和手段
D.對軟件的錯誤認識
答案:AC
2、以下說法中正確的是(BCD)。
A.快速原型思想是在研究概要設(shè)計階段的方法和技術(shù)中產(chǎn)生的
B.探索型和實驗型快速原型采用的是拋棄策略
C.演化型快速原型采用附加策略
D.快速原型是利用原型輔助軟件開發(fā)的一種新思想
答案:BCD
3、下列敘述中,(ABD)是不正確的。
A.軟件系統(tǒng)中所有的信息流都可以認為是事物流
B.軟件系統(tǒng)中所有的信息流都可以認為是變換流
C.事務(wù)分析和變換分析的設(shè)計步驟是基本相似的
D.事務(wù)分析和變換分析的設(shè)計步驟完全不同
答案:ABD
4、在程序的描述和分析中,下列哪個不是用以指明數(shù)據(jù)來源、數(shù)據(jù)流向和數(shù)據(jù)處理的輔助圖形(ACD)。
A.瀑布模型 B.數(shù)據(jù)流圖
C.數(shù)據(jù)結(jié)構(gòu)圖 D.業(yè)務(wù)圖
答案:ACD
5、軟件維護是保證軟件正常、有效的重要手段,而軟件的下述特性中(ABCD)有利于軟件的維護。
A.可測試性 B.可理解性
C.可修改性 D.可移植性
答案:ABCD
6、軟件需求規(guī)格說明書的容包括對(ACD)的描述。
A.主要功能 B.算法的詳細過程
C.用戶界面及運行環(huán)境 D.軟件的性能
答案:ACD
7、下列說確的是(ACD)。
A.變換型的DFD是由輸入、變換(或稱處理)和輸出三部分組成
B.變換型數(shù)據(jù)處理的工作過程一般分為三步:處理數(shù)據(jù)、變換數(shù)據(jù)和再處理數(shù)據(jù)
C.變換輸入端的數(shù)據(jù)流為系統(tǒng)的邏輯輸入,它將外部形式的數(shù)據(jù)變換成部形式,送給主加工。
D.變換輸出端為邏輯輸出,它把主加工產(chǎn)生的數(shù)據(jù)的部形式轉(zhuǎn)換成外部形式后物理輸出。
答案:ACD
8、以下說確的是(ABC)。
A.面向?qū)ο蠓椒ú粌H支持過程抽象,而且支持數(shù)據(jù)抽象
B.某些面向?qū)ο蟮某绦蛟O(shè)計語言還支持參數(shù)化抽象
C.信息隱藏通過對象的封裝性來實現(xiàn)
D.在面向?qū)ο蠓椒ㄖ校愂亲罨镜哪K
答案:ABC
9、在程序設(shè)計過程中,要為程序調(diào)試做好準(zhǔn)備,主要體現(xiàn)在(ABC)。
A.采用模塊化、結(jié)構(gòu)化的設(shè)計方法設(shè)計程序
B.編寫程序時要為調(diào)試提供足夠的靈活性
C.根據(jù)程序調(diào)試的需要,要選擇并安排適當(dāng)?shù)闹虚g結(jié)果輸出和必要的斷點
D.以上答案都不正確
答案:ABC
10、對象間的關(guān)系可以有哪幾種關(guān)系(BCD)。
A.一對多關(guān)系 B.一般-特殊關(guān)系 C.整體-部分關(guān)系 D.
答案:BCD
11. Hive數(shù)據(jù)倉庫和關(guān)系型數(shù)據(jù)庫mysql的區(qū)別() *
A.Hive不支持事務(wù)而mysql支持事務(wù)
B.hive高延遲而mysql相對低延遲。
C.Hive不支持索引而mysql支持索引。
D.Hive的分區(qū)和mysql的分區(qū)都用表內(nèi)字段。
答案:BC
12.如果需要配置Apache版本的hadoop的完全分布式,需要更改哪些xml配置文件( ) *
A.core-site.xml
B.hdfs-site.xml
C.mapred-site.xml
D.yarn-site.xml
答案:ABCD
13. 下列哪些參數(shù)可以影響切片數(shù)量?( ) *
A.MinSize
B.MaxSize
C.blockSize
D.premisson
答案:ABC
14. Client端上傳文件的時候下列哪項正確的經(jīng)過() *
A.NameNode傳遞給 DataNode
B. Client端將文件以 Block為單位,管道方式依次傳到 Data Node
C. Client只上傳數(shù)據(jù)到一臺 DataNode,然后由 Name Node負責(zé) Block復(fù)制工作
D.當(dāng)某個 DataNode失敗,客戶端會繼續(xù)傳給其它 DataNode
答案:BD
15. HBase性能優(yōu)化包含下面的哪些選項?() *
A.讀優(yōu)化
B.寫優(yōu)化
C.配置優(yōu)化
D.JVM優(yōu)化
答案:ABCD
16. RDD和它的父RDD的關(guān)系有() *
A、寬依賴
B、窄依賴
C、分區(qū)關(guān)系
D、繼承關(guān)系
答案:AB
17. 下列是transformation的算子() *
A、mapPartitions
B、lookup
C、mapPartitionsWithIndex
D、count
答案:AD
18. 下列關(guān)于 spark中的RDD描述正確的有() *
A、RDD( Resilient distributed dataset叫做彈性分布式數(shù)據(jù)集,是 spark中最基本的數(shù)據(jù)抽象
B、 Resilient:表示彈性的,彈性表示
C.Destributed:分布式,可以并行在集群計算
D.Dataset:就是一個集合,用于存放數(shù)據(jù)的
答案:ABCD
19. flink的三大部署模式() *
A、local
B、standalone
C、yarn
D、mesos
答案:ABC
20. 我們常說的ELK是指那三個工具() *
A、ElasticSearch
B、Logstash
C、Kibana
D、kafka
答案:ABC
三、判斷題
1. 軟件就是程序,編寫軟件就是編寫程序。(×)
2. 瀑布模型的最大優(yōu)點是將軟件開發(fā)的各個階段劃分得十分清晰。(×)
3. 結(jié)構(gòu)化方法的工作模型是使用螺旋模型進行開發(fā)。(×)
4. 結(jié)構(gòu)化方法和JSP方法都不適合于大型軟件的開發(fā)。(√)
5. 原型化開發(fā)方法包括生成原型和實現(xiàn)原型兩個步驟。(×)
6. 面向?qū)ο蟮拈_發(fā)方法包括面向?qū)ο蟮姆治觥⒚嫦驅(qū)ο蟮脑O(shè)計和面向?qū)ο蟮某绦蛟O(shè)計。( √)
7. 軟件危機的主要表現(xiàn)是軟件的需求量迅速增加,軟件價格上升。(×)
8. 軟件工具的作用是為了延長軟件產(chǎn)品的壽命。(×)
9. 軟件工程過程應(yīng)該以軟件設(shè)計為中心,關(guān)鍵是編寫程序。(×)
10. RCP法與RSP法的主要區(qū)別是前者采用循環(huán)漸進的開發(fā)方式,原型將成為最終的產(chǎn)品,而后者將被廢棄。(√)
11. 在進行了可行性分析后,需求分析就只需要解決目標(biāo)系統(tǒng)的設(shè)計方案。(×)
12. SA法是面向數(shù)據(jù)流,建立在數(shù)據(jù)封閉原則上的需求分析方法。(√)
13. HIPO法既是需求分析方法,又是軟件設(shè)計方法。(√)
14. 在面向?qū)ο蟮男枨蠓治龇椒ㄖ校討B(tài)模型是最主要的任務(wù)。(×)
15. 加工小說明是對系統(tǒng)流程圖中的加工進行說明。(×)
16. 判定表的優(yōu)點是容易轉(zhuǎn)換為計算機實現(xiàn),缺點是不能夠描述組合條件。(×)
17. 需求分析的主要方法有SD法、OOA法及HIPO法等。(×)
18. 分層的DFD圖可以用于可行性分析階段,描述系統(tǒng)的物理結(jié)構(gòu)。(×)
19. 信息建模方法是從數(shù)據(jù)的角度來建立信息模型的,最常用的描述信息模型的方法是E-R 圖。(√)
20. 用于需求分析的軟件工具,應(yīng)該能夠保證需求的正確性,即驗證需求的一致性、完整性、現(xiàn)實性和有效性。(√)