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