




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程習題參考答案 第一章 1什么是軟件危機?產(chǎn)生原因是什么? 軟件開發(fā)技術的進步未能滿足發(fā)展的要求。在軟件開發(fā)中遇到的問題找不到解決的辦法,問題積累起來,形態(tài)尖銳的矛盾,導致了軟件危機。 產(chǎn)生原因: 軟件規(guī)模越來越大,結構越來越復雜。 軟件開發(fā)管理困難而復雜。 軟件包開發(fā)費用不斷增加。 軟件開發(fā)技術落后。 生產(chǎn)方式落后,仍采用手工方式。 開發(fā)工具落后,生產(chǎn)率提高緩慢。 2什么是軟件工程?它目標和內容是什么? 軟件工程就是用科學的知識程和技術原理來定義,開發(fā),維護軟件的一 門學科。 軟件工程目標:付出較低開發(fā)成本;達到要求的功能;取得較好的性能;開發(fā)的軟件易于移植;只需較低的維護費用;能按時完成開發(fā)任務,及時交付使用;開發(fā)的軟件可靠性高。 軟件工程內容:研究內容包括開發(fā)技術和開發(fā)管理兩個方面。 開發(fā)技術主要研究:軟件開發(fā)方法,開發(fā)過程,開發(fā)工具和環(huán)境。 開發(fā)管理主要研究:軟件管理學,軟件經(jīng)濟學,軟件心理學。 3軟件工程面臨的問題是什么? 軟件工程需要解決的問題:軟件的費用,可靠性,可維護性,軟件生產(chǎn)率和軟件的重用。 4什么是軟件生存周期?它有哪幾個活動? 軟件生存周期:一 個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個時期。 包括:可行性分析和項目開發(fā)計劃,需求分析,概要設計,詳細設計,編碼,測試,維護。 5什么是軟件生存周期模型?有哪些主要模型? 生存周期模型:描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型。對軟件開發(fā)提供強有力的支持,為開發(fā)過程中的活動提供統(tǒng)一的政策保證,為參與開發(fā)的人員提供幫助和指導,是軟件生存周期模型化技術的基礎,也是建立軟件開發(fā)環(huán)境的核心。 主要有:瀑布模型,增量模型,螺旋模型,噴泉模型,基于知識的模型,變換模型。 第二章 可行研究的任務:首先需要進行概要的分析研究,初步確定項目的規(guī)模,目標,約束和限制。分析員再進行簡要的需求分析,抽象出項目的邏輯結構,建立邏輯模型。從邏輯模型出發(fā),經(jīng)過壓縮的設計,探索出若干種可供選擇的解決方法,對每種解決方法都要研究它的可行性。 主要從三個方面考慮: 般要考慮的情況包括 開發(fā)的風險即設計出的系統(tǒng)能否達到要求的功能和性能 ;資源的有效性 ;相關技術的發(fā)展是否支持 ; 行開發(fā)成本的估算以及了解取得效益的評估 ,確定要開發(fā)的項目是否值得投資。 開發(fā)的 項目是否存在任何侵權問題 ,運行方式在用戶組織內是否可行 ,現(xiàn)有管理制度人員素質操作方式是否可行。 . 項目概述:說明項目的各項主要工作;說明軟件的功能性能;為完成項目應具有的條件;用戶及合同承包者承擔的工作完成的期限及其他條件限制;應交付的程序名稱;所使用的語言及程儲形式;應交付的文檔。 . 實施計劃:說明任務的劃分,各任務責任人,項目開發(fā)進度,項目的預算,各階段的費用支出,各階段應完成的任務,用圖表說明每項任務的開始和完成時間。 . 人員組織及分工:所需人員類型數(shù)量 組成結構。 . 交付期限:最后完工日期。 第三章 什么是需求分析?需求分析階段的基本任務是什么? 需求分析:開發(fā)人員準確地理解用戶的要求,進行細致的調查分析,將用戶非形式的需求陳述轉化為完整的需求定義,再由需求定義轉換到相應的需求規(guī)格說明的過程。 基本任務 : 問題識別:雙方確定對問題的綜合需求,這些需求包括功能需求,性能需求,環(huán)境需求,用戶界面需求。 分析與綜合,導出軟件的邏輯模型 編寫文檔:包括編寫 需求規(guī)格說明書 ,初步用戶使用手冊 ,確認測試計劃 ,修改完善軟件開發(fā)計劃 什么是結構分析方法?該方法使用什么描述工具? 結構化分析:簡稱 向數(shù)據(jù)流進行數(shù)據(jù)分析的方法。采用自頂向下逐層分解的分析策略。頂層抽象地描述整個系統(tǒng),底層具體地畫出系統(tǒng)工程的每個細節(jié)。中間層則是從抽象到具體的過渡。使用數(shù)據(jù)流圖,數(shù)據(jù)字典,作為描述工具,使用結構化語言,判定表,判定樹描述加工邏輯。 結構化分析方法通過哪些步驟來實現(xiàn)? 了解當前系統(tǒng)的工作流程,獲得當前系統(tǒng)的物理模型。 抽象出當前系統(tǒng)的邏輯模型。 建立目標系統(tǒng)的邏輯模型。 作進一步補充和優(yōu)化。 什么是數(shù)據(jù)流圖?其作用是 什么?其中的基本符號各表示什么含義? 數(shù)據(jù)流圖( 以圖形的方式描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程。只反映系統(tǒng)必須完成的邏輯功能,是一種功能模型。 5什么是數(shù)據(jù)字典?其作用是什么?共有哪些條目? 數(shù)據(jù)字典( 來定義數(shù)據(jù)庫流圖中的各個成分的具體含義。有以下四類條目:數(shù)據(jù)流,數(shù)據(jù)項,數(shù)據(jù)存儲,基本加工。 具體條目內容及舉例如下: 數(shù)據(jù)流條目 數(shù)據(jù)流名稱:訂單 別名:無 簡述:顧客訂貨時填寫的項目 來源:顧客 去向:加工 1檢驗訂單 數(shù)據(jù)流量: 1000份 /每周(單位時間內的 傳輸次數(shù)) 組成:編號 +訂貨日期 +顧客編號 +地址 +電話 +銀行帳號 +貨物名稱 +規(guī)格 +數(shù)量 數(shù)據(jù)存儲條目 數(shù)據(jù)存儲名稱:庫存記錄 別名:無 簡述:存放庫存所有可供貨物的信息 組成:貨物名稱 +編號 +生產(chǎn)廠家 +單價 +庫存量 組織方式:索引文件,以貨物編號為關鍵字 查詢要求:要求能立即查詢 數(shù)據(jù)條目 數(shù)據(jù)項名稱:貨物編號 別名: 簡述:本公司所有貨物的編號 類型:字符串 長度: 10 取值范圍及含義: 第一位:進口 /國產(chǎn) 第 2別 第 5格 第 8名編號 加工條目 加工名:查閱庫存 編號: 1 2 激發(fā)條件:接收到合格訂單時 優(yōu)先級:普通 輸入:合格合格訂單 輸出:可供貨訂單,缺貨訂單 加工邏輯:根據(jù)庫存記錄 單項目數(shù)量 =20 化程度 初中 中 別 男 分配工種 鉗工 別 女 分配工種 車工 化程度 大學 分配工種 技術員 齡 40 化程度 初中 中 分配工種 材料員 化程度 大學 分配工種 技術員 第 4 章 1. 什么是軟件概要設計?該階段的基本任務是什么? 把一個軟件需求轉換為軟件表示時,首先設計出軟件總的體系結構。稱為概要設計或結構設計。 基本任務: 設計軟件系統(tǒng)結構,具體為: 采用某種設計方法,將一個復雜的系統(tǒng)按功能劃分為模 塊。 確定每個模塊的功能。 確定模塊之間的調用關系。 確定模塊之間的接口(模塊之間傳遞的信息) 評價模塊的結構質量 進行數(shù)據(jù)結構及數(shù)據(jù)庫的設計 編寫概要設計的文檔 主要內容有:概要設計說明書,數(shù)據(jù)庫說明書( 簡介,概念模型,邏輯設計,結果)用戶手冊,修訂測試計劃(測試的策略方法步驟) 評審:是否完整地實現(xiàn)了規(guī)定的功能性能要求。設計方案是否可行。關鍵的處理及內部接口定義的正確性,有效性,各部分的一致性。 2軟件設計的基本原理包括哪些內容? 模塊化:模塊是軟件的組成部分,是 具有獨立功能且可命名的一段程序,所有模塊組成 整體,可以滿足問題的要求。模塊化即按照一定的原則,將軟件劃分成若干個模塊,每個模塊完成一個特定的功能,然后把這些模塊按照某種方法組裝成一個軟件系統(tǒng)。(可降低復雜度、減少工作量) 模塊具有以下幾種特性: 接口:模塊的輸入輸出。 功能:指模塊實現(xiàn)什么功能。 邏輯:描述模塊內部如何實現(xiàn)要求及所需的數(shù)據(jù)。 狀態(tài):該模塊的運行環(huán)境,模塊間調用與被調用關系。 抽象:認識復雜現(xiàn)象過程所使用權的工具,只考慮事物本質的共同特性,忽略細節(jié)和其它因素。通過抽象確定組成軟件的 過程實體。 信息隱蔽:將模塊實現(xiàn)自身功能的細節(jié)與數(shù)據(jù) 隱蔽 起來。模塊間僅交換為完成系統(tǒng)功能所必須的信息。 模塊獨立性:每個模塊只完成系統(tǒng)要求的獨立的子功能。 3衡量模塊獨立性的兩個標準是什么?各表示什么含義? 內聚和耦合 內聚:又稱為塊內聯(lián)系,指模塊內部各成分之間相互關聯(lián)的程度,以高內聚為設計目標。 耦合:也稱塊間聯(lián)系,模塊之間相互聯(lián)系程度的度量,聯(lián)系越緊密,耦合性越強,獨立性越差,以低耦合為設計目標。 4模塊的耦合性有哪幾種?各表示什么含義? 內容耦合:一個模塊直接操作或修 改另一模塊的數(shù)據(jù),或者不通過正常入口直接轉入 另一模塊 公共耦合:兩個或多個模塊通過共同引用一個全局數(shù)據(jù)環(huán)境相互作用 控制耦合:模塊之間通過傳遞控制信息相互作用 標記耦合:兩個模塊之間通過傳遞公共指針或地址相互作用的耦合 數(shù)據(jù)耦合:模塊之間通過傳遞數(shù)據(jù)交換信息 無耦合:模塊間無任何關系,獨立工作 5模塊的內聚性有哪幾種?各表示什么含義? 偶然內聚:一個模塊各個成分之間毫無關系 邏輯內聚:將幾個邏輯上相關的功能放在同一個模塊中 時間內聚:一個模塊完成的功能在同一時間執(zhí)行 過程內聚:一個模塊內部的處理成分是相關的,而且必須以特定的次序執(zhí)行 通信內聚:一個模塊的所有成分都集中在同一個數(shù)據(jù)結構上 順序內聚:一個模塊的各個成分同一個功能密切相關,而且一個成分的輸出,作為另外一個成分的輸入 功能內聚:模塊內的所有成分屬于一個整體,完成單一的功能。(內聚最高) 6什么是軟件結構?簡述軟件結構設計的優(yōu)化準則。 改進軟件結構,提高模塊獨立性 首先設計出軟件初始結構,評價該結構,通過模塊分解或合并,力求降低耦合提高內聚。 模塊的規(guī)模應該適中 模塊結構的深度、寬度、扇出和 扇入應適中 深度:軟件結構中控制的層數(shù) 寬度:軟件結構中同一層次上最大模塊總數(shù) 扇入:某一模塊有多少直接調用它的上級模塊數(shù)目(越大越好) 扇出:一個模塊直接控制(調用)下級模塊的數(shù)目。(越少越好, 3, 4 個為宜,不超過 9 個, 頂層扇出較高,中間扇出較少,底層模塊高扇入多 一個模塊的作用域(范圍),應處在這個模塊的控制域(范圍)之內 模塊的作用域:受該模塊內一個判定影響的所有模塊的集合 模塊的控制域:這個模塊本身以及所有直接或間接從屬于它的模塊的集合 7什么樣是 事物流 ?什么是 變換 流 ?試將相應形式的數(shù)據(jù)流圖轉換為軟件結構圖 數(shù)據(jù)流圖( 般可分為 變換流 , 事物流 兩種。 變換流 :由輸入輸出變換(或稱處理)三部分組成,是一順序結構。 事物流 :它的某個加工,分離成許多發(fā)散的數(shù)據(jù)流,形成許多加工路徑,并且根據(jù)輸入值選擇其中一個路徑來執(zhí)行。(這人加工稱為事務處理中心) (a),(b)分別是同一模塊 認為哪一個設計方案較好 ?請陳述理由。 答:我認為 (b)方案較好。要評價一個軟件結構設計,主要看模塊的獨立性, 要從軟件結構的耦合性和內聚性兩個方面來衡量。對于 (a)方案,模塊 之間形成了控制耦合,因此獨立性不高,而在 兩個不同的功能被放在一起,形成的是邏輯內聚,內聚性不高。對于 (b)方案,模塊 1 和 立性較強,在 2內部,只完成單一的功能,是功能內聚,因此內聚性高,可維護性好,因此相比而言 (b)方案比 (a)方案更好些。 換為軟件結構圖。 (注:圖中 表示或者 ) 解:我們可以看出主圖是變換型 子圖是事務型 據(jù)結構設計的 方法,得到的結構圖如下: 章習題中的第 8題、第 9題設計成相應的軟件結構圖( 某銀行的計算機儲蓄系統(tǒng)功能是:將儲戶的存戶填寫的存款單或存款單輸入系統(tǒng),如果是存款,系統(tǒng)記錄存款人姓名住址存款類型存款日期利率等信息,并打印出存款單給儲戶;如果是取款,系統(tǒng)計算清單給儲戶。 2、某圖書管理系統(tǒng)有以下功能: 借書:輸入讀者借書證。系統(tǒng)首先檢查借書證是否有效,若有效,對于第一次借書的讀者,在借書證上建立檔案。否則,查閱借書文件,檢查該讀者所借圖書是否超過 10本,若已達 10,拒借,末達 10本,辦理借書(檢查庫存,修改庫存目錄并將讀者借書情況錄入借書文件。) 還書:從借書文件中讀出與讀者有關的記錄,查閱所借日期,如超期( 3個月)作罰款處理。否則,修改庫存目錄與借書文件。 (3)查詢:通過借書文件,庫存目錄文件查詢讀者情況圖書借閱及庫存情況,打印統(tǒng)計表。 把上面數(shù)據(jù)流程圖轉換為軟件結構圖和 第 5 章 1、詳細設計的基本任務是什么,有哪幾種描述方法 ? 答:詳細設計的基本任務包括: 1、為每個模塊進行詳細的算法設計 2、為模塊 內的數(shù)據(jù)結構進行設計 3、對數(shù)據(jù)庫進行物理設計 4、其他設計 5、編寫詳細設計說明書 6、評審 詳細設計的描述方法有圖形、表格和語言,其中圖形常用結構化程序流程圖、盒圖和 題分析圖 )為描述工具,語言常用過程設計語言 (作為工具。 2、結構化程序設計的基本要點是什么 ? 答 :主要有三個: 1、采用自頂向下、逐步求精的程序設計方法 2、使用三種基本控制結構構造程序。任何程序都可以由順序、選擇、重復 (循環(huán) )三種基本控制結構構造,這三種基本結構的共同點是單入口、單出口。 3、主程序員組 的組織形式。 3、簡述 答: (1)分析并確定輸入數(shù)據(jù)和輸出數(shù)據(jù)的邏輯結構,并用 (2)找出輸入數(shù)據(jù)結構和輸出數(shù)據(jù)結構中有對應關系的數(shù)據(jù)單元。 (3)按一定的規(guī)則由輸入、輸出的數(shù)據(jù)結構導出程序結構。 (4)列出基本操作與條件,并把它們分配到程序結構圖的適當位置。 (5)用偽碼寫出程序。 4、請使用流程圖、 和 (1)在數(shù)據(jù) A(1) A(10)中求最大數(shù)和次大數(shù)。 解:如圖所示: a1,a2,.0) a1; a2; i=2 0 IF aiai; IF aiai; UT(2)輸入三個正整數(shù)作為邊 長,判斷該三條邊構成的三角形是等邊、等腰還是一般三角形。 解:如圖: a,b,c) a+bc b+ca c+ab) a=b) a=c) 等邊三角形 ) 等腰三角形 ) IF(a=c) 等腰三角形 ) F (b=c) 等腰三角形 ) 一般三角形 ) 這不是一個三角形 ) 、用 有一個表 A(1)、 A(2)、 .A(n),按遞增順序排列。給定一個 表中用折半法查找。若找到,將表位置 x,否則將零送到 x,同時將 插入表中。 算法: (1)置初值 H=1(表頭 ), T=N(表尾 )。 (2)置 i=(H+T)/2(取整 )。 (3)若 (i),則找到 ,x;若 (i),則 i+1送入 H;若 (4)查不到時,將 A(i),.)移到 A(i+1).+1),送入 A(i)中。 解:如圖所示: 6、一個正文文件由若干記錄組成,每個記錄是一個字符串,要求統(tǒng)計每個記錄中空格字符的個數(shù)及文件中空格字符的總個數(shù)。要求輸出數(shù)據(jù)格式是每復制一行字符串后,另起一行打印出這個字符串中的空格數(shù),最后 打印出文件空格的總個數(shù),用 第 6 章 1、在項目開發(fā)時選擇程序設計語言通常考慮哪些因素 ? 答:通常要考慮的因素有: 項目的應用領域、軟件開發(fā)的方法、軟件執(zhí)行的環(huán)境、算法和數(shù)據(jù)結構的復雜性以及軟件開發(fā)人員的知識等。 2、舉例說明各種程序設計語言的特點及適用范圍 ? 答:以常見的一些編程語言為例: 不僅面向科學計算,數(shù)據(jù)處理能力也極強。適用于科學工程計算 有很強的數(shù)據(jù)和過程結構化能力,它語言簡明,數(shù)據(jù)類型豐富,程序結構嚴謹。它是第一個 體現(xiàn)結構化編程思想的語言。用于描述結構化算法和科學計算 ,操作系統(tǒng)的編寫 能強大,支持復雜的數(shù)據(jù)結構,可大量運用指針,具有豐富靈活的操作運算符及數(shù)據(jù)處理操作符,它還具有匯編語言的某些特征,使程序運行效率高。可用于許多領域,特別是在操作系統(tǒng)等方面有較大優(yōu)勢。 具有極強的數(shù)據(jù)定義能力,程序說明與硬件環(huán)境說明分開、數(shù)據(jù)描述與算法描述分開。結構嚴謹層次分明,廣泛用于商業(yè)數(shù)據(jù)處理。 構化查詢語言,用于對數(shù)據(jù)庫進行存取管理。 匯編語言和 要用于實時處理和編寫系統(tǒng)軟 件。 一種函數(shù)型語言 ,特別適用于組合問題中符號運算和表處理,用于定理證明、樹的搜索和其他問題的求解。 提供了支持知識表示的特性,每一個程序由一組表示事實、規(guī)則和推理的句子組成,比較接近與自然語言。這兩種語言主要用于人工智能系統(tǒng)開發(fā)。 C+、 是面向對象的設計語言,用于面向對象的方開發(fā)軟件。 3、什么是程序設計風格 ?為了具有良好的設計風格,應注意哪些方面的問題 ? 答:程序設計風格是指一個人編制程序時所表現(xiàn)出來的特點、習慣、 邏輯思路等。 要形成良好的程序設計風格,應從源程序文檔化、數(shù)據(jù)說明、語句構造、輸入輸出和追求效率幾個方面加以注意。 第 7 章 1、軟件測試的目的是什么 ?軟件測試中,應注意哪些原則 ? 答:軟件測試的目的是為了發(fā)現(xiàn)軟件的錯誤。 軟件測試中應注意的原則有: (1)測試用例應由輸入數(shù)據(jù)和預期的輸出數(shù)據(jù)兩部分組成。這樣便 于對照檢查,做到有的放矢。 (2)測試且例不僅選用合理輸入數(shù)據(jù),還要選擇不合理的輸入數(shù)據(jù)。這樣能更多地發(fā)現(xiàn)錯誤,提高程序的可靠性。對于不合理的輸入數(shù)據(jù),程序應拒絕接受,并給出相應的提示。 (3)除 了檢查程序是否做了它應該做的事,還應該檢查程序是否做了它不應該做的事。 (4)應制定測試計劃并嚴格執(zhí)行,排除隨意性。 (5)長期保留測試用例。 (6)對發(fā)現(xiàn)錯誤較多的程序段,應進行更深入的測試。 (7)程序員應避免測試自己的程序。測試是一種 挑剔性 的行為,心理狀態(tài)是測試自己程序的障礙。 2、什么是白盒測試法 ?有哪些覆蓋標準 ?試對他們的檢錯能力進行比較 ? 答:白盒法測試法把測試對象看作一個打開的盒子,測試人員須了解程序內部結構和處理過程,以檢查處理過程的細節(jié)為基礎,對程序中盡可能多的邏輯路徑進行測 試,檢驗內部控制結構和數(shù)據(jù)結構是否有錯,實際的運行狀態(tài)與預期的狀態(tài)是否一致。 白盒法有下列幾種覆蓋標準: 語句覆蓋 判定覆蓋 條件覆蓋 判定 /條件覆蓋 條件組合覆蓋 路徑覆蓋 從上到下的覆蓋標準其檢錯能力也從弱到強,其中條件組合發(fā)現(xiàn)錯誤的能力較強,凡滿足其標準的測試用例,也必然滿足前四種覆蓋標準。在實際的邏輯測試中,一般以條件組合覆蓋為主設計測試用例,然后再補充部分用例來達到路徑覆蓋的測試標準。 3、什么是黑盒測試法 ?采用黑盒技術測試用例有哪幾種方法 ?這些方法各有什么特點 ? 答:黑盒測試法把被測試對象看成是 一相黑盒子,測試人員完全不考慮程序的內部結構和處理過程,只在軟件接口處進行測試,依據(jù)需求規(guī)格說明書,檢查程序是否滿足功能要求。 采用黑盒技術測試用例的方法有:等價類的劃分、邊界值分析、錯誤推測和因果圖。 等價類的劃分,是將輸入數(shù)據(jù)按有效的或無效的 (也稱合理的或不合理的 )劃分成若干個等價類,測試每個等價類的代表值就等于對該類其他值的測試。這樣就把漫無邊跡的隨機測試改為有針對性的等價類測試,用少量有代表性的例子代替大量測試目的相同的例子,能有效地提高測試效率。但這個方法的缺點是沒有注意選擇某些高效的、能夠發(fā)現(xiàn)更 多錯誤的測試用例。 邊界值分析法一般與等價類劃分結合起來。但它不是從一個等價類中任選一個例子做代表,而是將測試邊界情況作為重點目標,選取正好等于、剛剛大于和剛剛小于邊界值的測試數(shù)據(jù)。 (邊界情況是指輸入等價類和輸入等價類邊界上的情況。 )這種方法可以查出更多的錯誤,因為在程序中往往在處理邊界情況時易發(fā)生錯誤。 錯誤推測法是在測試程序時,人們根據(jù)經(jīng)驗或直覺推測程序中可能存在的錯誤,從而有針對性地編寫檢查這些錯誤的測試用例。 因果圖能夠有效地檢測輸入條件的各種組合可能會引起的錯誤。它的基本原理是通過畫因果圖,把用自 然語言描述的功能說明轉換為判定表,最后為判定表的每一列設計一個測試用例。 這幾種方法都不能提供一組完整的測試用例,在實際測試中應把各種方法結合起來使用。 綜合策略:就是聯(lián)合使用上述幾種測試方法,盡可能多地發(fā)現(xiàn)程序中的錯誤。 4、軟件測試要經(jīng)過哪些步驟 ?這些測試與軟件開發(fā)各階段之間有什么關系 ? 答:軟件測試要經(jīng)過的步驟是:單元測試 集成測試 確認測試 系統(tǒng)測試。 單元測試對源程序中每一個程序單元進行測試,檢查各個模塊是否正確實現(xiàn)規(guī)定的功能,從而發(fā)現(xiàn)模塊在編碼中或算法中的錯誤。該階段涉及編碼和詳細設計文檔。 集 成測試是為了檢查與設計相關的軟件體系結構的有關問題,也就是檢查概要設計是否合理有效。 確認測試主要是檢查已實現(xiàn)的軟件是否滿足需求規(guī)格說明書中確定了的各種需求。 系統(tǒng)測試是把已確認的軟件與其他系統(tǒng)元素 (如硬件、其他支持軟件、數(shù)據(jù)、人工等 )結合在一起進行測試。以確定軟件是否可以支付使用。 5、單元測試有哪些內容 ?測試中采用什么方法 ? 答:單元測試主要針對模塊的以下五個基本特征進行測試: (1)模塊接口 (2)局部數(shù)據(jù)結構 (3)重要的執(zhí)行路徑 (4)錯誤處理 (5)邊界條件 測試的方法是為被測試模塊編 寫驅動模塊和樁模塊來實現(xiàn)被測試單元的可運行。通過驅動模塊來模擬被測試模塊的上級調用模塊,以上級模塊調用被測模塊的格式驅動被測模塊,接收被測模塊的測試結構并輸出。樁模塊則用來代替被測試模塊所調用的模塊。它的作用是返回被測模塊所需的信息。 6、什么是集成測試 ?非漸增式測試與漸增式測試有什么區(qū)別 ? 漸增式測試如何組裝模塊 ? 答:集成測試是指在單元測試的基礎上,將所有模塊按照設計要求組裝成一個完整的系統(tǒng)進行的測試。 非漸增式測試是指首先對每個模塊分別進行單元測試,再把所有模塊組裝成一個完整的系統(tǒng)進行的測試。而漸增式 測試就是逐個把未經(jīng)測試的模塊組裝到已經(jīng)過測試的模塊上去進行集成測試,每加入一個新模塊進行一次集成測試,重復此過程直到程序組裝完畢。漸增式測試有兩種不同的組裝方法:自頂向下和自底向上結合。 兩者區(qū)別是: (1)非漸增式方法把單元測試和集成測試分成兩個不同的階段,前一階段完成模塊的單元測試,后一階段完成集成測試。而漸增式測試往往把單元測試和集成測試合在一起,同時完成。 (2)非漸增式需要更多的工作量,因為每個模塊都需要驅動模塊和樁模塊,而漸增式利用已測試過的模塊作為驅動模塊或樁模塊,因此工作量少。 (3)漸增式 可以較早地發(fā)現(xiàn)接口之間的錯誤,非漸增式最后組裝時才發(fā)現(xiàn)。 (4)漸增式有利于排錯,發(fā)生錯誤往往和最近新加入的模塊有關,而非漸增式發(fā)現(xiàn)接口錯誤推遲到最后,很難判斷是哪一部分接口出錯。 (5)漸增式比較徹底,已測試的模塊和新的模塊再測試。 (6)漸增式點用時間較多,但非漸增式所需更多的驅動模塊和樁模塊也占用一些時間。 (7)非漸增式開始可并行測試所有模塊,能充分利用人力,對測試大型軟件很有意義。 7、什么是確認測試 ?該階段有哪些工作 ? 答:確認測試又稱有效性測試。它的任務是檢查軟件的功能與性能是否與需求規(guī)格說明 書中確定的指標相符合。因而需求說明是確認測試的基礎。確認測試階段有兩項工作:進行確認測試與軟件配置審查。 8、調試的目的是什么 ?調試有哪些技術手段 ? 答:調試則是在進行了成功的測試之后才開始的工作。調試的目的是確定錯誤的原因和位置,并改正錯誤,因此調試也稱為糾錯 (調試的技術手段有簡單的調試方法、歸納法、演繹法和回溯法等。 9、將正確答案的編號填入題目空白處: 在白盒測試用例中,有語句覆蓋、條件覆蓋、判定覆蓋、路徑覆蓋等,其中 (A)是最強的覆蓋準則。為了對下圖所示的程序進行覆蓋測試,必須適當?shù)剡x 取測試數(shù)據(jù)。若 X, 供選擇的測試數(shù)據(jù)組共有 I, 組 (如表中給出 ),則實現(xiàn)語句覆蓋至少應采用的測試數(shù)據(jù)組是 (B);實現(xiàn)條件覆蓋至少應采用的測試數(shù)據(jù)組是 (C);實現(xiàn)路徑覆蓋至少應采用的測試數(shù)據(jù)組是 (D)或 (E)。 可供選擇的答案: A: (1)語句覆蓋 (2)條件覆蓋 (3)判定覆蓋 (4)路徑覆蓋 B E: (1)(2)(3)(4)(5)I、 (6) (7)I, (8)I、 答: A: (4) B:(1) C:(4) D: (5) E: (8) 10、請對第 5章習題第 5題 (2)判定三角形類別 程序算法用等價類劃分和邊界值分析法設計測試用例,并檢查邏輯覆蓋標準。 解:先劃分等價類并編號: 為合理等價類設計測試用例,對于表中對應的四個合理等價類,用三個測試用例覆蓋。 為每一個不合理等價類設計一個測試用例: 用邊界值法設計測試用例: 第 8 章 1、軟件維護有哪些內容? 答:( 1)校正性維護。在軟件交付使用后,一些隱含的錯誤在某些特定的使用環(huán)境下會暴露出來。為了識 別和糾正錯誤,修改軟件性能上的缺陷,應進行確定和修改錯誤的過程,這個過程就稱為校正性維護。 ( 2)適應性維護。為了使應用軟件適應計算機硬件、軟件環(huán)境及數(shù)據(jù)環(huán)境的不斷發(fā)生的變化而修改軟件的過程稱為適應性維護。 ( 3)完善性維護。為增加軟件功能、增強軟件性能、提高軟件運行效率而進行的維護活動稱為完善性維護。 ( 4)預防性維護。為了提高軟件的可維護性和可靠性而對軟件進行的修改稱為預防性維護。 2、 軟件維護的特點是什么? 答:主要體現(xiàn)在三個方面: ( 1) 非結構化維護和結構化維護。軟件的開發(fā)過程對軟件 的維護有很大的影響。若不采用軟件工程的方法開發(fā)軟件,則軟件只有程序而無文檔,維護工作非常困難,這是一種非結構化的維護。若采用軟件工程的方法開發(fā)軟件,則各階段都有相應的文檔,容易進行維護工作,這是一種結構化的維護。 ( 2) 維護的困難性。軟件維護的困難性是由于軟件需求分析和開發(fā)方法的缺陷。軟件生存周期中的開發(fā)階段沒有嚴格而又科學的管理和規(guī)劃,就會引起軟件運行時的維護困難。( 3) 軟件維護的費用。軟件維護的費用在總費用中的比重是在不斷增加的,這是軟件維護有形的代價。另外還有無形的代價,即要占有更多的資源。軟 件維護費用增加的占有原因是軟件維護的生產(chǎn)率非常低。 3、 軟件維護的流程是什么? 答:軟件維護的流程如下:知道維護申請報告、審查申請報告并批準、運行維護并做詳細記錄、復審。 4、 軟件維護的副作用有哪些? 答:維護的副作用有以下三種: ( 1) 編碼副作用。在使用程序設計語言修改源代碼時可能引入的錯誤。 ( 2) 數(shù)據(jù)副作用。在修改數(shù)據(jù)結構時,有可能造成軟件設計與數(shù)據(jù)結構不匹配,因而導致軟件錯誤。數(shù)據(jù)副作用是修改軟件信息結構導致的結果。但它可以通過詳細的設計文檔加以控制。 ( 3) 文檔副作用。如果 對可執(zhí)行軟件的修改沒有反映在文檔中,就會產(chǎn)生文檔副作用。 第 910 章 1、說明對象、類、類結構、消息的基本概念。 答: (1)對象:對象是人們要進行研究的任何事物,它不僅能表示具體的事物,還能表示抽象的規(guī)則、計劃或事件。對象包括有形實體、作用、事件、性能說明等類型。對象具有狀態(tài)和行為。一個對象用數(shù)據(jù)值來描述它的狀態(tài),對象的操作則用于改變狀態(tài),對象及其操作就是對象的行為。對象實現(xiàn)了數(shù)據(jù)和操作的結合,使數(shù)據(jù)和操作封裝于對象的統(tǒng)一體中。對象內的數(shù)據(jù)具有自己的操作,從而可靈活地專門描述對象的獨特行為,具有較強的 獨立性和自治性,其內部狀態(tài)不受或很少受外界的影響,具有很好的模塊化特點。為軟件重用奠定了堅實的基礎。 (2)類:具有相同或相似性質的對象的抽象就是類。因此,對象的抽象就是類,類的具體化就是對象,也可以說類的實例是對象。 (3)類結構:類與類之間的結構關系,包括一般 部分結構關系。 一般 可以說是 或 關系或 is a關系,類的這種層次結構可用來描述現(xiàn)實世界中的一般化的抽象關系,通常越在上層的類越具有一般性和共性,越在下層的類越具體、越細化。 整體 組裝結構,它們之間的關系是一種 與 關系,或者是 a關系。類的這種層次關系可用來描述現(xiàn)實世界中的類的組成的抽象關系。上層的類具有整體性,下層的類具有成員性。 在類的層次結構中,通常上層的類稱為父類或超類,下層類稱為子類。 (4)消息:對象之間進行通信的構造叫做消息。在對旬的操作中,當一個消息發(fā)送給某個對象時,消息包含接收對象去執(zhí)行某種操作的信息。接收消息的對象經(jīng)過解釋,然后給予響應。這種通信機制稱為消息傳遞。發(fā)送一條消息的格式是 對象名 參數(shù) )。 2、說明面向對象的特征和要素。 答:面向對象的特征是: (1)對象唯一性。每個對象都有自身唯一的標識,在對象生存期中,其標識不變,不同的對象不能有不同的標識。 (2)分類性。是指將具有一致的數(shù)據(jù)結構 (屬性 )和行為 (操作 )的對象抽象成類 (3)繼承性。是子類自動共享父類數(shù)據(jù)結構和方法的機制,這是類之間的一種關系。 (4)多態(tài)性。是指相同的操作或函數(shù)過程可以作用于多種類型的對象上并獲得不同的結果。 面向對象的要素是: (1)抽象。 (2)封裝性 (信息隱蔽 ) (3)共享性。 3、說明對象模型的特征,舉現(xiàn)實世界的例子,給出它的一般關 系、聚集關系的描述。 答:對象模型表示了靜態(tài)的、結構化的系統(tǒng)數(shù)據(jù)性質,描述了系統(tǒng)的靜態(tài)結構,它是從客觀世界實體的對象關系角度來描述。表現(xiàn)了對象的相互關系。該模型的特征是用對象圖來表現(xiàn)對象的結構、屬性和操作,它是分析階段三個模型的核心,也是其他兩個模型的框架。 在對象模型中,定義了兩種類的層次結構:一般化關系和聚集關系。 一般化關系是在保留對象差異的同時共享對象相似性的一種高度抽象方式,即 一般 的關系。比如下圖所示: 聚集關系是一
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030中國惡心藥行業(yè)項目調研及市場前景預測評估報告
- 2025至2030運動和能量飲料行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國數(shù)碼噴印產(chǎn)業(yè)前景預判與投融資趨勢預測報告
- 2025至2030中國自助火鍋行業(yè)發(fā)展分析及競爭策略與趨勢預測報告
- 2025至2030中國自動寵物(貓和狗)廁所和和垃圾箱行業(yè)市場占有率及投資前景評估規(guī)劃報告
- 2025至2030中國臀部夾板行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025至2030中國腐植酸類生物刺激劑行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025至2030中國胰膽管塑料支架行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 電子競技項目負責人職責說明
- 2025至2030中國聚縮醛樹脂行業(yè)產(chǎn)業(yè)運行態(tài)勢及投資規(guī)劃深度研究報告
- 2025年高考真題-英語(全國一卷) 含答案
- 頁巖氣儲層表征評價技術進展及其未來發(fā)展趨勢分析
- 統(tǒng)編版高中政治必修三《政治與法治》期末復習:選擇題刷題練習題(含答案解析)
- 2025-2030年中國線纜設備行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 兒童情商課件
- 2025年湖北荊門市交通旅游投資集團有限公司招聘筆試參考題庫含答案解析
- 食品產(chǎn)品溯源管理制度
- 2024年遼陽職業(yè)技術學院單招職業(yè)傾向性測試題庫附答案
- 護士思想政治教育
- 陜投集團招聘真題2024
- 國家開放大學漢語言文學本科《古代詩歌散文專題》期末紙質考試第三大題簡答題庫2025春期版
評論
0/150
提交評論