软件工程期末复习题(3+1套内附答案)
第一套
一 單項選擇題 試題1 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 下面關于數據流圖建模規則的描述正確的是()。 數據流圖中的過程用于存儲數據。? 數據流表示軟件系統中運動的數據,其名稱必須是名詞性描述。? 外部實體指的是與軟件系統交互的人或組織。? 外部實體可以直接向數據存儲輸入數據,也可以直接從中讀取數據。 [我的答案] 數據流表示軟件系統中運動的數據,其名稱必須是名詞性描述。 [參考答案] 數據流表示軟件系統中運動的數據,其名稱必須是名詞性描述。試題2 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 下列關于軟件開發的描述不正確的是()。 軟件是獨立于計算機硬件的一部分,但它又依賴于計算機硬件。? 軟件既是一種復雜的邏輯實體,又是一種工具。? 軟件的核心是程序,另外還包括文檔、數據和模型。? 軟件發展的趨勢是規模越來越大、功能越來越復雜。 [我的答案] 軟件的核心是程序,另外還包括文檔、數據和模型。 [試題解析] 軟件=程序+數據+文檔 [參考答案] 軟件的核心是程序,另外還包括文檔、數據和模型。試題3 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 ER圖是數據庫設計的基礎,因此又稱為()。 數據模型? 數據庫概念模型? 數據庫邏輯結構設計模型? 數據里物理模型 [我的答案] 數據庫概念模型 [參考答案] 數據庫概念模型試題4 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 關于白盒測試的描述不正確的是()。 企業中進行白盒測試的要求是做到語句覆蓋。? 代碼覆蓋程度越強的方法發現缺陷的幾率就越高。? 白盒測試的要求是必須做到條件組合覆蓋。? 經過白盒測試的程序必須還要進行黑盒測試。 [我的答案] 白盒測試的要求是必須做到條件組合覆蓋。 [試題解析] C、通常要求至少做到語句覆蓋。 [參考答案] 白盒測試的要求是必須做到條件組合覆蓋。試題5 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 測試用例設計時,主要工作是()。 設計測試場景的輸入數據? 設計測試場景的輸入與輸出數據? 設計測試場景的輸出數據? 以上都不是 [我的答案] 設計測試場景的輸入與輸出數據 [參考答案] 設計測試場景的輸入與輸出數據試題6 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 下列關于敏捷原則說法錯誤的是()。 在整個項目開發期間,業務人員和開發人員必須天天在一起工作。? 即使到了開發后期,也可以改變需求。? 最有效果的、最有效率的傳遞信息的方法,是面對面的交談。? 首要的進度度量標準是代碼量。 [我的答案] 首要的進度度量標準是代碼量。 [參考答案] 首要的進度度量標準是代碼量。試題7 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 在()年的NATO會議上,軟件工程的術語被首次提出。 1966? 1968? 1970? 1972 [我的答案] 1968 [參考答案] 1968試題8 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 軟件工程是一個包含多領域知識的復雜學科,要成為一個軟件工程師也需要掌握()。 軟件技術知識、良好的交流溝通能力和職業素養。? 全方位的軟件技術知識。? 軟件技術知識和軟件管理知識。? 至少3門程序設計語言。 [我的答案] 軟件技術知識、良好的交流溝通能力和職業素養。 [試題解析] 課本P11 [參考答案] 軟件技術知識、良好的交流溝通能力和職業素養。試題9 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 下列關于敏捷聯盟宣言的理解錯誤的是()。 個體和交互勝過過程和工具,表明團隊的構建比開發環境的構建重要得多。? 可以工作的軟件勝過面面俱到的文檔,表明過多的文檔比過少的文檔更糟糕。? 客戶合作勝過合同談判,表明成功的項目需要客戶配合開發團隊詳細明確地制定合同,避免開發時關于工作內容 的過多交互。? 響應變化勝過遵循計劃,表明項目計劃不能考慮過遠,只需要為下兩周做詳細計劃即可,再遠的時間可制定簡略 的規劃。 [我的答案] 客戶合作勝過合同談判,表明成功的項目需要客戶配合開發團隊詳細明確地制定合同,避免開發時關于工作 內容的過多交互。 [參考答案] 客戶合作勝過合同談判,表明成功的項目需要客戶配合開發團隊詳細明確地制定合同,避免開發時關于工作 內容的過多交互。試題10 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 下列不是軟件危機的表現的是()。 軟件開發成本超支。? 軟件在使用一段時間后會被淘汰。? 軟件質量不可靠。? 軟件開發生產率無法滿足人們對軟件生成的要求。 [我的答案] 軟件在使用一段時間后會被淘汰。 [試題解析] 軟件應用一段時間后被淘汰是必然規律。 [參考答案] 軟件在使用一段時間后會被淘汰。二 不定項選擇題 試題1 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 需求獲取活動()。 目的是從空白開始建立最初的原始需求。? 是從人、文檔或者環境中獲取需求的過程。? 獲取到的活動并非是定義良好的需求。? 只需要獲取和分析用戶的功能需求即可。 [我的答案] 獲取到的活動并非是定義良好的需求。 是從人、文檔或者環境中獲取需求的過程。 目的是從空白開始建立最初的原始需求。 [試題解析] D、只需要獲取和分析用戶的功能需求即可。(目標、功能、性能需求等) [參考答案] 目的是從空白開始建立最初的原始需求。 是從人、文檔或者環境中獲取需求的過程。 獲取到的活動并非是定義良好的需求。試題2 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 關于軟件設計分層設計的理解正確的是()。 軟件設計分為高層設計和低層設計? 高層設計又稱為體系結構設計? 軟件分層設計的做法,體現了自頂向下逐層分解的思想? 詳細設計關注的是數據結構和算法的設計 [我的答案] 軟件分層設計的做法,體現了自頂向下逐層分解的思想 [試題解析] A、軟件設計分為高層設計和低層設計(高層、中層、低層設計) B、高層設計又稱為體系結構設計(體系 結構設計包括高層設計和部分中層設計) D、詳細設計關注的是數據結構和算法的設計(詳細設計主要完成中層設計和 部分低層設計,包括過程、調用;類、協作的設計;數據結構、算法設計;類型、語句、控制結構的設計) [參考答案] 軟件分層設計的做法,體現了自頂向下逐層分解的思想試題3 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 需求指的是用戶的期望,關于對需求的理解正確的是()。 根據抽象層次及程度,將需求分為業務需求、用戶需求和系統級需求。? 需求分析的過程就是將描述目標的業務需求,以及描述用戶期望的用戶需求最終轉為為描述系統行為的系統級需 求。? 可以將軟件需求分為功能需求和性能需求。? 功能需求是軟件系統需求中最常見、最主要和最重要的需求,也是最為復雜的需求。 [我的答案] 功能需求是軟件系統需求中最常見、最主要和最重要的需求,也是最為復雜的需求。 需求分析的過程就是將描述目標的業務需求,以及描述用戶期望的用戶需求最終轉為為描述系統行為的系統級需求。 根據抽象層次及程度,將需求分為業務需求、用戶需求和系統級需求。 [試題解析] C、可以將軟件需求分為功能需求和性能需求。(功能、性能、質量屬性、對外接口、約束、數據需求) [參考答案] 根據抽象層次及程度,將需求分為業務需求、用戶需求和系統級需求。 需求分析的過程就是將描述目標的業務需求,以及描述用戶期望的用戶需求最終轉為為描述系統行為的系統級需求。 功能需求是軟件系統需求中最常見、最主要和最重要的需求,也是最為復雜的需求。試題4 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 以需求為基礎開發系統測試用例需要()。 將開發需求轉換為測試需求? 從測試需求中提取測試要點? 為測試要點設計測試用例? 將測試用例整理形成測試用例文檔 [我的答案] 將測試用例整理形成測試用例文檔 為測試要點設計測試用例 從測試需求中提取測試要點 將開發需求轉換為測試需求 [參考答案] 將開發需求轉換為測試需求 從測試需求中提取測試要點 為測試要點設計測試用例 將測試用例整理形成測試用例文檔試題5 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 結構化需求分析模型包括()。 數據流圖? 實體關系圖? 狀態轉圖? 數據字典 [我的答案] 數據字典 狀態轉圖 實體關系圖 數據流圖 [參考答案]?數據流圖 實體關系圖 狀態轉圖 數據字典三 判斷題 試題1 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 軟件生存周期模型必須要將所有類型的過程、活動和任務考慮在內,形成滿足每個軟件 項目需要的模型。 [我的答案] 錯誤 [參考答案] 錯誤試題2 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 軟件生存周期模型是對軟件生存周期中過程、活動和任務的組織。 [我的答案] 正確 [參考答案] 正確試題3 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 軟件生存周期的含義是表明軟件的演化和發展具有周期性,每過一段時間就需要更新。 [我的答案] 錯誤 [參考答案] 錯誤試題4 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 環境圖也稱頂層數據流圖,它僅包括一個數據處理過程,即目標系統。 [我的答案] 正確 [參考答案] 正確試題5 滿分值:1.0分 ? 狀態:已答 ? 實際得分:1.0分 實體與屬性的區別在于,實體是復合信息,而屬性是原子(不可再分)信息。 [我的答案] 正確 [參考答案] 正確第二套
一 單項選擇題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 下列不是軟件危機的表現的是()。 軟件開發成本超支。 軟件在使用一段時間后會被淘汰。 軟件質量不可靠。 軟件開發生產率無法滿足人們對軟件生成的要求。 [我的答案] 軟件在使用一段時間后會被淘汰。 [試題解析] 軟件應用一段時間后被淘汰是必然規律。 [參考答案] 軟件在使用一段時間后會被淘汰。試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 數據流圖將軟件系統建模為輸入、處理、存儲與輸出的協同工作,其側重描述系統的 ()。 數據規格 處理規格 控制規格 術語詞條 [我的答案] 處理規格 [參考答案] 處理規格試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 關于白盒測試的描述不正確的是()。 企業中進行白盒測試的要求是做到語句覆蓋。 代碼覆蓋程度越強的方法發現缺陷的幾率就越高。 白盒測試的要求是必須做到條件組合覆蓋。 經過白盒測試的程序必須還要進行黑盒測試。 [我的答案] 白盒測試的要求是必須做到條件組合覆蓋。 [試題解析] C、通常要求至少做到語句覆蓋。 [參考答案] 白盒測試的要求是必須做到條件組合覆蓋。試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 關于黑盒測試的描述正確的是()。 黑盒測試就是把測試對象看作一個黑盒子,目的是測試代碼結構。 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。 進行等價類測試時,要重點測試有效等價類數據。 針對邊界情況設計測試用例后,就不用考慮等價類測試用例了。 [我的答案] 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。 [試題解析] A、黑盒測試的目的是測試功能是否滿足需求規格。C、重點測試無效等價類。D、邊界值法是等價類法的 有效補充,但不能取代。 [參考答案] 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件項目管理是()一切活動的管理。 需求分析 軟件設計過程 模塊設計 軟件生命周期 [我的答案] 軟件生命周期 [參考答案] 軟件生命周期試題6 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件產品與物質產品有很大的區別,軟件產品是一種()產品。 有形 消耗 邏輯 文檔 [我的答案] 邏輯 [參考答案] 邏輯試題7 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件產品的質量是由()階段的工作決定的。 需求分析 軟件設計 軟件構建 軟件測試 [我的答案] 軟件設計 [參考答案] 軟件設計試題8 滿分值:1.0分 狀態:已答 實際得分:0.0分 下列關于軟件開發的描述不正確的是()。 軟件是獨立于計算機硬件的一部分,但它又依賴于計算機硬件。 軟件既是一種復雜的邏輯實體,又是一種工具。 軟件的核心是程序,另外還包括文檔、數據和模型。 軟件發展的趨勢是規模越來越大、功能越來越復雜。 [我的答案] 軟件既是一種復雜的邏輯實體,又是一種工具。 [試題解析] 軟件=程序+數據+文檔 [參考答案] 軟件的核心是程序,另外還包括文檔、數據和模型。試題9 滿分值:1.0分 狀態:已答 實際得分:0.0分 軟件公司為了提高軟件可維護性而進行的代碼重構稱為()。 修正性維護 完善性維護 適應性維護 預防性維護 [我的答案] 修正性維護 [參考答案] 預防性維護試題10 滿分值:1.0分 狀態:已答 實際得分:1.0分 實體關系圖側重于對軟件系統的()建模。 功能 行為 質量 數據 [我的答案] 數據 [參考答案] 數據二 不定項選擇題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 結構化詳細設計過程將需求階段的(),轉換為()模型。 DFD ERD 結構圖 數據庫邏輯設計 [我的答案] 結構圖 DFD [參考答案] DFD 結構圖試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 需求獲取活動()。 目的是從空白開始建立最初的原始需求。 是從人、文檔或者環境中獲取需求的過程。 獲取到的活動并非是定義良好的需求。 只需要獲取和分析用戶的功能需求即可。 [我的答案] 獲取到的活動并非是定義良好的需求。 是從人、文檔或者環境中獲取需求的過程。 目的是從空白開始建立最初的原始需求。 [試題解析] D、只需要獲取和分析用戶的功能需求即可。(目標、功能、性能需求等) [參考答案] 目的是從空白開始建立最初的原始需求。 是從人、文檔或者環境中獲取需求的過程。 獲取到的活動并非是定義良好的需求。試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 下列軟件及軟件工程的發展歷程述不正確的是()。 軟件從規模和復雜程度上呈現規模越來越大,復雜度越來越高的趨勢。 軟件工程越來越重視理論、原則的總結與提出。 結構化方法比面向對象方法更適合于大規模復雜軟件系統的開發。 基于復用的大型軟件系統的開發技術、軟件體系結構等一系列技術是隨著大規模復雜系統開發需求而產生的。 由于軟件規模越來越大,復雜程度越來越高,使得軟件開發成本遠遠高于其他軟件工程活動的成本。 [我的答案] 由于軟件規模越來越大,復雜程度越來越高,使得軟件開發成本遠遠高于其他軟件工程活動的成本。 結構化方法比面向對象方法更適合于大規模復雜軟件系統的開發。 軟件工程越來越重視理論、原則的總結與提出。 [試題解析] B、軟件工程越來越重視理論、原則的總結與提出。 / 更加重視最佳實踐方法的使用。 C、結構化方法比面 向對象方法更適合于大規模復雜軟件系統的開發。 / 面向對象方法比結構化方法更適合 E、由于軟件規模越來越大,復 雜程度越來越高,使得軟件開發成本遠遠高于其他軟件工程活動的成本。 /維護成本遠遠高于開發成本 [參考答案] 軟件工程越來越重視理論、原則的總結與提出。 結構化方法比面向對象方法更適合于大規模復雜軟件系統的開發。 由于軟件規模越來越大,復雜程度越來越高,使得軟件開發成本遠遠高于其他軟件工程活動的成本。試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 下列關于21世紀前10年的描述正確的是()。 硬件環境向更廣和更小兩個層次展開,分布式環境和嵌入式設備及移動終端大規模普及。 基于Internet的大規模Web應用成為主流,面向消費大眾的軟件產品需求出現了爆炸式增長。 軟件開發方法與技術與上世紀90年代相同。 RUP逐漸被敏捷方法取代,軟件開發過程不再被重視。 軟件工程方法開始在各領域深入,根據領域特點選擇開發技術組織開發過程,重視軟件的可變更性及用戶價值。 [我的答案] 軟件工程方法開始在各領域深入,根據領域特點選擇開發技術組織開發過程,重視軟件的可變更性及用戶價值。 基于Internet的大規模Web應用成為主流,面向消費大眾的軟件產品需求出現了爆炸式增長。 硬件環境向更廣和更小兩個層次展開,分布式環境和嵌入式設備及移動終端大規模普及。 [試題解析] C、軟件開發方法與技術與上世紀90年代相同。 在之前的基礎上有了進一步的發展和完善。 D、RUP逐漸 被敏捷方法取代,軟件開發過程不再被重視。 依然被重視。 [參考答案] 硬件環境向更廣和更小兩個層次展開,分布式環境和嵌入式設備及移動終端大規模普及。 基于Internet的大規模Web應用成為主流,面向消費大眾的軟件產品需求出現了爆炸式增長。 軟件工程方法開始在各領域深入,根據領域特點選擇開發技術組織開發過程,重視軟件的可變更性及用戶價值。試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 結構化需求分析模型包括()。 數據流圖 實體關系圖 狀態轉圖 數據字典 [我的答案] 數據字典 狀態轉圖 實體關系圖 數據流圖 [參考答案] 數據流圖 實體關系圖 狀態轉圖 數據字典 三 判斷題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 環境圖也稱頂層數據流圖,它僅包括一個數據處理過程,即目標系統。 [我的答案] 正確 [參考答案] 正確試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 代碼就是設計,所以我們可以直接編寫代碼而不用設計。 [我的答案] 錯誤 [試題解析] 錯。代碼關注的是詳細設計的細節。而設計還要完成高層和中層設計。 [參考答案] 錯誤試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件詳細設計是在軟件體系結構設計之后,以需求開發的結果和軟件體系結構的結構為 出發點的。 [我的答案] 正確 [參考答案] 正確試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 經過測試后,即使沒有發現錯誤,也不能說軟件是沒有問題的。 [我的答案] 正確 [參考答案] 正確試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件生存周期模型是對軟件生存周期中過程、活動和任務的組織。 [我的答案] 正確 [參考答案] 正確第三套
一 單項選擇題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 實體關系圖側重于對軟件系統的()建模。 功能 行為 質量 數據 [我的答案] 數據 [參考答案] 數據試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件產品的質量是由()階段的工作決定的。 需求分析 軟件設計 軟件構建 軟件測試 [我的答案] 軟件設計 [參考答案] 軟件設計試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件體系結構定義為() {component, connector, configuration} {models, connector} {object, collaboration, message, } [我的答案] {component, connector, configuration} [參考答案] {component, connector, configuration}試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 OO中,對象之間的協作是通過()來實現的。 關聯 泛化 依賴 實現 消息 [我的答案] 消息 [參考答案] 消息試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 關于黑盒測試的描述正確的是()。 黑盒測試就是把測試對象看作一個黑盒子,目的是測試代碼結構。 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。 進行等價類測試時,要重點測試有效等價類數據。 針對邊界情況設計測試用例后,就不用考慮等價類測試用例了。 [我的答案] 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。 [試題解析] A、黑盒測試的目的是測試功能是否滿足需求規格。C、重點測試無效等價類。D、邊界值法是等價類法的 有效補充,但不能取代。 [參考答案] 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。試題6 滿分值:1.0分 狀態:已答 實際得分:1.0分 集成測試( )。 主要采用白盒測試方式,目的是證明模塊功能正確。 主要采用黑盒測試,主要是發現模塊內程序錯誤。 是證明模塊功能正確性的測試,主要由開發人員完成。 主要采用白盒+黑盒的測試方式,是為了檢驗系統功能。 [我的答案] 主要采用白盒+黑盒的測試方式,是為了檢驗系統功能。 [參考答案] 主要采用白盒+黑盒的測試方式,是為了檢驗系統功能。試題7 滿分值:1.0分 狀態:已答 實際得分:1.0分 下列關于敏捷軟件開發說法錯誤的是()。 敏捷軟件開發是一種應對快速變化的需求的一種開發方法。 敏捷軟件開發強調文檔的重要性。 敏捷軟件開發注重程序員團隊與業務專家的密切協作。 敏捷軟件開發希望頻繁的交付新的軟件版本。 [我的答案] 敏捷軟件開發強調文檔的重要性。 [參考答案] 敏捷軟件開發強調文檔的重要性。試題8 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件產品與物質產品有很大的區別,軟件產品是一種()產品。 有形 消耗 邏輯 文檔 [我的答案] 邏輯 [參考答案] 邏輯試題9 滿分值:1.0分 狀態:已答 實際得分:1.0分 在()年的NATO會議上,軟件工程的術語被首次提出。 1966 2020/6/16 測試結果 etcnew.sdut.edu.cn/meol/common/question/test/student/stu_qtest_result.jsp?testId=132648441 4/7 1968 1970 1972 [我的答案] 1968 [參考答案] 1968試題10 滿分值:1.0分 狀態:已答 實際得分:1.0分 測試用例設計時,主要工作是()。 設計測試場景的輸入數據 設計測試場景的輸入與輸出數據 設計測試場景的輸出數據 以上都不是 [我的答案] 設計測試場景的輸入與輸出數據 [參考答案] 設計測試場景的輸入與輸出數據二 不定項選擇題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 MVC是一種體系結構風格,其中M、V、C分別是關于()的抽象。 業務邏輯 表現 控制 數據 調用 [我的答案] 業務邏輯 表現 控制 [參考答案] 業務邏輯 表現 控制試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 結構化詳細設計過程將需求階段的(),轉換為()模型。 DFD ERD 結構圖 數據庫邏輯設計 [我的答案] DFD 結構圖 [參考答案] DFD 結構圖試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 在進行人機交互設計時,需要遵循()原則。 簡潔設計 一致性設計 低出錯率設計 易記性設計 [我的答案] 簡潔設計 一致性設計 低出錯率設計 易記性設計 [參考答案] 簡潔設計 一致性設計 低出錯率設計 易記性設計試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 交互圖的一種形式稱為順序圖,關于順序圖的描述正確的是()。 順序圖用于描述軟件系統的數據處理過程。 順序圖是一個類似二維表的結構,縱軸為時間軸,橫軸表示了參與協作的對象。 順序圖中將對象的交互(協作)表示為消息,消息按照時間順序,在順序圖中從左向右排列。( 順序圖中的消息的實質是發送者對象的方法。 [我的答案] 順序圖是一個類似二維表的結構,縱軸為時間軸,橫軸表示了參與協作的對象。 [試題解析] A、順序圖用于描述軟件系統的數據處理過程。(描述數據處理過程的是DFD;順序圖描述的是特定上下文 環境中一組對象的交互行為) C、順序圖中將對象的交互(協作)表示為消息,消息按照時間順序,在順序圖中從左向 右排列。(消息從上到下排列) D、順序圖中的消息的實質是發送者對象的方法。(接收者對象的方法) [參考答案] 順序圖是一個類似二維表的結構,縱軸為時間軸,橫軸表示了參與協作的對象。試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 概念類圖的基本元素不包括()。 對象和類 鏈接和關聯 繼承 消息 [我的答案] 消息 [試題解析] D、消息(順序圖的符號) [參考答案] 消息三 判斷題 試題1 滿分值:1.0分 狀態:已答 實際得分:1.0分 實體與屬性的區別在于,實體是復合信息,而屬性是原子(不可再分)信息。 [我的答案] 正確 [參考答案] 正確試題2 滿分值:1.0分 狀態:已答 實際得分:1.0分 軟件詳細設計是在軟件體系結構設計之后,以需求開發的結果和軟件體系結構的結構為 出發點的。 [我的答案] 正確 [參考答案] 正確試題3 滿分值:1.0分 狀態:已答 實際得分:1.0分 經過測試后,即使沒有發現錯誤,也不能說軟件是沒有問題的。 [我的答案] 正確 [參考答案] 正確試題4 滿分值:1.0分 狀態:已答 實際得分:1.0分 當軟件的一個版本被淘汰時,則該軟件的生存周期就結束了。 [我的答案] 錯誤 [參考答案] 錯誤試題5 滿分值:1.0分 狀態:已答 實際得分:1.0分 代碼就是設計,所以我們可以直接編寫代碼而不用設計。 [我的答案] 錯誤 [試題解析] 錯。代碼關注的是詳細設計的細節。而設計還要完成高層和中層設計。 [參考答案] 錯誤2020年6月——期末考試題:
一 單項選擇題
試題1 滿分值:2.0分 ? 狀態:已答 ?
以下有關軟件工程基本概念的說法中,不正確的是_____________________。
軟件發展的趨勢是規模越來越大、功能越來越復雜。?
軟件既是一種復雜的邏輯實體,又是一種工具。?
軟件的核心是程序,另外還包括文檔、數據和模型。?
軟件是獨立于計算機硬件的一部分,但它又依賴于計算機硬件。
[我的答案] 軟件的核心是程序,另外還包括文檔、數據和模型。
試題2 滿分值:2.0分 ? 狀態:已答 ?
需求工程活動包括_____________________兩個方面。
需求獲取和需求分析?
需求分析和需求管理?
需求分析和規格說明?
需求開發和需求管理
[我的答案] 需求開發和需求管理
試題3 滿分值:2.0分 ? 狀態:已答 ?
需求指的是用戶的期望,關于對需求的理解不正確的是_____________________。
功能需求是軟件系統需求中最常見、最主要和最重要的需求,也是最為復雜的需求。?
根據抽象層次及程度,將需求分為業務需求、用戶需求和系統級需求。?
可以將軟件需求分為功能需求和性能需求。?
需求分析的過程就是將描述目標的業務需求,以及描述用戶期望的用戶需求最終轉為為描述系統行為的系統級需
求
[我的答案] 可以將軟件需求分為功能需求和性能需求。
試題4 滿分值:2.0分 ? 狀態:已答 ?
數據流圖(DFD)將軟件系統建模為輸入、處理、存儲與輸出的協同工作,其側重描述 系統的_____________________。
處理規格?
術語詞條?
控制規格?
數據規格
[我的答案] 處理規格
試題5 滿分值:2.0分 ? 狀態:已答 ?
下面關于用例建模的描述中,不正確的是_____________________。
用例模型包括用例圖和用例描述。?
用例描述又稱用例規格,是用文本形式描述出用例的參與者、目標及交互場景。?
用例圖的元素只包括參與者和用例。?
用例是不同條件下系統對某一用戶的請求的響應,由一組交互的行為序列組成,幫助實現用戶的一個完整目的。
[我的答案] 用例圖的元素只包括參與者和用例。
試題6 滿分值:2.0分 ? 狀態:已答 ?
“項目應當在12個月內完成”這是_____________________。
系統需求?
過程需求?
硬件需求?
項目需求
[我的答案] 項目需求
試題7 滿分值:2.0分 ? 狀態:已答 ?
根據下面對應的概念類圖,池塘(Pond)和鴨子(Duck)類之間是 _____________________關系。
繼承?
組合?
聚集?
關聯
[我的答案] 聚集
試題8 滿分值:2.0分 ? 狀態:已答 ?
面向對象中,對象之間的協作是通過_____________________來實現的。
依賴?
泛化?
消息?
關聯
[我的答案] 消息
試題9 滿分值:2.0分 ? 狀態:已答 ?
對于下面的代碼,耦合類型為_____________________。
class Math
{
? int number;
? public double sqrtANumber()
{ ? ? ?
return Math.sqrt(number); ?
}
}
控制耦合?
印記耦合?
數據耦合?
公共耦合
[我的答案] 數據耦合
試題10 滿分值:2.0分 ? 狀態:已答 ?
以下模型中,可用于開發風險較大的軟件的是_____________________。
增量模型?
原型模型?
螺旋模型?
瀑布模型
[我的答案] 螺旋模型
試題11 滿分值:2.0分 ? 狀態:已答 ?
以下需求描述的是對負載(Load)的性能需求的是_____________________。
系統所有對用戶信息的查詢應當在6秒內完成?
系統在監測到心電異常,必須在0.1秒內發出警報?
系統應當可存儲1000萬條銷售信息?
系統可同時允許100萬用戶進行數據文件的備份和下載
[我的答案] 系統可同時允許100萬用戶進行數據文件的備份和下載
試題12 滿分值:2.0分 ? 狀態:已答 ?
以下有關軟件測試的說法中,不正確的是_____________________。
黑盒測試主要用于對功能的測試?
大多數軟件都做不到“零缺陷”?
白盒測試主要是對程序內部邏輯結構的測試?
成功的測試是發現所有錯誤的測試
[我的答案] 成功的測試是發現所有錯誤的測試
試題13 滿分值:2.0分 ? 狀態:已答 ?
以下有關人機交互設計的說法中,不正確的是_____________________。
人機交互設計不僅關注靜態界面布局,也重視軟件產品的動態過程?
簡潔、一致性、低出錯率、易記性設計都是典型的人機交互設計原則?
人機交互設計依據精神模型進行隱喻設計?
對于人機交互設計所得的界面無法進行客觀評估
[我的答案] 對于人機交互設計所得的界面無法進行客觀評估
試題14 滿分值:2.0分 ? 狀態:已答 ?
根據下面對應的構件圖,屬于“需求接口”的是_____________________。
更新計劃?
圖中不存在需求接口?
預訂?
計劃制訂者
[我的答案] 預訂
試題15 滿分值:2.0分 ? 狀態:已答 ?
以下不屬于軟件設計質量標準的是_____________________。
易復用?
可擴展?
易修改?
可理解
[我的答案] 易復用
試題16 滿分值:2.0分 ? 狀態:已答 ?
以下有關面向對象設計的說法中,不正確的是_____________________。
利用信息隱藏提高易用性?
追求高內聚低耦合?
通過協作建立動態模型?
通過職責建立靜態模型
[我的答案] 利用信息隱藏提高易用性
試題17 滿分值:2.0分 ? 狀態:已答 ?
關于黑盒測試的描述正確的是()。
針對邊界情況設計測試用例后,就不用考慮等價類測試用例了。?
進行等價類測試時,要重點測試有效等價類數據。?
黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。?
黑盒測試就是把測試對象看作一個黑盒子,目的是測試代碼結構。
[我的答案] 黑盒測試依據測試對象的規格說明來設計輸入和輸出數據。
試題18 滿分值:2.0分 ? 狀態:已答 ?
根據下面對應的詳細類圖,其中visibility(可視)屬性屬于_____________________。
以上都不對?
public(公有)成員?
protected(受保護)成員?
private(私有)成員
[我的答案] protected(受保護)成員
試題19 滿分值:2.0分 ? 狀態:已答 ?
根據下面對應的功能模塊關系描述,其內聚形式屬于_____________________。
過程內聚?
時間內聚?
邏輯內聚?
通信內聚
[我的答案] 通信內聚
試題20 滿分值:2.0分 ? 狀態:已答 ?
以下有關順序圖的描述中,不正確的是_____________________。
順序圖描述的是對象的之間的相互協作,是典型的交互圖。?
需求分析階段需要提供詳細順序圖。?
順序圖中的消息有同步消息、異步消息和返回消息之分。?
順序圖可看作是二維圖表,縱軸可以看作是時間軸。
[我的答案] 需求分析階段需要提供詳細順序圖。
二、問答題
試題1 滿分值:5.0分 ? 狀態:已答 ?
在軟件工程實踐中,有人認為“軟件工程存在最好的解決方案,也應該追求最好的方 案”,請辨析該說法是否正確,并給出相應的解釋說明。
[我的答案]
答:“軟件工程存在最好的解決方案,也應該追求最好的方案”這句話在我看來是不正 確的。 ? ?因為:軟件工程追求的是足夠好,不是最好。軟件工程都要以成本效益比有效為生 產成功的基本條件。成本是軟件開發的耗費,效益是客戶為了得到軟件產品愿意付出的 費用。 如果一個項目做到最好需要花費太多成本 雖然做出來的東西是好的 但是這個工
試題2 滿分值:5.0分 ? 狀態:已答 ?
有人認為在軟件測試中,應當找出軟件中所有的缺陷和不足,從而確保軟件產品的質 量,請辨析該描述是否正確,并給出相應的解釋說明。
[我的答案] 答:這個說法不正確。原因如下: ? ?軟件測試的主要目的是驗證和確認產品的質量,不是找到所有錯誤。 ? ?沒有一個軟件是完美的,軟件都是做到與時俱進,軟件測試只是驗證軟件的質量, 后期還有維護階段可以慢慢的發現并修改bug。一個大型項目想要做到面面俱到還是很 難的
試題3 滿分值:5.0分 ? 狀態:已答 ?
根據抽象程度的不同,軟件設計可以為分高層設計、中層設計和低層設計,各自的關注 點在哪?并簡要說明為什么需要分層進行軟件設計。
[我的答案] 答: ? ?高層設計:基于反映軟件高層抽象的構建層次,描述系統的高層結果、關注點和設 計決策; ? ?中層設計:更加關注組成構件的模塊的劃分、導入/導出、過程之間的調用關系或者 類之間的協作; ? ?低層設計:深入模塊和類的內部,關注具體的數據結構、算法、類型、語句和控制 結構等。 ? ? ? ?分層進行軟件設計的原因: 在處理復雜性時 分解 抽象和層次結構是基本的思路 軟件工程為了解決設計中
試題4 滿分值:5.0分 ? 狀態:已答 ?
軟件體系結構={部件(component),連接件(connector),配置(configuraion)} (Shaw,1995),如何理解這一定義?并簡要說明應當如何進行軟件體系結構的設 計
[我的答案]
答: ? ?定義:軟件體系結構={部件(component),連接件(connector),配置 (configuraion)} ? ?部件:軟件體系結構的組成基本單位之一,承載系統的主要功能,包括處理與數 據; ? ?連接件:軟件體系結構的另一個組成基本單位之一,定義部件之間的交互,是連接 的抽象表示; ? ?配置:對“形式”的發展,定義了“部件”以及“連接件”之間的關聯方式,將他 們組成系統的總體結構; ? ?定義的理解:一個軟件系統的體系結構規定了系統的計算部件和部件之間的交互。
? ? 體系結構設計過程: ? ?1、分析關鍵需求和項目約束; ? ?2、選擇體系結構風格; ? ?3、進行軟件體系結構邏輯(抽象)設計; ? ?4、依賴邏輯設計進行軟件體系結構物理(實現)設計; ? ?5、完善軟件體系結構設計; 6、定義構件接口
試題5 滿分值:5.0分 ? 狀態:已答 ?
試說明什么是分解(decomposition)和抽象(abstraction),并簡要說明為什么分解與抽 象是軟件設計的核心思想。
[我的答案] 答: ? ?分解:橫向上將系統分割成幾個相對簡單的子系統,以及各子系統直接的關系; ? ?抽象:縱向上聚焦各子系統之間的接口。 ? ?分解與抽象是軟件設計的核心思想,是因為“分而治之”是軟件設計解決復雜度難 題的主要出路。
試題6 滿分值:5.0分 ? 狀態:已答 ?
試舉例說明什么是“樁”(stub)和“驅動”(driver),并說明其在軟件工程中的應 用。
[我的答案] 答: ? ?樁程序:是被測試部件的交互環境,它扮演成被測試部件需要調用的其他系統部 件。 ? ?驅動程序:負責創建被測試部件的執行環境,并驅動和監控被測試用例的過程,判 定用例的執行結果。 軟件工程中的應用 進行軟件測試 將系統的單個部件獨立出來運行 單獨測試該…
試題7 滿分值:5.0分 ? 狀態:已答 ?
已知定義有整型變量X,Y,有如下代碼: X=X+Y; Y=X-Y; X=X-Y; 試分析此段代碼的作用,嘗試從軟件工程的角度說明這段代碼存在的問題。
[我的答案] 答:這段代碼的作用是交換X和Y的值。
存在的問題: ? ?1、不是易讀的代碼,沒有給出注釋; ? ?2、直接使用整形變量有時不能交換兩個變量的值; ? ? ? ?
試題8 滿分值:5.0分 ? 狀態:已答 ?
試舉例說明可靠性(Reliability)和可用性(Availability)的區別。
[我的答案] 可靠性:是保證軟件的正常,不管輸入的數據是合法數據還是非法數據,程序內部都不 會毀壞。還是可以完整的運行。
可用性:主要關注在于軟件是否可以在正常的條件運行。
區別:兩者可靠性關注的點要多一些。可靠性不僅可用,而且還多了一個錯誤輸入時的 處理。
試題9 滿分值:5.0分 ? 狀態:已答 ?
已知輸出身高體重函數體定義為: void print(int params[]){ ? ? ? ?System.out.println("身高"+params[0]); ? ? ? ?System.out.println("體重"+params[1]); } 試指出其所屬耦合類型,并嘗試修改代碼以降低其耦合程度。
[我的答案] 耦合類型:印記耦合 修改代碼: void print(int height, int weight) { ? ?System.out.println("身高"+height); ? ?System.out.println("身高"+weight); }
試題10 滿分值:5.0分 ? 狀態:已答 ?
如何理解“為變更而設計”?
[我的答案] 答:”為變更而設計“的方法一是要封裝潛在變更,二是使用多態實現OCP,三是DIP 減少耦合,他們的目的都是”信息隱藏“。 ? ?因為系統的需求是變化的,軟件的用戶受眾也是在變化中的,軟件都會有版本被淘 汰,一個真正好的工程是會隨著這些變化而與時俱進的,只有這樣軟件才有更高的價 值 信息隱藏是為變更而設計的主要思想 信息隱藏的原因是軟件中有很多地方可能會
試題11 滿分值:5.0分 ? 狀態:已答 ?
以下A、B題項二選一作答: A)試簡要說明設計模式的目的,以及如何評價設計模式的優劣。 B)試簡要說明軟件維護的目的以及逆向工程的作用。
[我的答案] B 系統維護的目的:在交付之后修改軟件系統或者其部件的活動過程,以修正缺陷、提高 性能或其他屬性、適應變化的環境。 逆向工程的作用: 抽取軟件系統的需求與設計而隱藏實現細節,然后在需求與設計的 層次上描述軟件系統,以建立對系統更加準確清晰的理解。
試題12 滿分值:5.0分 ? 狀態:已答 ?
以下A、B題項二選一作答: A)在軟件開發工作量的估計中,常用“人·月”作為單位,這樣80人開發1個月和10人 開發8個月,所得工作量都可表示為80人·月,試討論這種工作量計算方式的問題所在。 B)試簡要說明為什么要“信息隱藏”,并列舉出至少兩種以上實現“信息隱藏”的機 制
[我的答案] B “信息隱藏”原因:信息隱藏是為變更而設計的主要思想,信息隱藏的原因是軟件中有 很多地方可能會實現變更,為了防止被別人竊取勞動成果,所以要實現信息的隱藏。 實現”信息隱藏“的機制:封裝、多態、DIP方法。
總結
以上是生活随笔為你收集整理的软件工程期末复习题(3+1套内附答案)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML5+CSS大作业——个人简历设计
- 下一篇: 摊牌了,访客预约操作如此简单