




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程習題集答案第一章 軟件工程概述作業(yè)答案一、名詞解釋1. 軟件軟件是計算機程序以及開發(fā)、使用和維護程序所需要的所有文檔。軟件是包括程序、數據及其相關文檔的完整集合。2. 軟件危機軟件生產的進度、 數量、 質量、 成本滿足不了社會對軟件的需求量和希望的現象, 稱為 “軟件危機”。軟件工程IEEEIEE93:軟件工程是將系統(tǒng)的、規(guī)范的、可度量的工程化方法應用于軟件開發(fā)、 運行和維護的全過程及上述方法的研究。4. 軟件生存周期軟件生存周期是指一個軟件從提出開發(fā)要求開始直到不再使用 (報廢 為止的整個時期。 5. 軟件過程模型軟件過程指為獲得高質量軟件所需要完成的一系列任務以及完成這些任務的工作
2、步驟。 過程還規(guī)定了運用的方法的順序、 應該交付的文檔資料、 為保證軟件質量和協(xié)調變化所需要 采取的管理措施、任務完成的標志等。軟件過程模型也叫軟件生存期模型、軟件工程范型,是軟件過程的一種抽象表示。二、填空題1、在信息處理和計算機領域內,一般認為軟件是 程序 、 數據 和 文檔的集合 。2、 軟件生產的發(fā)展經歷了 程序設計 時代、 程序系統(tǒng) 時代和 軟件工程 時代, 各時 代的生產方式分別是 個體 、 作方式 和 工程化 。3、 軟件生存周期的 8個階段分別是 問題定義 、 可行性研究 、 需求分析 、 概要設計 、 詳細設計 、 編碼與模塊測試 、 綜合測試 、 維護 。4、 軟件工程是利
3、用工程化的原理和方法來進行 開發(fā) 、 維護 和 管理 軟件的一門 學科。5、描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型稱為 軟件過程 模型。6、瀑布模型 不 適應需求可變的軟件開發(fā),只有到 最后 才能見到整個軟件系統(tǒng)。7、 軟件產品的生產主要是研制,軟件產品的成本主要體現在8、軟件工程面臨的問題有 軟件費用 、 可靠性 、 可維護性 、 生產率 。三、單項選擇題1、軟件文檔是( C 。A. 程序 B.工具 C.文書和資料 D.數據2、軟件是一種( B 性工業(yè)產品A. 理論 B.知識(或邏輯 C.消耗 D.體力3、與計算機科學的理論研究不同,軟件工程是一門( B 的學科。A .理論性 B.工程性
4、C.原理性 D.心理性4、軟件工程與計算機科學的性質不同,軟件工程著重于( B A .理論研究 B.建造軟件系統(tǒng) C.原理探討 D.原理的理論 5、軟件工程學科出現的直接原因是( C 。A .計算機的發(fā)展 B.其它工程學科的影響C. 軟件危機的出現 D.程序設計方法學的影響6、軟件工程方法學的研究內容包含軟件開發(fā)技術和軟件工程管理兩個方面,以期達到的最 終目標是( A A .軟件開發(fā)工程化 B.消除軟件危機C. 實現軟件可重用 D.程序設計自動化7、由于軟件生產的復雜性和高成本,使大型軟件的生成出現危機,軟件危機的主要表現包 括了下述( D 方面。生產成本過高 需求增長難以滿足進度難以控制 質
5、量難以保證A . B. C. D.全部8、軟件的主要結構和功能是在( A 階段決定的。A. 分析設計 B.編程 C.測試 D.維護9、有關計算機程序功能、設計、編制、使用的文字或圖形資料稱為【 B 】 。A. 軟件 B.文檔 C.程序 D.數據10、軟件生成周期模型有多種,下列選項中, 【 C 】不是軟件生存周期模型。A. 螺旋模型 B.增量模型 C.功能模型 D.瀑布模型四、簡答題1. 軟件產品的特點是什么? 軟件是一種邏輯產品,無形態(tài),具有抽象性。軟件是開發(fā)而形成的,無明顯的制造過程。與硬件相比,軟件開發(fā)更依賴于開發(fā)人員 的業(yè)務素質、 智力以及人員的組織、 合作和管理。 軟件成本集中在開發(fā)
6、上, 主要反映在人力 成本上,而且開發(fā)成本難以估計。軟件不會“磨損”和老化,但存在退化問題。大多數軟件是定做的,不是通過已有構件組裝而成。主要靠腦力勞動生產。開發(fā)和維護成本高。2. 軟件生產經歷了哪幾個時代,各有何特征?軟件生產經歷了三個時期:(1程序設計時期(19461956 軟件 =程序主要特征:計算機硬件 =計算機用途少,規(guī)模小;不作為商品;開發(fā)者 =使用者:自己開發(fā),自己使用。(2程序系統(tǒng)時期(19561968 軟件 =程序 +說明主要特征:程序規(guī)模增大,多人分工合作。軟件作為商品,即程序設計者使用者;程序開發(fā)和使用的文檔資料已不可缺少。(3軟件工程時期(1968現在 軟件 =程序 +
7、數據 +文檔主要特征:按工程管理的方法管理整個軟件開發(fā)過程。3. 軟件危機是如何產生的?其表現形式是什么?試說明產生危機的原因?大規(guī)模集成電路出現后,性能大大提高,推動了計算機的廣泛應用,促進了大規(guī)模軟件 系統(tǒng)的設計。 但由于軟件開發(fā)方法不適應規(guī)模較大的項目的開發(fā), 因而出現了比計劃延遲交 付、 費用比預算增加很多、 功能和質量不能滿足用戶要求, 維護困難等問題, 造成了軟件危 機。主要表現:(1軟件開發(fā):軟件開發(fā)過程和成本無法有效控制,延遲交付且成本逐年上升;軟件開發(fā)生產率提高的速度跟不上需求的增加;用戶需求模糊,用戶對已完成的軟件系統(tǒng)不滿意;沒有確保質量的有效措施,軟件產品的質量靠不住。(
8、2軟件維護:軟件常常是不可維護的(缺乏文檔或文檔質量 。維護花費的時間和費用占整個軟件開發(fā)組織的 60%以上。原因:(1客觀原因:軟件規(guī)模越來越大,結構越來越復雜,使得開發(fā)和管理都變得困難。但是:軟件是手工勞動,是智力產品 -生產率低。軟件是邏輯實體,出錯容易,糾錯困難。軟件的復雜性使得僅靠人的智力難以駕馭。(2主觀原因開發(fā)方式:認為開發(fā)軟件就是寫程序。組織方式:作坊式的生產方式; 開發(fā)無計劃、 開發(fā)過程無規(guī)范、 開發(fā)過程難控制。 用戶方面:對軟件需求描述不精確。開發(fā)人員方面:對用戶需求的理解與用戶本來愿望有差異,相互之間的信息交流 不及時、不準確、有誤解。4. 闡述軟件工程的定義和目標,試說
9、明軟件工程是如何克服軟件危機的。目標:在給定成本、進度的前提下,開發(fā)出滿足用戶需求的高質量的、易于維護的軟 件產品??朔C的方法:軟件工程是從技術和管理兩方面利用一套科學的技術和管理方法進 行軟件的開發(fā),從而提高軟件質量和生產率。5. 什么是軟件生存周期?軟件生成周期把軟件產品的分成哪幾個階段?各階段的任務什 是么?軟件生存周期由 8個階段組成:1、問題定義:確定要求解決的問題是什么?2、可行性研究 :確定在時間和資源的約束條件下,能否完成指定的任務?包括:技術 可行性、經濟可行性、法律可行性、社會可行性。若可行,則制定項目所需費用、資源、時 間的開發(fā)計劃。3、 需求分析:準確地確定“軟件系
10、統(tǒng)必須做什么”, 即明確目標系統(tǒng)必須具備的功能 和對系統(tǒng)的約束。4、 概要設計:確定在總體上應該怎樣實現目標系統(tǒng), 包括系統(tǒng)的軟件結構設計、 接口 設計和數據結構設計。5、詳細設計:對軟件結構中的模塊進行精確描述算法設計。6、 編碼及模塊測試:把模塊算法轉換成特定程序設計語言的正確的、 容易理解、 容易 維護的程序模塊。7、 綜合測試:發(fā)現和糾正程序中的錯誤, 保證軟件功能和性能符合需求規(guī)格說明書規(guī) 定的要求。包括集成測試、確認測試和系統(tǒng)測試。8、 軟件維護:軟件投入使用后繼續(xù)對軟件的查錯、 糾錯和改進。 使系統(tǒng)持久地滿足用 戶的需要。包括:改正性維護、適應性維護、完善性維護、預防性維護。6.
11、 什么是軟件工程過程模型?瀑布、增量、原型和螺旋模型各自有什么特點?軟件過程模型也叫軟件生存期模型、 軟件工程范型, 是軟件過程的一種抽象表示。 瀑布 模型:嚴格按照軟件生存期的階段劃分順序和各階段的目標、 任務、 文檔的要求來進行開發(fā)。 該模型以文檔為驅動。每一活動結束后,通過嚴格的階段復審和確認,得到一致、完整、準 確的良好文檔, 以“凍結”這些文檔為該階段結束的標志, 并作為下一階段活動的唯一基礎; 以每一步的正確性和完整性來保證最終系統(tǒng)的質量。增量模型:先按瀑布模型開發(fā)一個滿足基本要求的系統(tǒng),然后根據用戶在使用中提出 的新需求在進一步完善形成新的版本,這個過程不斷重復,直到最終的完善產
12、品。原型模型:先根據用戶對需求的描述,通過軟件工具構造一個軟件系統(tǒng)的原型來描述 目標系統(tǒng)的主要功能, 讓用戶進行評價, 并根據用戶意見進行改進。 隨著不斷實驗、 評價和 修改, 最后使得在功能上完全滿足用戶需求。 一般情況下, 軟件系統(tǒng)原型不是最終的目標系 統(tǒng), 它只是在功能上描述了用戶需求, 忽略了對軟件質量特性的要求, 避開了管理對質量的 控制。螺旋模型:螺旋模型是一個風險驅動模型,將開發(fā)過程分為幾個螺旋周期,每個螺旋 周期大致與瀑布模型相同。 每個螺旋周期可分為四個工作步驟:(1 制定計劃:確定軟件目 標,選定實施方案,明確開發(fā)限制條件; (2風險分析:分析所選方案,識別風險和消除風 險
13、; (3開發(fā)實施:實施軟件開發(fā); (4用戶評估:評價開發(fā)工作,提出修改意見。第二章 可行性研究習題一、名詞解釋可行性研究:用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發(fā),是否 值得開發(fā)。技術可行性:在現有技術條件下估算項目開發(fā)的風險 。經濟可行性:從成本和經濟效益考慮系統(tǒng)是否值得開發(fā)。成本效益分析:是從經濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否 投資開發(fā)新系統(tǒng)的依據。二、填空1、 可行性研究的目的不是去開發(fā)一個軟件項目, 而是研究這個項目是否 , 是否 值得開發(fā) 。2、 可行性研究可以從 技術可行性 、 經濟可行性 、 社會可行性 三方面進行論證。3、可行性研究中,成本
14、 -效益分析的目的是發(fā)是否劃算 。4、可行性研究階段可能形成的兩個文檔是 可行性研究報告 和 項目開發(fā)計劃 。5、經濟可行性一般考慮的問題包括:和6、社會可行性一般包括:現有管理制度、人員素質、操作方式對用戶是否可行三、單項選擇題1、在軟件的可行性研究主要從不同角度對系統(tǒng)進行可行性研究,其中從功能角度對系統(tǒng) 進行研究屬于(B 的研究。A. 經濟可行性 B. 技術可行性C. 操作可行性 D. 社會可行性2、制定軟件項目開發(fā)計劃的目的對軟件開發(fā)過程、進度、資源進行(D 。A. 組織和管理 B. 分析與估算C. 設計與測試 D. 規(guī)劃與調整3、下列不屬于成本 -效益分析的度量指標是(C 。A. 貨幣
15、的時間價值 B. 投資回收期C. 性質因素 D. 純收入4、制定軟件項目開發(fā)計劃屬于軟件開發(fā)周期的第(B 階段。 A.1 B.2C.3 D.45、技術可行性要解決(D 。A. 存在侵權否 B. 成本 -效益問題 C. 運行方式可行 D. 技術風險問題四、簡答題1、 可行性研究的目的和任務是什么?目的:用最小的代價在盡可能短的時間內確定該軟件項目是否能夠開發(fā),是否值得開 發(fā)。任務:(1對項目可能的各種實現方案的可行性進行論證,確定項目是否應該開發(fā) , 以 減少和降低軟件開發(fā)的技術風險和投資風險。(2若項目應該開發(fā),則需要進行開發(fā)方案的評價,并制定項目開發(fā)計劃。 成本效益 分析對軟件項目是否開發(fā)有
16、何影響?成本效益分析是從經濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據。3、成本 -效益分析的目的是什么?可用哪些指標進行度量?成本 /效益分析的目的是從經濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決 定是否投資開發(fā)新系統(tǒng)的依據。(1 、貨幣的時間價值:貨幣的價值本身隨時間的增加而產生增值:(2 、投資回收期:累計的經濟效益等于最初的投資所需的時間。(3 、 純收入:在整個生存周期內系統(tǒng)的累計經濟效益 (折合現在的錢 與投資之差。(4 、投資回收率 -投資的年利率第三章 需求分析作業(yè)一、名詞解釋結構化分析方法:面向數據流進行需求分析的方法,采用自頂向下、逐步求
17、精的分析方法。 數據流圖:用圖形的方式從數據加工的角度來描述數據在系統(tǒng)中流動和處理的過程,只反 映系統(tǒng)必須完成的功能,是一種功能模型。 數據字典:用于定義對數據流圖中的各個 成分的具體含義。二、填空1、需求分析是指開發(fā)人員通過細致的 調查 ,準確理解 用戶的要求 ,將用戶非 形式化的需求轉化為 完整的需求定義 ,再把 需求定義 轉化為相應的形式化功能 規(guī)約的過程。2、需求分析的基本任務是準確定義 ,為了滿足用戶的需要,回答系 統(tǒng)必須 “ 做什么 ” 的問題。3、需求分析階段需編寫的文檔有試計劃 。4、數據流圖的基本組成部分有 、 、 。5、 數據流圖和數據字典共同構成了系統(tǒng)的 模型, 是需求規(guī)
18、格說明書的主要組成 部分。6、結構化分析方法是面向 進行分析的方法。 7據元素 是組成組成數據流和數據存儲的最小元素。8、 在結構化分析的需求描述中, 數據流圖 描述系統(tǒng)的分解, 即描述系統(tǒng)由哪幾部分 組成,各部分有什么聯(lián)系等等。 數據字典 定義了數據流圖中每一個圖形元素。9、 是數據在系統(tǒng)內傳播的路徑, 因此由一組固定的數據項組 成。加工(又稱為數據處理是對數據流進行的某些 處理 。三、單項選擇題1、需求分析階段最重要的技術文檔之一是(C 。A. 項目開發(fā)計劃 B. 設計說明書 C. 需求規(guī)格說明書 D. 可行性分析報告 2、在需求分析之前有必要進行(B A. 程序設計 B. 可行性分析 C
19、.ER 分析 D.3NF 分析3、軟件需求分析階段建立原型的主要目的時(A 。A. 確定系統(tǒng)的功能和性能要求 B. 確定系統(tǒng)的運行要求C. 確定系統(tǒng)是否滿足用戶需要 D. 確定系統(tǒng)是否滿足開發(fā)人員需要4、軟件開發(fā)的需求活動,其主要任務是(D 。A. 給出軟件解決方案 B. 給出系統(tǒng)模塊結構C. 定義模塊算法 D. 定義需求并建立系統(tǒng)模型5、需求分析階段的研究對象是(A 。A. 用戶要求 B. 分析員要求 C. 系統(tǒng)要求 D. 軟硬件要求6、數據流圖描述系統(tǒng)的(D 。A. 數據結構 B. 控制流程 C. 基本加工 D. 軟件功能7、軟件需求階段要解決的問題是(A 。A. 軟件做什么 B. 軟件提
20、供哪些信息 C. 軟件采用的結構 D. 軟件怎樣做8、數據字典不包括的條目是(C 。A. 數據項 B. 數據流 C. 數據類型 D. 數據加工9、需求分析(D 。A. 要回答“軟件必須做什么?”B. 可以概括為“理解,分解,表達”六個字。C. 要求編寫需求規(guī)格說明書D. 上面都對。10、在數據流圖中,有名字及方向的成分是(A 。A. 數據流 B. 信息流 C. 控制流 D. 信號流11、軟件需求分析階段的工作,可以分成以下四個方面:對問題的識別、分析與綜合、制 定需求規(guī)格說明以及(C 。A. 總結 B. 實踐性報告 C. 需求分析評審 D. 以上答案都不正確12、結構化分析方法使用的描述工具(
21、B 定義了數據流圖中每一個圖形元素。 A. 數據流圖 B. 數據字典 C. 判定表 D. 判定樹13、需求規(guī)格說明書的作用不應包括(D 。A. 軟件設計的依據 B. 用戶與開發(fā)人員對軟件要做什么的共同理解C. 軟件驗收的依據 D. 軟件可行性研究的依據14、在結構化分析方法中,與數據流圖配合使用的是(C 。A. 網絡圖 B. 實體聯(lián)系圖 C. 數據字典 D. 程序流程圖15、軟件需求規(guī)格說明書的內容不應包括對(B 的描述。A. 主要功能 B. 算法的詳細過程 C. 用戶界面及運行環(huán)境 D. 軟件的性能16、通過(B 分解完成數據流圖的細化。A. 結構分解 B. 功能分解 C. 數據分解 D.
22、系統(tǒng)分解17、數據存儲和數據流都是(D ,僅僅所處的狀態(tài)不同。A. 分析結果 B. 事件 C. 動作 D. 數據18、數據字典中,一般不包括下列選項中的(D 條目。A. 數據流 B. 數據存儲 C. 加工 D. 源點與終點19、 SA 方法用 DFD 描述(D 。A. 系統(tǒng)的控制流程 B. 系統(tǒng)的數據結構 C. 系統(tǒng)的基本加工 D. 系統(tǒng)的功能 20、初步用戶手冊在(B 階段編寫。A. 可行性研究 B. 需求分析 C. 軟件概要設計 D. 軟件詳細設計21、 SA 方法的分析步驟是首先調查了解當前系統(tǒng)的工作流程,然后(A 。A. 獲得當前系統(tǒng)的物理模型,抽象出當前系統(tǒng)的邏輯模型,建立目標系統(tǒng)的
23、邏輯模型。B. 獲得當前系統(tǒng)的物理模型, 抽象出目標系統(tǒng)的邏輯模型, 建立目標系統(tǒng)的物理模型。C. 獲得當前系統(tǒng)的邏輯模型, 建立當前系統(tǒng)的物理模型, 抽象出目標系統(tǒng)的邏輯模型。D. 獲得當前系統(tǒng)的邏輯模型,建立當前系統(tǒng)的物理模型,建立目標系統(tǒng)的物理模型。 22、 SA 方法的基本思想是(C 。A. 自底向上逐步抽象 B. 自底向上逐步分解C. 自頂向下逐步分解 D. 自頂向下逐步抽象四、解答題1、 為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?開發(fā)一個軟件系統(tǒng),必須知道用戶對目標軟件系統(tǒng)在功能、行為、性能、 設計約束等方面有什么期望和要求,所以必須進行需求分析。通常對軟件系統(tǒng)的需求有:功能
24、需求,性能需求,運行要求、可擴展要求、 數據需求。2、 軟件需求分析階段的任務是什么?需求獲取:通過調研,獲取用戶對系統(tǒng)的功能需求和非功能需求。需 求分析:通過對用戶需求分析和綜合,消除用戶需求的模糊性、歧義性和不一 致性。建立系統(tǒng)邏輯模型。需求描述:用規(guī)范化的語言和格式生成需求規(guī)格說明。3、 數據字典的作用是什么?數據字典是對數據流圖中出現的所有成分都給出 “ 嚴格定義 ” 。 ,包括對數據加工、 數據流、數據存儲、數據元素的定義。4、 什么是結構化分析方法?該方法使用什么描述工具?面向數據流進行需求分析的方法,采用自頂向下、逐步求精的分析方法。描述工具:數據流圖,數據字典。第四章 總體設計
25、作業(yè)一、名詞解釋1. 軟件概要設計:抽象出軟件系統(tǒng)實現的總體框架的設計,是把軟件需求轉換為軟件表 示的抽象過程2. 模塊:是可以單獨命名和編譯的程序基本單位。3. 模塊化:指解決一個復雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。 每個模塊完成一個特定的功能所有模塊按照某種方法組裝起來, 成為一個整體, 完成整個系 統(tǒng)所要求的功能。4. 信息隱蔽:指設計一個模塊時,使得一個模塊內包含的信息(過程或數據 ,對于不 需要這些信息的模塊來說,是不能訪問的。5. 耦合:也稱塊間聯(lián)系,指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。6. 內聚:也稱塊內聯(lián)系,指模塊功能強度的度量,即一個模塊內
26、部各個元素彼此結合的 緊密程度的度量。7. 模塊獨立性:指每個模塊只完成系統(tǒng)要求的獨立的子功能,并且與其它模塊的聯(lián)系最 少且接口簡單。8. 結構化設計:又稱面向數據流的設計,它是以需求分析階段產生的數據流圖為基礎, 按照一定的步驟把數據流圖映射成軟件結構。9. 變換流:指具有明顯的數據輸入、數據變換和數據輸出邊界的數據流圖。10. 事務流:指可以根據輸入流的事務類型分解成多個相互獨立的處理數據流的數據流 圖,具有明顯的事務處理中心是事務流的顯著特點。二、填空1、軟件設計是把 的過程,包括兩個階段2、軟件設計階段是把軟件“3、 軟件設計的基本任務包括 系統(tǒng)設計 、 軟件結構設計 、 數據結構設計
27、 和 軟件接口 設計 等。4、數據庫的“概念設計”與“邏輯設計”分別對應于軟件生存周期中的“和“ 概要設計 ”階段。5、概要設計階段的可能的主要文檔有 和6、抽象是認識復雜事務的思維工具,即抽象出事務的 的、慮它的 細節(jié) 。7、模塊具有 、 、 和8、軟件結構的設計是以 數據流圖 為基礎的,即以需求分析的結果為依據,將系統(tǒng)進一步 劃分成 模塊 ,并確定模塊之間的 聯(lián)系 。9、軟件結構中各模塊間相互聯(lián)系的密切程度稱為 。10、 信息隱蔽 是指在設計和確定模塊時,使得一個模塊內包含的信息(過程或數據 對于不需要這些信息的其它模塊來說,是不能 訪問 的。11、模塊獨立性要求每個模塊只完成問題要求的
28、一個 子功能,并且與其它模塊的聯(lián) 系 簡單 。12、 結構圖包含的主要內容有 。 13、衡量模塊獨立性的兩個定性的度量指標是 內聚 和 耦合 。將軟件系統(tǒng) 劃分成模塊時,盡量做到 高 內聚, 低 耦合,提高模塊的獨立性,為設計高質量的軟件奠定基礎。14、 模塊的 指一個模塊的直接 上層模塊的個數。15、 結構化設計簡稱 數據流圖一般可分為類。16、 面向數據流的設計是以需求分析階段產生的數據流圖為基礎, 按照一定的步驟將數據流 圖映射成軟件結構。因此又稱 結構化設計 。三、單項選擇1、軟件設計一般分為總體設計和詳細設計,它們之間的關系是(B 。A. 全局和局部 B. 抽象和具體 C. 總體和層
29、次 D. 功能和結構2、屬于軟件設計的基本原理是(D 。A. 數據流分析設計 B. 變換流分析設計C. 事務流分析設計 D. 模塊化3、軟件設計階段一般又可分為(B A. 邏輯設計和功能設計 B. 概要設計和詳細設計C. 概念設計和物理設計 D. 模型設計和程序設計4、結構圖中,不是其主要成分的是(C 。A. 模塊 B. 模塊間傳遞的數據 C. 模塊內部數據 D. 模塊間的控制關系 5、好的軟件結構應該是(B 。A. 高內聚、高耦合 B. 低耦合、高內聚C. 高耦合、低內聚 D. 低耦合、低內聚6、一組語句在程序中多次出現,為了節(jié)省內存空間,把這些語句放在一個模塊中,該模塊 的內聚度是(C 的
30、。A. 一致性 B. 瞬時性 C. 偶然性 D. 通信性7、軟件設計中劃分模塊通常遵循的原則是要使模塊間的耦合性盡可能(B 。 A. 強 B. 弱 C. 較強 D. 適中8、一個模塊把數值作為參數傳遞給另一個模塊,這種耦合方式稱為(D 。 A. 公共耦合 B. 內容耦合 C. 控制耦合 D. 數據耦合9、最高程度也是最差的耦合是(B 。A. 公共耦合 B. 內容耦合 C. 控制耦合 D. 數據耦合10、內聚是對模塊功能強度的度量,內聚性最強的是(D 。A. 邏輯內聚 B. 順序內聚 C. 偶然內聚 D. 功能內聚11、結構化設計又稱為(B 。A. 概要設計 B. 面向數據流設計 C. 面向對象
31、設計 D. 詳細設計12、在面向數據流的軟件設計方法中,一般把數據流分為(A 。A. 變換流和事務流 B. 變換流和控制流C. 事務流和控制流 D. 數據流和控制流13、 (D 著重反映的是模塊間的隸屬關系,即模塊間的調用關系和層次關系。A. 程序流程圖 B. 數據流圖 C.E-R 圖 D. 軟件結構圖14、軟件設計一般將用圖形工具,下列(C 可用作設計的圖形工具。結構圖 實體聯(lián)系圖 IPO 圖 層次圖A. 和 B. 和 C. 和 D. 全部15、為了提高模塊的獨立性,模塊內部最好是(C 。A. 邏輯內聚 B. 時間內聚 C. 功能內聚 D. 通信內聚16、程序結構中矩形表示(C 。A. 數據
32、 B. 加工 C. 模塊 D. 存儲17、結構化設計方法在軟件開發(fā)中,用于(B 。A. 測試用例設計 B. 概要設計 C. 程序設計 D. 詳細設計18、 (D 是數據說明、可執(zhí)行語句等程序對象的集合,它是單獨命名的而且可通過名字 訪問。A. 模塊化 B. 抽象 C. 精化 D. 模塊19、面向數據流的設計方法把(A 映射成軟件結構。A. 數據流 B. 系統(tǒng)結構 C. 控制結構 D. 信息流20、設計軟件結構一般不確定(C 。A. 模塊的功能 B. 模塊的接口 C. 模塊內的局部數據 D. 模塊間的調用關系四、解答題1、 概要設計的基本任務是什么?系統(tǒng)結構設計:確定物理系統(tǒng)的具體實現方案。 -
33、概括地說,系統(tǒng)應該怎樣做 劃分出組成系統(tǒng)的物理元素 -程序、文件、數據庫、人工過程和文檔。軟件結構設計:確定系統(tǒng)中每個程序組成的模塊、模塊之間的聯(lián)系(結構 。 數據結構或數據庫設計:確定系統(tǒng)需要的數據及數據間的相互關系。系統(tǒng)接口設計:模塊接口設計、外部接口設計和人機界面設計。2、 模塊設計的原理是什么?模塊設計的原理是盡量做到模塊的高內聚低耦合,以次提高模塊的獨立性。3、 軟件設計的基本原則包含那些內容?模塊化:以模塊作為程序設計的基本單位,把程序劃分成若干個模塊,每個模塊完 成一個子功能,把這些模塊集總起來,并通過模塊間的調用關系把它們組成一個完整的整 體,完成指定的功能。抽象:解決復雜問題
34、的唯一有效的方法就是運用抽象的思維方式,首先用一些高級 的抽象概念構造和理解它;這些高級概念又可以用一些較低級的概念構造和理解,如此進 行下去,直到最低層次的具體元素。信息隱蔽:模塊內部的信息(處理過程和數據 ,應對不需要了解這些信息的模塊 隱蔽起來,使它們不能訪問。模塊獨立:開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊。衡 量模塊獨立程度的兩個定性度量標準 -內聚和耦合。4、 軟件結構優(yōu)化原則有那些? 改進軟件結構提高模塊獨立性 模塊規(guī)模應該適中 深度、寬度、扇出和扇入應適當 模塊的作用域應在控制域之內 盡量降低模塊接口的復雜程度 設計單入口出口的模塊 模塊功能應該可以預測5、
35、 變換分析設計和事務分系設計有什么區(qū)別?數據流圖呈線性變換特征,而且可以抽象成三部分:I-P-O 。數據流圖呈輻射型,根據輸入數據的性質選擇加工路徑。變換分析設計適用于具有明顯變換特征的數據流圖。事務分析設計適用于具有明顯事務特征的數據流圖。6、 衡量模塊獨立性的兩個標準是什么?它們各表示什么含義?標準:耦合和內聚耦合:也稱塊間聯(lián)系,指軟件系統(tǒng)結構中各模塊間相互聯(lián)系緊密程度的一種度量。 內聚:也稱塊內聯(lián)系,指模塊功能強度的度量,即一個模塊內部各個元素彼此結合 的緊密程度的度量。7、 什么是模塊?模塊有那些基本屬性? 模塊:是可以單獨命名和編譯的程序基本單位。 模塊基本屬性:(1接口:模塊的輸入
36、與輸出(2功能:模塊做什么;(3邏輯:描述模塊內部怎么做;(4狀態(tài):模塊使用時的環(huán)境和條件。其中,功能、接口和狀態(tài)反映模塊的外部特性,邏輯反映模塊的內部特性。第六章 詳細設計習題一、名詞解釋詳細設計:確定每個模塊的具體執(zhí)行過程, 也稱過程設計。 詳細設計的結果基本決定了 最終的程序代碼的質量。結構化程序設計:是按照一組能提高程序的可讀性和易維護性的規(guī)則而進行的程序設 計方法,目的是為了使程序具有一種合理的結構,以使程序易理解和維護,便于保證和驗 證程序的正確性。PDA :問題分析圖, 是一種算法描述工具。 它是一種從左向右展開的二維樹形結構, 其 控制流程為自上而下,從左到右地執(zhí)行。二、填空1
37、、詳細設計階段的主要任務是2、 軟件的詳細設計可以用 圖形 、 表格 、 過程設計語言 三種形式的描述工 具表示模塊的處理過程。3、 處理過程設計中最典型的方法是 方法, 、 逐步求精 。4、任何程序都可由 種基本控制結構構造, 這 3中基本 結構的基本點是 單入口 、 單出口 。5、 PAD 圖是一種 結構, PAD 圖的控制流程是下 、 從左到右 地執(zhí)行。6、 詳細設計是軟件設計的第二個階段, 主要確定每個模塊的具體執(zhí)行過程,故也成為 過程設計 。7、 詳細設計的目標不僅是邏輯上正確地實現 , 還應使設 計出的處理過程 清晰易懂 。8是實現該目標的關鍵技術之一,它指導人們用良好的 思想方法
38、開發(fā)易于 閱讀 、易于 理解 的程序。三、單項選擇1、在詳細設計階段,經常采用的工具包括(C A.SA B.SD C.PAD D.DFD2、詳細設計階段的任務是(A 。A. 算法設計 B. 功能設計 C. 調用達觀系設計 D. 輸入 /輸出設計 3、結構化程序設計的一種基本方法是(D 。A. 篩選法 B. 遞歸法 C. 迭代法 D. 逐步求精法4、下面說法不正確的是(C 。A. 流程圖不易表示數據結構 B. 流程圖容易造成非結構化的程序結構C. 流程圖支持逐步求精 D. 流程圖描述的是程序的邏輯結構5、下面說法不正確的是(B 。A. PAD圖支持逐步求精 B.PAD 圖容易造成非結構化的程序結
39、構C. PAD圖描述的是算法 D.PAD 圖容易表達程序的層次結構四、簡答題1、 什么是詳細設計,?該階段的基本任務是什么?詳細設計是軟件設計的第二個階段, 確定每個模塊的具體執(zhí)行過程, 也稱過程設計。 根本任務 :(1為軟件結構中的每個模塊選擇算法,并用選定的某種表達工具給出清晰 的描述。(2塊內數據結構設計(3數據庫物理設計詳細設計的目標不僅僅是邏輯上正確地實現每個模塊的功能,更重要的是設計出 的處理過程應該盡可能簡明易懂。2、 什么是結構化程序設計?,簡述結構化程序設計的基本要點。結構化程序設計是按照一組能提高程序的可讀性和易維護性的規(guī)則而進行的程序設計 方法,目的是為了使程序具有一種合
40、理的結構,以使程序易理解和維護,便于保證和驗證 程序的正確性?;疽c:自頂向下、逐步求精的設計方法使用順序、選擇、循環(huán)三種基本控制結構在三種基本控制結構中保持單入口、單出口第七章 實現作業(yè)一、名詞解釋編碼:編程就為是用編程 (程序 語言把軟件表達翻譯為計算機可以理解的形式 用某 種程序設計語言書寫的程序。軟件測試:是軟件投入運行之前,對軟件需求分析、設計規(guī)格說明和編碼的最終復查, 是軟件質量保證的關鍵步驟。黑盒測試:不考慮程序內部結構和處理過程,只依據軟件的需求規(guī)格說明書,檢查程 序的功能是否符合它的功能說明。因此,黑盒測試又稱功能測試或數據驅動測試。白盒測試:按照程序內部邏輯測試程序。檢查
41、程序中的每條通路是否都能按照預定要 求正常工作。這種測試完全了解程序的結構和處理過程。因此,白盒測試又稱為結構測試 或邏輯驅動測試。單元測試:是 檢查程序模塊是否正確實現了規(guī)定的功能, 目的是保證每個模塊作為一 個單元能正確運行,所以模塊測試通常又稱為單元測試。集成測試:把模塊按設計要求組裝成子系統(tǒng)或系統(tǒng)的過程中的測試。確認測試:以需求規(guī)格說明為基準, 驗證軟件的有效性的測試。漸增式測試:在集成測試中,的模塊一個一個地加入進行測試。當一個模塊加入測試 完以后再把下一個應該測試的模塊結合進來測試。這種每次增加一個模塊的方法稱為漸增 式測試。非漸增式測試:是先分別測試每個模塊,再把所有模塊按設計要
42、求放在一起結合成所 要的程序。這種方法稱為非漸增式測試方法?;貧w測試 :指重新執(zhí)行已經做過的測試。每當改正軟件錯誤的時候,可能導致軟件配置的某些成分的改變,這些改變可能引進新的 錯誤?;貧w測試就是保證由于調試或其它原因引起的變化,不會導致非預期的軟件行為或 額外錯誤的測試活動。調試 :根據測試所暴露的錯誤,診斷和改正其錯誤的過程。二、填空1、為了使程序代碼易于閱讀和理解,通常需要加注釋,注釋分為和 功能性注釋 兩種類型2、軟件測試的目的是盡可能多地發(fā)現軟件中存在的 錯誤 。3、軟件測試方法一般分為兩大類:方法和4、集成測試可以采用的具體方法是 。5、測試用例由 測試輸入數據 和預期的的 結果
43、兩部分組成。三、單項選擇題1、為了使程序能在不同的機器上運行,程序應具有較好的【 A 】 。A. 可移植性 B. 可重用性 C. 可維護性 D. 可實用性2、下列屬于功能性注釋的是【 C 】A. 說明模塊的用處和功能的注釋 B. 說明數據的名稱和用處的注釋C. 說明程序段的注釋 D. 說明程序開發(fā)背景的注釋3、序言性注釋主要內容不包括【 D 】A. 模塊的接口 B. 數據的描述 C. 模塊的功能 D. 數據的狀態(tài)4、功能性注釋主要內容不包括【 C 】A. 程序段的功能 B. 語句的功能 C. 模塊的功能 D. 數據的狀態(tài)5、符合數據說明順序規(guī)范是【 D 】A. 全程量說明、局部量說明、類型說明
44、、常量說明B. 全程量說明、局部兩說明、常量說明、類型說明C. 類型說明、常量說明、全程兩說明、局部量說明D. 常量說明、類型說明、全程量說明、局部量說明6、下面說法正確的是【 C 】A. 經過測試沒有發(fā)現錯誤說明程序正確B. 測試的目標是為了證明程序沒有錯誤C. 成功的測試是發(fā)現了迄今尚未發(fā)現的錯誤的測試D. 成功的測試是沒有發(fā)現錯誤的測試7、覆蓋準則最強的【 C 】A. 語句覆蓋 B. 判定覆蓋 C. 條件覆蓋 D. 路徑覆蓋8、發(fā)現錯誤能力最弱的是【 A 】A. 語句覆蓋 B. 判定覆蓋 C. 條件覆蓋 D. 路徑覆蓋9、與確認測試有關的文檔是【 A 】A. 需求規(guī)格說明書 B. 概要設
45、計說明書 C. 詳細設計說明書 D. 源程序10、超出軟件工程范圍的測試是【 D 】A. 單元測試 B. 集成測試 C. 確認測試 D. 平行測試11、 【 B 】方法需要考察模塊間的接口和各模塊之間的聯(lián)系A. 單元測試 B. 集成測試 C. 確認測試 D. 驗收測試12、調試應該由【 B 】完成。A. 與源程序無關的程序員 B. 編制該源程序的程序員C. 不了解軟件設計的機構 D. 設計該軟件的機構四、簡答題1、 選擇高級程序設計語言的標準是什么?選擇的標準是:理想的模塊化機制良好的編譯程序良好的獨立編譯機制2、 為了使程序具有良好的設計風格,應注意那些方面的問題?代碼文檔化數據說明順序應該
46、規(guī)范語句構造簡單直接,不能為追求效率而是使代碼復雜化輸入輸出格式簡單一致,具有合法性驗證、與結束標志追求效率應建立在不損害程序可讀性和可靠性基礎上3、 為什么說軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),但不是軟件質量保證的安全 閥?軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),原因:軟件最終要由人工編程來實現,出現錯誤是不可避免的。測試的工作量占整個項目 開發(fā)工作量 40%左右。如果是關系到人的生命安全的軟件,測試的工作量還要成倍 增加。軟件測試代表了需求分析、設計、編碼的最終復審。 軟件測試不是軟件質量保證的安全閥:軟件測試只能發(fā)現錯誤,不能保證沒有錯 誤。4、 軟件測試應當遵循什么原則?為什么要遵
47、循這些原則?所有測試應以用戶需求為基準, 測試的根本目標是保證軟件能滿足最終用戶對軟件的 需求。制定系統(tǒng)的測試計劃,并嚴格執(zhí)行測試計劃,排除測試的隨意性。充分注意關鍵模塊的測試和測試中的群集現象。實踐表明, 測試發(fā)現的錯誤中 80%可能集中在 20%的模塊中, 對這些模塊應重點測試。 測試過程中必須隨時注意測試所覆蓋的程序邏輯的程度, 確保程序設計中使用的所有 條件都能被測試到。避免自己測試自己的程序,應由第三方獨立進行測試。測試用例應包括合理的輸入和不合理的輸入。不合理的輸入往往更能發(fā)現程序中錯 誤。測試用例應由測試輸入數據和對應的預期輸出結果組成。 缺少預期輸出結果實際是缺 少檢驗正誤的基
48、礎。5、 單元測試、集成測試和確認測試各自主要目標是什么?它們之間有什么不同?相互 有什么關系?模塊測試是檢查程序模塊是否正確實現了規(guī)定的功能,發(fā)現模塊在編碼或算法中的錯 誤, 目的是保證每個模塊作為一個單元能正確運行。 集成測試的主要目標是檢查與設計相關 的模塊間與接口有關的問題確認測試的主要目標是驗證軟件的有效性, 確保軟件有效實現了 軟件需求規(guī)格說明書的要求,需求規(guī)格說明書是確認測試的依據。它們之間的不同有:測試內容不同測試方法不同:單元測試用白盒法, 集成測試使用漸增式或非漸增式測試; 確認測試 使用黑盒法。發(fā)現的錯誤不同:單元測試發(fā)現的錯誤是編碼階段產生的錯誤; 集成測試發(fā)現的是設 計階段引入的錯誤;確認測試發(fā)現的錯誤主要上需求分析階段產生的錯誤。涉及的文檔不同:單元測試涉及詳細設計和編碼文檔; 集成測
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年城市交通與人流管理的綜合性考核考試試題及答案
- 2025年農產品質量安全與檢驗檢測專業(yè)考試試卷及答案
- 2025年工程師職稱考試試卷及答案發(fā)布
- 2025年國際商法與貿易政策考試卷及答案
- 2025年互聯(lián)網金融風險管理師考試題及答案
- 幼兒園安全衛(wèi)生保健匯報
- 胸外傷呼吸道護理
- 設計崗位轉正述職
- 皮革人才公園設計分析
- 大學小班風采展示活動
- 甘肅省2023年中考語文現代文閱讀真題及答案
- 安徽省合肥市科大附中2025年第二次中考模擬初三數學試題試卷含解析
- 市政工程單位、分部、分項工程劃分方案
- 2024至2030年中國磁性元器件市場前景及投資發(fā)展戰(zhàn)略研究報告
- 人力資源服務派遣合同范本(2024版)
- NBT-10781-2021空氣源熱泵污泥干化機
- 河南省洛陽市2023-2024學年八年級下學期期末質量檢測英語試題
- CJT244-2016 游泳池水質標準
- 淄博市臨淄區(qū)2022-2023學年七年級下學期期中數學試題
- 心功能不全試題庫及答案
- 河南省鄭州市鄭東新區(qū)2023-2024學年六年級下學期期末語文試題
評論
0/150
提交評論