《軟件工程資料》word版_第1頁
《軟件工程資料》word版_第2頁
《軟件工程資料》word版_第3頁
《軟件工程資料》word版_第4頁
《軟件工程資料》word版_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、軟件工程習(xí)題集答案第一章 軟件工程概述作業(yè)答案一、名詞解釋軟件軟件是計算機程序以及開發(fā)、使用和維護程序所需要的所有文檔。軟件是包括程序、數(shù)據(jù)及其相關(guān)文檔的完整集合。軟件危機軟件生產(chǎn)的進度、數(shù)量、質(zhì)量、成本滿足不了社會對軟件的需求量和希望的現(xiàn)象,稱為“軟件危機”。軟件工程IEEEIEE93: 軟件工程是將系統(tǒng)的、規(guī)范的、可度量的工程化方法應(yīng)用于軟件開發(fā)、運行和維護的全過程及上述方法的研究。軟件生存周期軟件生存周期是指一個軟件從提出開發(fā)要求開始直到不再使用(報廢)為止的整個時期。軟件過程模型軟件過程指為獲得高質(zhì)量軟件所需要完成的一系列任務(wù)以及完成這些任務(wù)的工作步驟。過程還規(guī)定了運用的方法的順序、應(yīng)

2、該交付的文檔資料、為保證軟件質(zhì)量和協(xié)調(diào)變化所需要采取的管理措施、任務(wù)完成的標(biāo)志等。軟件過程模型也叫軟件生存期模型、軟件工程范型,是軟件過程的一種抽象表示。二、填空題1、在信息處理和計算機領(lǐng)域內(nèi),一般認(rèn)為軟件是 程序 、 數(shù)據(jù) 和 文檔的集合 。2、軟件生產(chǎn)的發(fā)展經(jīng)歷了 程序設(shè)計 時代、 程序系統(tǒng) 時代和 軟件工程 時代,各時代的生產(chǎn)方式分別是 個體 、 作方式 和 工程化 。3、軟件生存周期的8個階段分別是 問題定義 、 可行性研究 、 需求分析 、 概要設(shè)計 、 詳細設(shè)計 、 編碼與模塊測試 、 綜合測試 、 維護 。4、軟件工程是利用工程化的原理和方法來進行 開發(fā) 、 維護 和 管理 軟件

3、的一門學(xué)科。5、描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型稱為 軟件過程 模型。6、瀑布模型 不 適應(yīng)需求可變的軟件開發(fā),只有到 最后 才能見到整個軟件系統(tǒng)。7、軟件產(chǎn)品的生產(chǎn)主要是研制,軟件產(chǎn)品的成本主要體現(xiàn)在 人力成本 上。8、軟件工程面臨的問題有 軟件費用 、 可靠性 、 可維護性 、 生產(chǎn)率 。三、單項選擇題1、軟件文檔是( C )。A.程序 B.工具 C.文書和資料 D.數(shù)據(jù)2、軟件是一種( B )性工業(yè)產(chǎn)品A.理論 B.知識(或邏輯) C.消耗 D.體力3、與計算機科學(xué)的理論研究不同,軟件工程是一門( B )的學(xué)科。A理論性 B.工程性 C.原理性 D.心理性4、軟件工程與計算機科學(xué)

4、的性質(zhì)不同,軟件工程著重于( B )A理論研究 B.建造軟件系統(tǒng) C.原理探討 D.原理的理論5、軟件工程學(xué)科出現(xiàn)的直接原因是( C )。A計算機的發(fā)展 B.其它工程學(xué)科的影響C.軟件危機的出現(xiàn) D.程序設(shè)計方法學(xué)的影響6、軟件工程方法學(xué)的研究內(nèi)容包含軟件開發(fā)技術(shù)和軟件工程管理兩個方面,以期達到的最終目標(biāo)是( A )A軟件開發(fā)工程化 B.消除軟件危機C.實現(xiàn)軟件可重用 D.程序設(shè)計自動化7、由于軟件生產(chǎn)的復(fù)雜性和高成本,使大型軟件的生成出現(xiàn)危機,軟件危機的主要表現(xiàn)包括了下述( D )方面。 生產(chǎn)成本過高 需求增長難以滿足 進度難以控制 質(zhì)量難以保證A B. C. D.全部8、軟件的主要結(jié)構(gòu)和功

5、能是在( A )階段決定的。A.分析設(shè)計 B.編程 C.測試 D.維護9、有關(guān)計算機程序功能、設(shè)計、編制、使用的文字或圖形資料稱為【 B 】。A.軟件 B.文檔 C.程序 D.數(shù)據(jù)10、軟件生成周期模型有多種,下列選項中,【 C 】不是軟件生存周期模型。A.螺旋模型 B.增量模型 C.功能模型 D.瀑布模型四、簡答題四、簡答題軟件產(chǎn)品的特點是什么? 軟件是一種邏輯產(chǎn)品,無形態(tài),具有抽象性。軟件是開發(fā)而形成的,無明顯的制造過程。與硬件相比,軟件開發(fā)更依賴于開發(fā)人員的業(yè)務(wù)素質(zhì)、智力以及人員的組織、合作和管理。軟件成本集中在開發(fā)上,主要反映在人力成本上,而且開發(fā)成本難以估計。軟件不會“磨損”和老化,

6、但存在退化問題。大多數(shù)軟件是定做的,不是通過已有構(gòu)件組裝而成。主要靠腦力勞動生產(chǎn)。開發(fā)和維護成本高。軟件生產(chǎn)經(jīng)歷了哪幾個時代,各有何特征?軟件生產(chǎn)經(jīng)歷了三個時期:(1)程序設(shè)計時期(19461956) 軟件=程序主要特征:計算機硬件=計算機用途少,規(guī)模小;不作為商品;開發(fā)者=使用者:自己開發(fā),自己使用。(2)程序系統(tǒng)時期(19561968) 軟件=程序+說明主要特征:程序規(guī)模增大,多人分工合作。軟件作為商品,即程序設(shè)計者使用者;程序開發(fā)和使用的文檔資料已不可缺少。(3)軟件工程時期(1968現(xiàn)在) 軟件=程序+數(shù)據(jù)+文檔主要特征:按工程管理的方法管理整個軟件開發(fā)過程。軟件危機是如何產(chǎn)生的?其表

7、現(xiàn)形式是什么?試說明產(chǎn)生危機的原因?大規(guī)模集成電路出現(xiàn)后,性能大大提高,推動了計算機的廣泛應(yīng)用,促進了大規(guī)模軟件系統(tǒng)的設(shè)計。但由于軟件開發(fā)方法不適應(yīng)規(guī)模較大的項目的開發(fā),因而出現(xiàn)了比計劃延遲交付、費用比預(yù)算增加很多、功能和質(zhì)量不能滿足用戶要求,維護困難等問題,造成了軟件危機。主要表現(xiàn):(1)軟件開發(fā): 軟件開發(fā)過程和成本無法有效控制,延遲交付且成本逐年上升; 軟件開發(fā)生產(chǎn)率提高的速度跟不上需求的增加; 用戶需求模糊,用戶對已完成的軟件系統(tǒng)不滿意; 沒有確保質(zhì)量的有效措施,軟件產(chǎn)品的質(zhì)量靠不住。(2)軟件維護: 軟件常常是不可維護的(缺乏文檔或文檔質(zhì)量)。維護花費的時間和費用占整個軟件開發(fā)組織的

8、60%以上。原因:(1)客觀原因: 軟件規(guī)模越來越大,結(jié)構(gòu)越來越復(fù)雜,使得開發(fā)和管理都變得困難。但是: 軟件是手工勞動,是智力產(chǎn)品-生產(chǎn)率低。 軟件是邏輯實體,出錯容易,糾錯困難。 軟件的復(fù)雜性使得僅靠人的智力難以駕馭。(2)主觀原因 開發(fā)方式:認(rèn)為開發(fā)軟件就是寫程序。 組織方式:作坊式的生產(chǎn)方式;開發(fā)無計劃、開發(fā)過程無規(guī)范、開發(fā)過程難控制。 用戶方面:對軟件需求描述不精確。 開發(fā)人員方面:對用戶需求的理解與用戶本來愿望有差異,相互之間的信息交流不及時、不準(zhǔn)確、有誤解。闡述軟件工程的定義和目標(biāo),試說明軟件工程是如何克服軟件危機的。目標(biāo):在給定成本、進度的前提下,開發(fā)出滿足用戶需求的高質(zhì)量的、易

9、于維護的軟件產(chǎn)品??朔C的方法:軟件工程是從技術(shù)和管理兩方面利用一套科學(xué)的技術(shù)和管理方法進行軟件的開發(fā),從而提高軟件質(zhì)量和生產(chǎn)率。什么是軟件生存周期?軟件生成周期把軟件產(chǎn)品的分成哪幾個階段?各階段的任務(wù)什是么?軟件生存周期由8個階段組成:1、問題定義:確定要求解決的問題是什么?2、可行性研究:確定在時間和資源的約束條件下,能否完成指定的任務(wù)?包括:技術(shù)可行性、經(jīng)濟可行性、法律可行性、社會可行性。若可行,則制定項目所需費用、資源、時間的開發(fā)計劃。3、需求分析:準(zhǔn)確地確定“軟件系統(tǒng)必須做什么”,即明確目標(biāo)系統(tǒng)必須具備的功能和對系統(tǒng)的約束。4、概要設(shè)計:確定在總體上應(yīng)該怎樣實現(xiàn)目標(biāo)系統(tǒng),包括系統(tǒng)的

10、軟件結(jié)構(gòu)設(shè)計、接口設(shè)計和數(shù)據(jù)結(jié)構(gòu)設(shè)計。5、詳細設(shè)計:對軟件結(jié)構(gòu)中的模塊進行精確描述算法設(shè)計。6、編碼及模塊測試:把模塊算法轉(zhuǎn)換成特定程序設(shè)計語言的正確的、容易理解、容易維護的程序模塊。7、綜合測試:發(fā)現(xiàn)和糾正程序中的錯誤,保證軟件功能和性能符合需求規(guī)格說明書規(guī)定的要求。包括集成測試、確認(rèn)測試和系統(tǒng)測試。8、軟件維護:軟件投入使用后繼續(xù)對軟件的查錯、糾錯和改進。使系統(tǒng)持久地滿足用戶的需要。包括:改正性維護、適應(yīng)性維護、完善性維護、預(yù)防性維護。什么是軟件工程過程模型?瀑布、增量、原型和螺旋模型各自有什么特點?軟件過程模型也叫軟件生存期模型、軟件工程范型,是軟件過程的一種抽象表示。瀑布模型:嚴(yán)格按照

11、軟件生存期的階段劃分順序和各階段的目標(biāo)、任務(wù)、文檔的要求來進行開發(fā)。該模型以文檔為驅(qū)動。每一活動結(jié)束后,通過嚴(yán)格的階段復(fù)審和確認(rèn),得到一致、完整、準(zhǔn)確的良好文檔,以“凍結(jié)”這些文檔為該階段結(jié)束的標(biāo)志,并作為下一階段活動的唯一基礎(chǔ);以每一步的正確性和完整性來保證最終系統(tǒng)的質(zhì)量。 增量模型:先按瀑布模型開發(fā)一個滿足基本要求的系統(tǒng),然后根據(jù)用戶在使用中提出的新需求在進一步完善形成新的版本,這個過程不斷重復(fù),直到最終的完善產(chǎn)品。原型模型:先根據(jù)用戶對需求的描述,通過軟件工具構(gòu)造一個軟件系統(tǒng)的原型來描述目標(biāo)系統(tǒng)的主要功能,讓用戶進行評價,并根據(jù)用戶意見進行改進。隨著不斷實驗、評價和修改,最后使得在功能上

12、完全滿足用戶需求。一般情況下,軟件系統(tǒng)原型不是最終的目標(biāo)系統(tǒng),它只是在功能上描述了用戶需求,忽略了對軟件質(zhì)量特性的要求,避開了管理對質(zhì)量的控制。螺旋模型:螺旋模型是一個風(fēng)險驅(qū)動模型,將開發(fā)過程分為幾個螺旋周期,每個螺旋周期大致與瀑布模型相同。每個螺旋周期可分為四個工作步驟:(1)制定計劃:確定軟件目標(biāo),選定實施方案,明確開發(fā)限制條件;(2)風(fēng)險分析:分析所選方案,識別風(fēng)險和消除風(fēng)險;(3)開發(fā)實施:實施軟件開發(fā);(4)用戶評估:評價開發(fā)工作,提出修改意見。第二章 可行性研究習(xí)題名詞解釋可行性研究:用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得開發(fā)。技術(shù)可行性:在現(xiàn)有技術(shù)條件

13、下估算項目開發(fā)的風(fēng)險。經(jīng)濟可行性:從成本和經(jīng)濟效益考慮系統(tǒng)是否值得開發(fā)。成本效益分析:是從經(jīng)濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù)。填空1、可行性研究的目的不是去開發(fā)一個軟件項目,而是研究這個項目是否 能夠開發(fā) ,是否 值得開發(fā) 。2、可行性研究可以從 技術(shù)可行性 、 經(jīng)濟可行性 、社會可行性 三方面進行論證。3、可行性研究中,成本-效益分析的目的是 從經(jīng)濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算 。4、可行性研究階段可能形成的兩個文檔是 可行性研究報告 和 項目開發(fā)計劃 。5、經(jīng)濟可行性一般考慮的問題包括: 成本 和 效益 。6、社會可行性一般包括: 是否

14、存在侵權(quán)、違法、責(zé)任以及各種與法律相抵觸的問題 系統(tǒng)運行方式是否在組織內(nèi)部行得通 現(xiàn)有管理制度、人員素質(zhì)、操作方式對用戶是否可行單項選擇題1、在軟件的可行性研究主要從不同角度對系統(tǒng)進行可行性研究,其中從功能角度對系統(tǒng)進行研究屬于( B )的研究。A.經(jīng)濟可行性 B.技術(shù)可行性C.操作可行性 D.社會可行性2、制定軟件項目開發(fā)計劃的目的對軟件開發(fā)過程、進度、資源進行( D )。A.組織和管理 B.分析與估算C.設(shè)計與測試 D.規(guī)劃與調(diào)整3、下列不屬于成本-效益分析的度量指標(biāo)是( C )。A.貨幣的時間價值 B.投資回收期C.性質(zhì)因素 D.純收入4、制定軟件項目開發(fā)計劃屬于軟件開發(fā)周期的第( B

15、)階段。A.1 B.2 C.3 D.45、技術(shù)可行性要解決( D )。A.存在侵權(quán)否 B.成本-效益問題 C.運行方式可行 D.技術(shù)風(fēng)險問題簡答題可行性研究的目的和任務(wù)是什么?目的:用最小的代價在盡可能短的時間內(nèi)確定該軟件項目是否能夠開發(fā),是否值得開發(fā)。任務(wù):(1)對項目可能的各種實現(xiàn)方案的可行性進行論證,確定項目是否應(yīng)該開發(fā),以減少和降低軟件開發(fā)的技術(shù)風(fēng)險和投資風(fēng)險。(2)若項目應(yīng)該開發(fā),則需要進行開發(fā)方案的評價,并制定項目開發(fā)計劃。成本效益分析對軟件項目是否開發(fā)有何影響?成本效益分析是從經(jīng)濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù)。3、成本-效益分析的目的是

16、什么?可用哪些指標(biāo)進行度量?成本/效益分析的目的是從經(jīng)濟角度論證開發(fā)一個特定的新系統(tǒng)開發(fā)是否劃算,是決定是否投資開發(fā)新系統(tǒng)的依據(jù)。(1)、貨幣的時間價值:貨幣的價值本身隨時間的增加而產(chǎn)生增值:(2)、投資回收期:累計的經(jīng)濟效益等于最初的投資所需的時間。(3)、純收入:在整個生存周期內(nèi)系統(tǒng)的累計經(jīng)濟效益(折合現(xiàn)在的錢)與投資之差。(4)、投資回收率-投資的年利率第三章 需求分析作業(yè)名詞解釋結(jié)構(gòu)化分析方法:面向數(shù)據(jù)流進行需求分析的方法,采用自頂向下、逐步求精的分析方法。數(shù)據(jù)流圖:用圖形的方式從數(shù)據(jù)加工的角度來描述數(shù)據(jù)在系統(tǒng)中流動和處理的過程,只反映系統(tǒng)必須完成的功能,是一種功能模型。數(shù)據(jù)字典:用于

17、定義對數(shù)據(jù)流圖中的各個成分的具體含義。填空1、需求分析是指開發(fā)人員通過細致的 調(diào)查 ,準(zhǔn)確理解 用戶的要求 ,將用戶非形式化的需求轉(zhuǎn)化為 完整的需求定義 ,再把 需求定義 轉(zhuǎn)化為相應(yīng)的形式化功能規(guī)約的過程。2、需求分析的基本任務(wù)是準(zhǔn)確定義 新系統(tǒng)的目標(biāo) ,為了滿足用戶的需要,回答系統(tǒng)必須 “做什么” 的問題。3、需求分析階段需編寫的文檔有 需求規(guī)格說明書 、 初步用戶手冊 、 軟件測試計劃 。4、數(shù)據(jù)流圖的基本組成部分有 源點/終點 、 加工 、 數(shù)據(jù)流 、 數(shù)據(jù)存儲 。5、數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成了系統(tǒng)的 邏輯 模型,是需求規(guī)格說明書的主要組成部分。6、結(jié)構(gòu)化分析方法是面向 數(shù)據(jù)流的 、

18、自頂向下 、 逐步求精 進行分析的方法。 7、數(shù)據(jù)字典有以下四類條目: 數(shù)據(jù)加工 、 數(shù)據(jù)流 、 數(shù)據(jù)存儲 、 數(shù)據(jù)元素 。 數(shù)據(jù)元素 是組成組成數(shù)據(jù)流和數(shù)據(jù)存儲的最小元素。 8、在結(jié)構(gòu)化分析的需求描述中, 數(shù)據(jù)流圖 描述系統(tǒng)的分解,即描述系統(tǒng)由哪幾部分組成,各部分有什么聯(lián)系等等。 數(shù)據(jù)字典 定義了數(shù)據(jù)流圖中每一個圖形元素。 9、在數(shù)據(jù)流圖中, 數(shù)據(jù)流 是數(shù)據(jù)在系統(tǒng)內(nèi)傳播的路徑,因此由一組固定的數(shù)據(jù)項組成。加工(又稱為數(shù)據(jù)處理)是對數(shù)據(jù)流進行的某些 處理 。單項選擇題1、需求分析階段最重要的技術(shù)文檔之一是( C )。A.項目開發(fā)計劃 B.設(shè)計說明書 C.需求規(guī)格說明書 D.可行性分析報告2、在

19、需求分析之前有必要進行( B )A.程序設(shè)計 B.可行性分析 C.ER分析 D.3NF分析3、軟件需求分析階段建立原型的主要目的時( A )。A.確定系統(tǒng)的功能和性能要求 B.確定系統(tǒng)的運行要求C.確定系統(tǒng)是否滿足用戶需要 D.確定系統(tǒng)是否滿足開發(fā)人員需要4、軟件開發(fā)的需求活動,其主要任務(wù)是( D )。A.給出軟件解決方案 B.給出系統(tǒng)模塊結(jié)構(gòu)C.定義模塊算法 D.定義需求并建立系統(tǒng)模型5、需求分析階段的研究對象是( A )。A.用戶要求 B.分析員要求 C.系統(tǒng)要求 D.軟硬件要求6、數(shù)據(jù)流圖描述系統(tǒng)的( D )。A.數(shù)據(jù)結(jié)構(gòu) B.控制流程 C.基本加工 D.軟件功能 7、軟件需求階段要解決

20、的問題是( A )。A.軟件做什么 B.軟件提供哪些信息 C.軟件采用的結(jié)構(gòu) D.軟件怎樣做8、數(shù)據(jù)字典不包括的條目是( C )。A.數(shù)據(jù)項 B.數(shù)據(jù)流 C.數(shù)據(jù)類型 D.數(shù)據(jù)加工 9、需求分析( D )。A.要回答“軟件必須做什么?” B.可以概括為“理解,分解,表達”六個字。C.要求編寫需求規(guī)格說明書 D.上面都對。10、在數(shù)據(jù)流圖中,有名字及方向的成分是( A )。A.數(shù)據(jù)流 B.信息流 C.控制流 D.信號流11、軟件需求分析階段的工作,可以分成以下四個方面:對問題的識別、分析與綜合、制定需求規(guī)格說明以及( C )。A.總結(jié) B.實踐性報告 C.需求分析評審 D.以上答案都不正確 12

21、、結(jié)構(gòu)化分析方法使用的描述工具( B )定義了數(shù)據(jù)流圖中每一個圖形元素。A.數(shù)據(jù)流圖 B.數(shù)據(jù)字典 C.判定表 D.判定樹 13、需求規(guī)格說明書的作用不應(yīng)包括( D )。A.軟件設(shè)計的依據(jù) B.用戶與開發(fā)人員對軟件要做什么的共同理解C.軟件驗收的依據(jù) D.軟件可行性研究的依據(jù) 14、在結(jié)構(gòu)化分析方法中,與數(shù)據(jù)流圖配合使用的是( C )。A.網(wǎng)絡(luò)圖 B.實體聯(lián)系圖 C.數(shù)據(jù)字典 D.程序流程圖 15、軟件需求規(guī)格說明書的內(nèi)容不應(yīng)包括對( B )的描述。A.主要功能 B.算法的詳細過程 C.用戶界面及運行環(huán)境 D.軟件的性能 16、通過( B )分解完成數(shù)據(jù)流圖的細化。A.結(jié)構(gòu)分解 B.功能分解

22、C.數(shù)據(jù)分解 D.系統(tǒng)分解 17、數(shù)據(jù)存儲和數(shù)據(jù)流都是( D ),僅僅所處的狀態(tài)不同。A.分析結(jié)果 B.事件 C.動作 D.數(shù)據(jù) 18、數(shù)據(jù)字典中,一般不包括下列選項中的( D )條目。A.數(shù)據(jù)流 B.數(shù)據(jù)存儲 C.加工 D.源點與終點 19、SA方法用DFD描述( D )。A.系統(tǒng)的控制流程 B.系統(tǒng)的數(shù)據(jù)結(jié)構(gòu) C.系統(tǒng)的基本加工 D.系統(tǒng)的功能 20、初步用戶手冊在( B )階段編寫。A.可行性研究 B.需求分析 C.軟件概要設(shè)計 D.軟件詳細設(shè)計 21、SA方法的分析步驟是首先調(diào)查了解當(dāng)前系統(tǒng)的工作流程,然后( A )。A.獲得當(dāng)前系統(tǒng)的物理模型,抽象出當(dāng)前系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的

23、邏輯模型。 B. 獲得當(dāng)前系統(tǒng)的物理模型,抽象出目標(biāo)系統(tǒng)的邏輯模型,建立目標(biāo)系統(tǒng)的物理模型。 C. 獲得當(dāng)前系統(tǒng)的邏輯模型,建立當(dāng)前系統(tǒng)的物理模型,抽象出目標(biāo)系統(tǒng)的邏輯模型。 D. 獲得當(dāng)前系統(tǒng)的邏輯模型,建立當(dāng)前系統(tǒng)的物理模型,建立目標(biāo)系統(tǒng)的物理模型。 22、SA方法的基本思想是( C )。 A.自底向上逐步抽象 B.自底向上逐步分解 C.自頂向下逐步分解 D.自頂向下逐步抽象解答題為什么要進行需求分析?通常對軟件系統(tǒng)有哪些需求?開發(fā)一個軟件系統(tǒng),必須知道用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面有什么期望和要求,所以必須進行需求分析。通常對軟件系統(tǒng)的需求有:功能需求,性能需求,運

24、行要求、可擴展要求、數(shù)據(jù)需求。軟件需求分析階段的任務(wù)是什么?需求獲?。和ㄟ^調(diào)研,獲取用戶對系統(tǒng)的功能需求和非功能需求。需求分析:通過對用戶需求分析和綜合,消除用戶需求的模糊性、歧義性和不一致性。建立系統(tǒng)邏輯模型。需求描述:用規(guī)范化的語言和格式生成需求規(guī)格說明。數(shù)據(jù)字典的作用是什么?數(shù)據(jù)字典是對數(shù)據(jù)流圖中出現(xiàn)的所有成分都給出“嚴(yán)格定義”。,包括對數(shù)據(jù)加工、數(shù)據(jù)流、數(shù)據(jù)存儲、數(shù)據(jù)元素的定義。什么是結(jié)構(gòu)化分析方法?該方法使用什么描述工具?面向數(shù)據(jù)流進行需求分析的方法,采用自頂向下、逐步求精的分析方法。描述工具:數(shù)據(jù)流圖,數(shù)據(jù)字典。第四章 總體設(shè)計作業(yè)名詞解釋1.軟件概要設(shè)計:抽象出軟件系統(tǒng)實現(xiàn)的總體

25、框架的設(shè)計,是把軟件需求轉(zhuǎn)換為軟件表示的抽象過程2.模塊:是可以單獨命名和編譯的程序基本單位。3.模塊化:指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干個模塊的過程。每個模塊完成一個特定的功能所有模塊按照某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。4.信息隱蔽:指設(shè)計一個模塊時,使得一個模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的模塊來說,是不能訪問的。5.耦合:也稱塊間聯(lián)系,指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。6.內(nèi)聚:也稱塊內(nèi)聯(lián)系,指模塊功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。7.模塊獨立性:指每個模塊只完成系統(tǒng)要求的獨立

26、的子功能,并且與其它模塊的聯(lián)系最少且接口簡單。8.結(jié)構(gòu)化設(shè)計:又稱面向數(shù)據(jù)流的設(shè)計,它是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按照一定的步驟把數(shù)據(jù)流圖映射成軟件結(jié)構(gòu)。9.變換流:指具有明顯的數(shù)據(jù)輸入、數(shù)據(jù)變換和數(shù)據(jù)輸出邊界的數(shù)據(jù)流圖。10.事務(wù)流:指可以根據(jù)輸入流的事務(wù)類型分解成多個相互獨立的處理數(shù)據(jù)流的數(shù)據(jù)流圖,具有明顯的事務(wù)處理中心是事務(wù)流的顯著特點。填空1、軟件設(shè)計是把 軟件需求 轉(zhuǎn)換成 軟件表示 的過程,包括 概要設(shè)計 和 詳細設(shè)計 兩個階段2、軟件設(shè)計階段是把軟件“ 功能 ”的邏輯模型變換為“ 軟件結(jié)構(gòu) ”的物理模型。3、軟件設(shè)計的基本任務(wù)包括 系統(tǒng)設(shè)計 、 軟件結(jié)構(gòu)設(shè)計 、 數(shù)據(jù)結(jié)構(gòu)

27、設(shè)計 和 軟件接口設(shè)計 等。4、數(shù)據(jù)庫的“概念設(shè)計”與“邏輯設(shè)計”分別對應(yīng)于軟件生存周期中的“ 需求分析 ”和“ 概要設(shè)計 ”階段。5、概要設(shè)計階段的可能的主要文檔有 概要設(shè)計說明書 、 用戶手冊 和 測試計劃 。6、抽象是認(rèn)識復(fù)雜事務(wù)的思維工具,即抽象出事務(wù)的 本質(zhì) 的、 共同 的特征而暫不考慮它的 細節(jié) 。7、模塊具有 接口 、 功能 、 邏輯 和 狀態(tài) 等屬性。8、軟件結(jié)構(gòu)的設(shè)計是以 數(shù)據(jù)流圖 為基礎(chǔ)的,即以需求分析的結(jié)果為依據(jù),將系統(tǒng)進一步劃分成 模塊 ,并確定模塊之間的 聯(lián)系 。9、軟件結(jié)構(gòu)中各模塊間相互聯(lián)系的密切程度稱為 耦合 。10、 信息隱蔽 是指在設(shè)計和確定模塊時,使得一個模

28、塊內(nèi)包含的信息(過程或數(shù)據(jù))對于不需要這些信息的其它模塊來說,是不能 訪問 的。11、模塊獨立性要求每個模塊只完成問題要求的 一個 子功能,并且與其它模塊的聯(lián)系 簡單 。12、結(jié)構(gòu)圖包含的主要內(nèi)容有 模塊 、 模塊間的連線 和 模塊間傳遞的數(shù)據(jù) 。13、衡量模塊獨立性的兩個定性的度量指標(biāo)是 內(nèi)聚 和 耦合 。將軟件系統(tǒng)劃分成模塊時,盡量做到 高 內(nèi)聚, 低 耦合,提高模塊的獨立性,為設(shè)計高質(zhì)量的軟件奠定基礎(chǔ)。14、模塊的 扇出 指一個模塊的直接下屬模塊的個數(shù), 扇入 指一個模塊的直接上層模塊的個數(shù)。15、結(jié)構(gòu)化設(shè)計簡稱 面向數(shù)據(jù)流的設(shè)計 。數(shù)據(jù)流圖一般可分為 變換 型和 事務(wù) 型兩類。16、面

29、向數(shù)據(jù)流的設(shè)計是以需求分析階段產(chǎn)生的數(shù)據(jù)流圖為基礎(chǔ),按照一定的步驟將數(shù)據(jù)流圖映射成軟件結(jié)構(gòu)。因此又稱 結(jié)構(gòu)化設(shè)計 。單項選擇1、軟件設(shè)計一般分為總體設(shè)計和詳細設(shè)計,它們之間的關(guān)系是( B )。A.全局和局部 B.抽象和具體 C.總體和層次 D.功能和結(jié)構(gòu)2、屬于軟件設(shè)計的基本原理是( D )。A.數(shù)據(jù)流分析設(shè)計 B.變換流分析設(shè)計 C.事務(wù)流分析設(shè)計 D.模塊化3、軟件設(shè)計階段一般又可分為( B )A.邏輯設(shè)計和功能設(shè)計 B.概要設(shè)計和詳細設(shè)計 C.概念設(shè)計和物理設(shè)計 D.模型設(shè)計和程序設(shè)計4、結(jié)構(gòu)圖中,不是其主要成分的是( C )。A.模塊 B.模塊間傳遞的數(shù)據(jù) C.模塊內(nèi)部數(shù)據(jù) D.模塊間

30、的控制關(guān)系5、好的軟件結(jié)構(gòu)應(yīng)該是( B )。A.高內(nèi)聚、高耦合 B.低耦合、高內(nèi)聚C.高耦合、低內(nèi)聚 D.低耦合、低內(nèi)聚6、一組語句在程序中多次出現(xiàn),為了節(jié)省內(nèi)存空間,把這些語句放在一個模塊中,該模塊的內(nèi)聚度是( C )的。A.一致性 B.瞬時性 C.偶然性 D.通信性7、軟件設(shè)計中劃分模塊通常遵循的原則是要使模塊間的耦合性盡可能( B )。A.強 B.弱 C.較強 D.適中8、一個模塊把數(shù)值作為參數(shù)傳遞給另一個模塊,這種耦合方式稱為( D )。A.公共耦合 B.內(nèi)容耦合 C.控制耦合 D.數(shù)據(jù)耦合9、最高程度也是最差的耦合是( B )。A.公共耦合 B.內(nèi)容耦合 C.控制耦合 D.數(shù)據(jù)耦合1

31、0、內(nèi)聚是對模塊功能強度的度量,內(nèi)聚性最強的是( D )。A.邏輯內(nèi)聚 B.順序內(nèi)聚 C.偶然內(nèi)聚 D.功能內(nèi)聚11、結(jié)構(gòu)化設(shè)計又稱為( B )。A.概要設(shè)計 B.面向數(shù)據(jù)流設(shè)計 C.面向?qū)ο笤O(shè)計 D.詳細設(shè)計12、在面向數(shù)據(jù)流的軟件設(shè)計方法中,一般把數(shù)據(jù)流分為( A )。A.變換流和事務(wù)流 B.變換流和控制流 C.事務(wù)流和控制流 D.數(shù)據(jù)流和控制流13、( D )著重反映的是模塊間的隸屬關(guān)系,即模塊間的調(diào)用關(guān)系和層次關(guān)系。A.程序流程圖 B.數(shù)據(jù)流圖 C.E-R圖 D.軟件結(jié)構(gòu)圖14、軟件設(shè)計一般將用圖形工具,下列( C )可用作設(shè)計的圖形工具。結(jié)構(gòu)圖 實體聯(lián)系圖 IPO圖 層次圖A.和 B

32、.和 C.和 D.全部15、為了提高模塊的獨立性,模塊內(nèi)部最好是( C )。A.邏輯內(nèi)聚 B.時間內(nèi)聚 C.功能內(nèi)聚 D.通信內(nèi)聚16、程序結(jié)構(gòu)中矩形表示( C )。A.數(shù)據(jù) B.加工 C.模塊 D.存儲17、結(jié)構(gòu)化設(shè)計方法在軟件開發(fā)中,用于( B )。A.測試用例設(shè)計 B.概要設(shè)計 C.程序設(shè)計 D.詳細設(shè)計18、( D )是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,它是單獨命名的而且可通過名字訪問。A.模塊化 B.抽象 C.精化 D.模塊19、面向數(shù)據(jù)流的設(shè)計方法把( A )映射成軟件結(jié)構(gòu)。A.數(shù)據(jù)流 B.系統(tǒng)結(jié)構(gòu) C.控制結(jié)構(gòu) D.信息流20、設(shè)計軟件結(jié)構(gòu)一般不確定( C )。A.模塊的功能

33、 B.模塊的接口 C.模塊內(nèi)的局部數(shù)據(jù) D.模塊間的調(diào)用關(guān)系解答題概要設(shè)計的基本任務(wù)是什么?系統(tǒng)結(jié)構(gòu)設(shè)計:確定物理系統(tǒng)的具體實現(xiàn)方案。-概括地說,系統(tǒng)應(yīng)該怎樣做劃分出組成系統(tǒng)的物理元素-程序、文件、數(shù)據(jù)庫、人工過程和文檔。軟件結(jié)構(gòu)設(shè)計:確定系統(tǒng)中每個程序組成的模塊、模塊之間的聯(lián)系(結(jié)構(gòu))。數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫設(shè)計:確定系統(tǒng)需要的數(shù)據(jù)及數(shù)據(jù)間的相互關(guān)系。系統(tǒng)接口設(shè)計:模塊接口設(shè)計、外部接口設(shè)計和人機界面設(shè)計。模塊設(shè)計的原理是什么?模塊設(shè)計的原理是盡量做到模塊的高內(nèi)聚低耦合,以次提高模塊的獨立性。軟件設(shè)計的基本原則包含那些內(nèi)容?模塊化:以模塊作為程序設(shè)計的基本單位,把程序劃分成若干個模塊,每個模塊完成

34、一個子功能,把這些模塊集總起來,并通過模塊間的調(diào)用關(guān)系把它們組成一個完整的整體,完成指定的功能。抽象:解決復(fù)雜問題的唯一有效的方法就是運用抽象的思維方式,首先用一些高級的抽象概念構(gòu)造和理解它;這些高級概念又可以用一些較低級的概念構(gòu)造和理解,如此進行下去,直到最低層次的具體元素。信息隱蔽:模塊內(nèi)部的信息(處理過程和數(shù)據(jù)),應(yīng)對不需要了解這些信息的模塊隱蔽起來,使它們不能訪問。模塊獨立:開發(fā)具有獨立功能而且和其他模塊之間沒有過多的相互作用的模塊。衡量模塊獨立程度的兩個定性度量標(biāo)準(zhǔn)-內(nèi)聚和耦合。軟件結(jié)構(gòu)優(yōu)化原則有那些?改進軟件結(jié)構(gòu)提高模塊獨立性模塊規(guī)模應(yīng)該適中 深度、寬度、扇出和扇入應(yīng)適當(dāng) 模塊的作

35、用域應(yīng)在控制域之內(nèi) 盡量降低模塊接口的復(fù)雜程度 設(shè)計單入口出口的模塊 模塊功能應(yīng)該可以預(yù)測 變換分析設(shè)計和事務(wù)分系設(shè)計有什么區(qū)別?數(shù)據(jù)流圖呈線性變換特征,而且可以抽象成三部分:I-P-O。數(shù)據(jù)流圖呈輻射型,根據(jù)輸入數(shù)據(jù)的性質(zhì)選擇加工路徑。變換分析設(shè)計適用于具有明顯變換特征的數(shù)據(jù)流圖。事務(wù)分析設(shè)計適用于具有明顯事務(wù)特征的數(shù)據(jù)流圖。衡量模塊獨立性的兩個標(biāo)準(zhǔn)是什么?它們各表示什么含義?標(biāo)準(zhǔn):耦合和內(nèi)聚耦合:也稱塊間聯(lián)系,指軟件系統(tǒng)結(jié)構(gòu)中各模塊間相互聯(lián)系緊密程度的一種度量。內(nèi)聚:也稱塊內(nèi)聯(lián)系,指模塊功能強度的度量,即一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度的度量。7、什么是模塊?模塊有那些基本屬性?模塊

36、:是可以單獨命名和編譯的程序基本單位。模塊基本屬性:(1)接口:模塊的輸入與輸出(2)功能:模塊做什么;(3)邏輯:描述模塊內(nèi)部怎么做;(4)狀態(tài):模塊使用時的環(huán)境和條件。 其中,功能、接口和狀態(tài)反映模塊的外部特性,邏輯反映模塊的內(nèi)部特性。第六章 詳細設(shè)計習(xí)題名詞解釋詳細設(shè)計:確定每個模塊的具體執(zhí)行過程,也稱過程設(shè)計。詳細設(shè)計的結(jié)果基本決定了最終的程序代碼的質(zhì)量。結(jié)構(gòu)化程序設(shè)計:是按照一組能提高程序的可讀性和易維護性的規(guī)則而進行的程序設(shè)計方法,目的是為了使程序具有一種合理的結(jié)構(gòu),以使程序易理解和維護,便于保證和驗證程序的正確性。PDA:問題分析圖,是一種算法描述工具。它是一種從左向右展開的二維

37、樹形結(jié)構(gòu),其控制流程為自上而下,從左到右地執(zhí)行。填空1、詳細設(shè)計階段的主要任務(wù)是 確定每個模塊的具體執(zhí)行過程。 。2、軟件的詳細設(shè)計可以用 圖形 、 表格 、 過程設(shè)計語言 三種形式的描述工具表示模塊的處理過程。3、處理過程設(shè)計中最典型的方法是 結(jié)構(gòu)化程序設(shè)計 方法,其基本要點是 自頂向下 、 逐步求精 。4、任何程序都可由 順序 、 選擇 和 循環(huán) 3種基本控制結(jié)構(gòu)構(gòu)造,這3中基本結(jié)構(gòu)的基本點是 單入口 、 單出口 。5、PAD圖是一種 從左到右 展開的二維 樹形 結(jié)構(gòu),PAD圖的控制流程是 自上而下 、 從左到右 地執(zhí)行。6、詳細設(shè)計是軟件設(shè)計的第二個階段,主要確定每個模塊的具體執(zhí)行過程,

38、故也成為 過程設(shè)計 。7、詳細設(shè)計的目標(biāo)不僅是邏輯上正確地實現(xiàn) 每個模塊的功能 ,還應(yīng)使設(shè)計出的處理過程 清晰易懂 。8、結(jié)構(gòu)化程序設(shè)計 是實現(xiàn)該目標(biāo)的關(guān)鍵技術(shù)之一,它指導(dǎo)人們用良好的思想方法開發(fā)易于 閱讀 、易于 理解 的程序。單項選擇1、在詳細設(shè)計階段,經(jīng)常采用的工具包括( C )A.SA B.SD C.PAD D.DFD2、詳細設(shè)計階段的任務(wù)是( A )。A.算法設(shè)計 B.功能設(shè)計 C.調(diào)用達觀系設(shè)計 D.輸入/輸出設(shè)計3、結(jié)構(gòu)化程序設(shè)計的一種基本方法是( D )。A.篩選法 B.遞歸法 C.迭代法 D.逐步求精法4、下面說法不正確的是( C )。A.流程圖不易表示數(shù)據(jù)結(jié)構(gòu) B.流程圖容

39、易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)C.流程圖支持逐步求精 D.流程圖描述的是程序的邏輯結(jié)構(gòu)5、下面說法不正確的是( B )。A. PAD圖支持逐步求精 B.PAD圖容易造成非結(jié)構(gòu)化的程序結(jié)構(gòu)C. PAD圖描述的是算法 D.PAD圖容易表達程序的層次結(jié)構(gòu)簡答題什么是詳細設(shè)計,?該階段的基本任務(wù)是什么?詳細設(shè)計是軟件設(shè)計的第二個階段,確定每個模塊的具體執(zhí)行過程,也稱過程設(shè)計。根本任務(wù):(1)為軟件結(jié)構(gòu)中的每個模塊選擇算法,并用選定的某種表達工具給出清晰的描述。(2)塊內(nèi)數(shù)據(jù)結(jié)構(gòu)設(shè)計(3)數(shù)據(jù)庫物理設(shè)計 詳細設(shè)計的目標(biāo)不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計出的處理過程應(yīng)該盡可能簡明易懂。什么是

40、結(jié)構(gòu)化程序設(shè)計?,簡述結(jié)構(gòu)化程序設(shè)計的基本要點。結(jié)構(gòu)化程序設(shè)計是按照一組能提高程序的可讀性和易維護性的規(guī)則而進行的程序設(shè)計方法,目的是為了使程序具有一種合理的結(jié)構(gòu),以使程序易理解和維護,便于保證和驗證程序的正確性?;疽c: 自頂向下、逐步求精的設(shè)計方法 使用順序、選擇、循環(huán)三種基本控制結(jié)構(gòu) 在三種基本控制結(jié)構(gòu)中保持單入口、單出口第七章 實現(xiàn)作業(yè)名詞解釋編碼:編程就為是用編程(程序)語言把軟件表達翻譯為計算機可以理解的形式用某種程序設(shè)計語言書寫的程序。軟件測試:是軟件投入運行之前,對軟件需求分析、設(shè)計規(guī)格說明和編碼的最終復(fù)查,是軟件質(zhì)量保證的關(guān)鍵步驟。黑盒測試:不考慮程序內(nèi)部結(jié)構(gòu)和處理過程,只

41、依據(jù)軟件的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此,黑盒測試又稱功能測試或數(shù)據(jù)驅(qū)動測試。白盒測試:按照程序內(nèi)部邏輯測試程序。檢查程序中的每條通路是否都能按照預(yù)定要求正常工作。這種測試完全了解程序的結(jié)構(gòu)和處理過程。因此,白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。 單元測試:是檢查程序模塊是否正確實現(xiàn)了規(guī)定的功能,目的是保證每個模塊作為一個單元能正確運行,所以模塊測試通常又稱為單元測試。集成測試:把模塊按設(shè)計要求組裝成子系統(tǒng)或系統(tǒng)的過程中的測試。確認(rèn)測試:以需求規(guī)格說明為基準(zhǔn),驗證軟件的有效性的測試。漸增式測試:在集成測試中,的模塊一個一個地加入進行測試。當(dāng)一個模塊加入測試完以后再把下

42、一個應(yīng)該測試的模塊結(jié)合進來測試。這種每次增加一個模塊的方法稱為漸增式測試。非漸增式測試:是先分別測試每個模塊,再把所有模塊按設(shè)計要求放在一起結(jié)合成所要的程序。這種方法稱為非漸增式測試方法。回歸測試: 指重新執(zhí)行已經(jīng)做過的測試。每當(dāng)改正軟件錯誤的時候,可能導(dǎo)致軟件配置的某些成分的改變,這些改變可能引進新的錯誤?;貧w測試就是保證由于調(diào)試或其它原因引起的變化,不會導(dǎo)致非預(yù)期的軟件行為或額外錯誤的測試活動。調(diào)試: 根據(jù)測試所暴露的錯誤,診斷和改正其錯誤的過程。填空1、為了使程序代碼易于閱讀和理解,通常需要加注釋,注釋分為 序言性注釋 和 功能性注釋 兩種類型2、軟件測試的目的是盡可能多地發(fā)現(xiàn)軟件中存在

43、的 錯誤 。3、軟件測試方法一般分為兩大類: 白盒測試 方法和 黑盒測試 方法。4、集成測試可以采用的具體方法是 漸增式測試 和 非漸增式測試 。5、測試用例由 測試輸入數(shù)據(jù) 和預(yù)期的的 結(jié)果 兩部分組成。單項選擇題1、為了使程序能在不同的機器上運行,程序應(yīng)具有較好的【 A 】。A.可移植性 B.可重用性 C.可維護性 D.可實用性2、下列屬于功能性注釋的是【 C 】A.說明模塊的用處和功能的注釋 B.說明數(shù)據(jù)的名稱和用處的注釋C.說明程序段的注釋 D.說明程序開發(fā)背景的注釋3、序言性注釋主要內(nèi)容不包括【 D 】A.模塊的接口 B.數(shù)據(jù)的描述 C.模塊的功能 D.數(shù)據(jù)的狀態(tài)4、功能性注釋主要內(nèi)

44、容不包括【 C 】A.程序段的功能 B.語句的功能 C.模塊的功能 D.數(shù)據(jù)的狀態(tài)5、符合數(shù)據(jù)說明順序規(guī)范是【 D 】A.全程量說明、局部量說明、類型說明、常量說明B.全程量說明、局部兩說明、常量說明、類型說明C.類型說明、常量說明、全程兩說明、局部量說明D.常量說明、類型說明、全程量說明、局部量說明6、下面說法正確的是【 C 】A.經(jīng)過測試沒有發(fā)現(xiàn)錯誤說明程序正確B.測試的目標(biāo)是為了證明程序沒有錯誤C.成功的測試是發(fā)現(xiàn)了迄今尚未發(fā)現(xiàn)的錯誤的測試D.成功的測試是沒有發(fā)現(xiàn)錯誤的測試7、覆蓋準(zhǔn)則最強的【 C 】A.語句覆蓋 B.判定覆蓋 C.條件覆蓋 D.路徑覆蓋8、發(fā)現(xiàn)錯誤能力最弱的是【 A 】

45、A.語句覆蓋 B.判定覆蓋 C.條件覆蓋 D.路徑覆蓋9、與確認(rèn)測試有關(guān)的文檔是【 A 】A.需求規(guī)格說明書 B.概要設(shè)計說明書 C.詳細設(shè)計說明書 D.源程序10、超出軟件工程范圍的測試是【 D 】A.單元測試 B.集成測試 C.確認(rèn)測試 D.平行測試11、【 B 】方法需要考察模塊間的接口和各模塊之間的聯(lián)系A(chǔ).單元測試 B.集成測試 C.確認(rèn)測試 D.驗收測試12、調(diào)試應(yīng)該由【 B 】完成。A.與源程序無關(guān)的程序員 B.編制該源程序的程序員C.不了解軟件設(shè)計的機構(gòu) D.設(shè)計該軟件的機構(gòu)簡答題選擇高級程序設(shè)計語言的標(biāo)準(zhǔn)是什么?選擇的標(biāo)準(zhǔn)是:理想的模塊化機制良好的編譯程序良好的獨立編譯機制為了

46、使程序具有良好的設(shè)計風(fēng)格,應(yīng)注意那些方面的問題?代碼文檔化數(shù)據(jù)說明順序應(yīng)該規(guī)范語句構(gòu)造簡單直接,不能為追求效率而是使代碼復(fù)雜化輸入輸出格式簡單一致,具有合法性驗證、與結(jié)束標(biāo)志追求效率應(yīng)建立在不損害程序可讀性和可靠性基礎(chǔ)上為什么說軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),但不是軟件質(zhì)量保證的安全閥?軟件測試是軟件開發(fā)中不可缺少的重要一環(huán),原因:軟件最終要由人工編程來實現(xiàn),出現(xiàn)錯誤是不可避免的。測試的工作量占整個項目開發(fā)工作量40%左右。如果是關(guān)系到人的生命安全的軟件,測試的工作量還要成倍增加。軟件測試代表了需求分析、設(shè)計、編碼的最終復(fù)審。軟件測試不是軟件質(zhì)量保證的安全閥:軟件測試只能發(fā)現(xiàn)錯誤,不能

47、保證沒有錯誤。軟件測試應(yīng)當(dāng)遵循什么原則?為什么要遵循這些原則?所有測試應(yīng)以用戶需求為基準(zhǔn),測試的根本目標(biāo)是保證軟件能滿足最終用戶對軟件的需求。制定系統(tǒng)的測試計劃,并嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性。充分注意關(guān)鍵模塊的測試和測試中的群集現(xiàn)象。實踐表明,測試發(fā)現(xiàn)的錯誤中80%可能集中在20%的模塊中,對這些模塊應(yīng)重點測試。測試過程中必須隨時注意測試所覆蓋的程序邏輯的程度,確保程序設(shè)計中使用的所有條件都能被測試到。 避免自己測試自己的程序,應(yīng)由第三方獨立進行測試。 測試用例應(yīng)包括合理的輸入和不合理的輸入。不合理的輸入往往更能發(fā)現(xiàn)程序中錯誤。測試用例應(yīng)由測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出結(jié)果組成。缺少預(yù)期

48、輸出結(jié)果實際是缺少檢驗正誤的基礎(chǔ)。單元測試、集成測試和確認(rèn)測試各自主要目標(biāo)是什么?它們之間有什么不同?相互有什么關(guān)系?模塊測試是檢查程序模塊是否正確實現(xiàn)了規(guī)定的功能,發(fā)現(xiàn)模塊在編碼或算法中的錯誤,目的是保證每個模塊作為一個單元能正確運行。集成測試的主要目標(biāo)是檢查與設(shè)計相關(guān)的模塊間與接口有關(guān)的問題確認(rèn)測試的主要目標(biāo)是驗證軟件的有效性,確保軟件有效實現(xiàn)了軟件需求規(guī)格說明書的要求,需求規(guī)格說明書是確認(rèn)測試的依據(jù)。它們之間的不同有: 測試內(nèi)容不同 測試方法不同:單元測試用白盒法,集成測試使用漸增式或非漸增式測試;確認(rèn)測試使用黑盒法。 發(fā)現(xiàn)的錯誤不同:單元測試發(fā)現(xiàn)的錯誤是編碼階段產(chǎn)生的錯誤;集成測試發(fā)現(xiàn)的是設(shè)計階段引入的錯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論