吉珠軟件工程期末復(fù)習(xí)_第1頁
吉珠軟件工程期末復(fù)習(xí)_第2頁
吉珠軟件工程期末復(fù)習(xí)_第3頁
吉珠軟件工程期末復(fù)習(xí)_第4頁
吉珠軟件工程期末復(fù)習(xí)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、吉珠軟件工程期末復(fù)習(xí)整理整理者:LENG第一章1.1 軟件工程:是指導(dǎo)計算機軟件開發(fā)和維護(hù)的一門工程學(xué)科。(名詞解釋)采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來,以經(jīng)濟地開發(fā)出高質(zhì)量的軟件并有效地維護(hù)它,這就是軟件工程。 1.2 軟件危機的7個典型表現(xiàn):(簡答)(1)對軟件開發(fā)成本和進(jìn)度的估計常常很不準(zhǔn)確;(2)用戶對“已完成的”軟件系統(tǒng)不滿意的現(xiàn)象經(jīng)常發(fā)生;(3)軟件產(chǎn)品的質(zhì)量往往靠不??;(4)軟件常常是不可維護(hù)的;(5)軟件通常沒有適當(dāng)?shù)奈臋n資料;(6)軟件成本在計算機系統(tǒng)總成本中所占的比例逐年上升;(7)軟件

2、開發(fā)生產(chǎn)率提高的速度,遠(yuǎn)遠(yuǎn)跟不上計算機應(yīng)用迅速普及深入的趨勢 。1.3 產(chǎn)生軟件危機的原因:(名詞解釋)(1)與軟件本身的特點有關(guān)a.軟件是邏輯部件。b.軟件不會被“用壞”,如果發(fā)現(xiàn)了錯誤,很可能是開發(fā)時期引入。c.軟件規(guī)模龐大,而且程序復(fù)雜性將隨著程序規(guī)模的增加而呈指數(shù)上升。(2)與軟件開發(fā)與維護(hù)的方法不正確有關(guān)a.忽視軟件需求分析的重要性。對用戶要求沒有完整準(zhǔn)確的認(rèn)識就匆忙著手編寫程序。越早開始寫程序,完成它所需要用的時間往往越長。b.認(rèn)為軟件開發(fā)就是寫程序并設(shè)法使之運行。程序只是完整的軟件產(chǎn)品的一個組成部分。一個軟件產(chǎn)品必須由一個完整的配置組成,軟件配置主要包括程序、文檔和數(shù)據(jù)等成分。在

3、軟件開發(fā)的不同階段進(jìn)行修改需要付出的代價是很不相同的。c.輕視軟件維護(hù)。維護(hù)是極端艱巨復(fù)雜的工作,需要花費很大代價。軟件維護(hù)的費用占軟件總費用的55%70%。軟件工程學(xué)的一個重要目標(biāo)就是提高軟件的可維護(hù)性,減少軟件維護(hù)的代價。1.4三個時期八個階段:可能考(填空,簡答)三個時期:八個階段:軟件生命周期軟件定義軟件開發(fā)軟件維護(hù)問題定義可行性研究需求分析概要設(shè)計詳細(xì)設(shè)計編碼和單元測試綜合測試運行維護(hù)系統(tǒng)設(shè)計系統(tǒng)實現(xiàn)簡答:問題定義任務(wù):問題是什么通過對客戶的訪問調(diào)查,系統(tǒng)分析員扼要地寫出關(guān)于問題性質(zhì)、工程目標(biāo)和工程規(guī)模的書面報告。經(jīng)過討論和必要的修改之后這份報告應(yīng)該得到客戶的確認(rèn)。結(jié)果:關(guān)于系統(tǒng)規(guī)模

4、和目標(biāo)的報告書可行性研究任務(wù):有可行的解嗎系統(tǒng)分析員需要進(jìn)行一次大大壓縮和簡化了的系統(tǒng)分析和設(shè)計過程。研究問題的范圍,探索這個問題是否值得去解,是否有可行的解決辦法。結(jié)果:系統(tǒng)的高層邏輯模型(數(shù)據(jù)流圖、成本效益分析)可行性論證報告(立即進(jìn)行/推遲進(jìn)行/不能或不值得進(jìn)行)需求分析任務(wù):必須做什么主要是確定目標(biāo)系統(tǒng)必須具備哪些功能。系統(tǒng)分析員必須和用戶密切配合,充分交流信息,以得出經(jīng)過用戶確認(rèn)的系統(tǒng)邏輯模型。結(jié)果:系統(tǒng)的邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典、簡要的算法描述)用規(guī)格說明書準(zhǔn)確地記錄對目標(biāo)系統(tǒng)的需求總體設(shè)計任務(wù):如何解決已提出的問題設(shè)計出實現(xiàn)目標(biāo)系統(tǒng)的幾種可能的方案(低、中、高成本)。用適當(dāng)?shù)?/p>

5、表達(dá)工具描述每種方案,分析優(yōu)缺點,推薦一個最佳方案,制定出實現(xiàn)最佳方案的詳細(xì)計劃。設(shè)計程序的體系結(jié)構(gòu)。結(jié)果:可能的解法(系統(tǒng)流程圖、成本效益分析)推薦的系統(tǒng)體系結(jié)構(gòu)(層次圖或結(jié)構(gòu)圖詳細(xì)設(shè)計任務(wù):怎樣具體實現(xiàn)該系統(tǒng)詳細(xì)地設(shè)計每個模塊,確定實現(xiàn)模塊功能所需要的算法和數(shù)據(jù)結(jié)構(gòu)。結(jié)果:每個模塊的算法和數(shù)據(jù)結(jié)構(gòu)(程序流程圖、PAD圖、N-S圖等)編碼和單元測試任務(wù):得到正確的程序模塊選取一種適當(dāng)?shù)母呒壋绦蛟O(shè)計語言(必要時用匯編語言),把詳細(xì)設(shè)計的結(jié)果翻譯成用選定的語言書寫的程序;并且仔細(xì)測試編寫出的每一個模塊。結(jié)果:代碼和測試報告綜合測試任務(wù):得到符合要求的軟件通過集成測試、驗收測試、現(xiàn)場測試、平行運行

6、等方法對目標(biāo)系統(tǒng)進(jìn)一步測試檢驗。通過對軟件測試結(jié)果的分析可以預(yù)測軟件的可靠性;反之,根據(jù)對軟件可靠性的要求,也可以決定測試和調(diào)試過程什么時候可以結(jié)束。結(jié)果:測試計劃、詳細(xì)測試方案以及實際測試結(jié)果完整一致的軟件配置軟件維護(hù)任務(wù):使系統(tǒng)持久地滿足用戶的需要改正性維護(hù),診斷和改正在使用過程中發(fā)現(xiàn)的軟件錯誤;適應(yīng)性維護(hù),修改軟件以適應(yīng)環(huán)境的變化;完善性維護(hù),根據(jù)用戶的要求改進(jìn)或擴充軟件;預(yù)防性維護(hù),修改軟件為將來的維護(hù)活動做準(zhǔn)備。每一項維護(hù)活動實質(zhì)上是經(jīng)歷了一次壓縮和簡化了的軟件定義和開發(fā)的全過程。結(jié)果:完整準(zhǔn)確的維護(hù)記錄1.5瀑布模型 傳統(tǒng)的瀑布模型 實際的瀑布模型1.6快速原型模型快速原型模型快速

7、原型:是快速建立起來的可以在計算機上運行的程序,它所能完成的功能往往是最終產(chǎn)品能完成的功能的一個子集。 1.7增量模型 a.增量模型把軟件產(chǎn)品作為一系列的增量構(gòu)件來設(shè)計、編碼、集成和測試。b.每個構(gòu)件由多個相互作用的模塊構(gòu)成,并且能夠完成特定的功能1.8螺旋模型螺旋模型的基本思想:使用原型及其他方法來盡量降低風(fēng)險。把它看作在每個階段之前都增加了風(fēng)險分析過程的快速原型模型。 1.9噴泉模型噴泉模型:是典型的面向?qū)ο笊芷谀P汀?“噴泉”這個詞體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性。為避免使用噴泉模型開發(fā)軟件時開發(fā)過程過分無序,應(yīng)該把一個線性過程(例如,快速原型模型或圖中的中心垂線)作為總目

8、標(biāo)。 選擇題:1軟件工程三要素是(B )A) 技術(shù)、方法和工具B) 方法、工具和過程C) 繼承、對象和類D) 過程、模型、方法2軟件生命周期中所花費用最多的階段是(D)A 詳細(xì)設(shè)計B軟件編碼C軟件測試D軟件維護(hù)下列關(guān)于瀑布模型的描述正確的是(C)。A. 瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化。B. 瀑布模型具由于良好的靈活性。C. 瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開D. 利用瀑布模型,如果發(fā)現(xiàn)問題則修改的代價很低。3包含風(fēng)險分析的軟件工程模型是 ( A )。A) 螺旋模型B) 瀑布模型C) 增量模型D) 噴泉模型4下列關(guān)于瀑布模型的描述正確的是(C)。A.

9、瀑布模型的核心是按照軟件開發(fā)的時間順序?qū)栴}簡化。B. 瀑布模型具由于良好的靈活性。C. 瀑布模型采用結(jié)構(gòu)化的分析與設(shè)計方法,將邏輯實現(xiàn)與物理實現(xiàn)分開D. 利用瀑布模型,如果發(fā)現(xiàn)問題則修改的代價很低。5適合于面向?qū)ο蠓椒▽W(xué)的軟件生存周期模型是( B )A.瀑布模型B.噴泉模型 C.螺旋模型 D.增量模型填空題:請按順序?qū)懗鲕浖诘膸讉€階段_需求分析_,_概要設(shè)計_ ,_詳細(xì)設(shè)計_,_編碼_,_測試_,_維護(hù)_。A維護(hù) B測試 C詳細(xì)設(shè)計 D概要設(shè)計 E編碼 F需求分析軟件生存期的幾個主要模型是: 瀑布模型、快速原型模型、增量模型、螺旋模型 、 噴泉模型 。2第二章2.1數(shù)據(jù)流圖(必考)數(shù)據(jù)

10、流圖 (DFD) :a.是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。b.在數(shù)據(jù)流圖中沒有任何具體的物理部件,它只是描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程?;痉枺海磿?.4的例子)42頁2.2數(shù)據(jù)字典(必考)數(shù)據(jù)字典:Ø 是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合。Ø 數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。 例1(可能會考)標(biāo)識符 = 字母字符 + 字母數(shù)字串字母數(shù)字串 = 0字母或數(shù)字7字母或數(shù)字 =字母字符數(shù)字字符 例2(可能會考)購書單=學(xué)號+姓名+書號+數(shù)量+單價+總價+書費合計學(xué)生用書表=學(xué)院編號+

11、專業(yè)編號+年級+書號年級= 1 | 2 | 3 | 4 學(xué)號=10數(shù)字102.3定義數(shù)據(jù)的方法方法:對數(shù)據(jù)自頂向下分解。 數(shù)據(jù)組成方式(三種基本類型):Ø 順序 以確定次序連接兩個或多個分量;Ø 選擇 從兩個或多個可能的元素中選取一個;Ø 重復(fù) 即把指定的分量重復(fù)零次或多次。符號:Ø =意思是等價于(或定義為);Ø +意思是和(即,連接兩個分量);Ø 意思是或(即,從方括弧內(nèi)列出的若干個分量中選擇一個),通常用“|”號隔開供選擇的分量;Ø 意思是重復(fù)(即,重復(fù)花括弧內(nèi)的分量);常常使用上限和下限進(jìn)一步注釋表示重復(fù)的花括弧。&

12、#216; ( )意思是可選(即,圓括弧里的分量可有可無)。 例子:北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號碼(第1位不是0)。請用定義數(shù)據(jù)字典的方法,定義上述的電話號碼。l 電話號碼=校內(nèi)電話號碼|校外電話號碼l 校內(nèi)電話號碼=非零數(shù)字+ 3 位數(shù)字 /后面繼續(xù)定義l 校外電話號碼=本市號碼|外地號碼l 本市號碼=數(shù)字零+8位數(shù)字l 外地號碼=數(shù)字零+3位數(shù)字+8位數(shù)字l 非零數(shù)字=1|2|3|4|5|6|7

13、|8|9l 數(shù)字零0l 3位數(shù)字3數(shù)字3 /3至3個數(shù)字l 8位數(shù)字=非零數(shù)字+7位數(shù)字l 7位數(shù)字=7數(shù)字7l 數(shù)字0|1|2|3|4|5|6|7|8|9 需求分析過程應(yīng)該建立3種模型,分別是: 數(shù)據(jù)模型 功能模型 行為模型 填空:數(shù)據(jù)流圖中信息流的類型有(變換流 )和事務(wù)流。選擇:1 .可行性分析研究的目的是( A )。A. 項目值得開發(fā)否 B.爭取項目 C.開發(fā)項目 D.規(guī)劃項目2 .面向數(shù)據(jù)流的軟件設(shè)計方法,一般是把數(shù)據(jù)流圖中數(shù)據(jù)流劃分為(交換流和事務(wù)流B ),再將數(shù)據(jù)流圖映射為軟件結(jié)構(gòu)。A、數(shù)據(jù)流和事務(wù)流B、交換流和事務(wù)流C、信息流和控制流D、交換流和數(shù)據(jù)流3 在數(shù)據(jù)流圖中,圓代表(

14、 C)。 A.源點 B.終點 C.加工 D.模塊4 需求分析階段的任務(wù)是確定( D )A.軟件開發(fā)方法 B.軟件開發(fā)工具 C.軟件開發(fā)費 D.軟件系統(tǒng)的功能5 數(shù)據(jù)字典是軟件需求分析階段的最重要工具之一,其最基本的功能是(C )A數(shù)據(jù)庫設(shè)計 B.數(shù)據(jù)通信 C數(shù)據(jù)定義 D數(shù)據(jù)維護(hù)3.第五章3.1設(shè)計原理模塊化(名詞解釋) 模塊:是由邊界元素限定的相鄰程序元素的序列,而且有一個總體標(biāo)識符代表它。 模塊化:就是把程序劃分成獨立命名且可獨立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求。 逐步求精(名詞解釋) 逐步求精:為了能集中精力解決主要問題而

15、盡量推遲對問題細(xì)節(jié)的考慮。逐步求精是人類解決復(fù)雜問題時采用的基本方法,也是許多軟件工程技術(shù)的基礎(chǔ)。 Miller法則:一個人在任何時候都只能把注意力集中在(7±2)個知識塊上。 模塊獨立:(名詞解釋) 模塊獨立的概念是模塊化、抽象、信息隱藏和局部化概念的直接結(jié)果。 希望這樣設(shè)計軟件結(jié)構(gòu),使得每個模塊完成一個相對獨立的特定子功能,并且和其他模塊之間的關(guān)系很簡單。 模塊獨立程度的兩個定性標(biāo)準(zhǔn)度量: 耦合衡量不同模塊彼此間互相依賴(連接)的緊密程度。耦合要低,即每個模塊和其他模塊之間的關(guān)系要簡單; 內(nèi)聚衡量一個模塊內(nèi)部各個元素彼此結(jié)合的緊密程度。內(nèi)聚要高,每個模塊完成一個相對獨立的特定子功

16、能。 1. 耦合 耦合:是對一個軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。 要求:在軟件設(shè)計中應(yīng)該追求盡可能松散耦合的系統(tǒng)。 可以研究、測試或維護(hù)任何一個模塊,而不需要對系統(tǒng)的其他模塊有很多了解; 模塊間了解簡單,發(fā)生在一處的錯誤傳播到整個系統(tǒng)的可能性就很??; 模塊間的耦合程度強烈影響系統(tǒng)的可理解性、可測試性、可靠性和可維護(hù)性。 耦合程度的度量:(1) 非直接耦合/完全獨立(no direct coupling) 如果兩個模塊中的每一個都能獨立地工作而不需要另一個模塊的存在,那么它們完全獨立。 在一個軟件系統(tǒng)中不可能所有模塊之間都沒有任何連接。 耦合是影響軟件復(fù)雜程度的一個重要因素。 應(yīng)該采取下述

17、設(shè)計原則: 盡量使用數(shù)據(jù)耦合, 少用控制耦合和特征耦合, 限制公共環(huán)境耦合的范圍, 完全不用內(nèi)容耦合。 內(nèi)聚程度的度量:(1) 偶然內(nèi)聚(coincidental cohesion)Ø 如果一個模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是很松散的,就叫做偶然內(nèi)聚。七種內(nèi)聚的優(yōu)劣評分結(jié)果: 高內(nèi)聚:功能內(nèi)聚 10分 順序內(nèi)聚 9分 中內(nèi)聚:通信內(nèi)聚 7分 過程內(nèi)聚 5分 低內(nèi)聚:時間內(nèi)聚 3分 邏輯內(nèi)聚 1分 偶然內(nèi)聚 0分 設(shè)計時力爭做到高內(nèi)聚,并且能夠辨認(rèn)出低內(nèi)聚的模塊。 選擇:1 模塊的內(nèi)聚性最高的是(    D  

18、60;) A.邏輯內(nèi)聚         B.時間內(nèi)聚 C.偶然內(nèi)聚         D.功能內(nèi)聚2 模塊內(nèi)聚度越高,說明模塊內(nèi)各成分彼此結(jié)合的程度越(B )。 A.松散 B.緊密C.無法判斷 D.相等3 內(nèi)聚程度最低的是( A)內(nèi)聚A.偶然 B.過程 C.順序 D.時間4 確定測試計劃是在(A )階段制定的.A 總體設(shè)計 B.詳細(xì)設(shè)計 C.編碼 D.測試4第6章6.1結(jié)構(gòu)程序設(shè)計 經(jīng)典定義:如果一個程序的代

19、碼塊僅僅通過順序、選擇和循環(huán)這3種基本控制結(jié)構(gòu)進(jìn)行連接,并且每個碼塊只有一個入口和一個出口,則稱這個程序是結(jié)構(gòu)化的。 更全面定義:結(jié)構(gòu)程序設(shè)計是盡可能少用GOTO語句的程序設(shè)計方法。最好僅在檢測出錯誤時才使用GOTO語句,而且應(yīng)該總是使用前向GOTO語句。 3種基本的控制結(jié)構(gòu)程序流程圖:一張判定表由4部分組成: 左上部列出所有條件; 左下部是所有可能做的動作; 右上部是表示各種條件組合的一個矩陣; 右下部是和每種條件組合相對應(yīng)的動作。 所有條件 條件組合矩陣 所有動作 條件組合 對應(yīng)的動作必看PPT6.1判定表,判定樹例題偽代碼的基本控制結(jié)構(gòu):(最后大題) 簡單陳述句結(jié)構(gòu):避免復(fù)合語句。 判定

20、結(jié)構(gòu):IF_THEN_ELSE或CASE_OF結(jié)構(gòu)。 選擇結(jié)構(gòu):WHILE_DO或REPEAT_UNTIL結(jié)構(gòu)。例:檢查訂貨單IF 客戶訂貨金額超過5000元 THEN IF 客戶拖延未還賒欠錢款超過60天 THEN 在償還欠款前不予批準(zhǔn) ELSE (拖延未還賒欠錢款不超過60天) 發(fā)批準(zhǔn)書,發(fā)貨單 ENDIFELSE (客戶訂貨金額未超過5000元) IF 客戶拖延未還賒欠錢款超過60天 THEN 發(fā)批準(zhǔn)書,發(fā)貨單,并發(fā)催款通知書 ELSE (拖延未還賒欠錢款不超過60天) 發(fā)批準(zhǔn)書,發(fā)貨單2. 計算環(huán)形復(fù)雜度的方法(可能大題)看例題 環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序控制流的

21、流圖之后,可以用下述3種方法中的任何一種來計算環(huán)形復(fù)雜度V(G)。V(G)=流圖中的區(qū)域數(shù)V(G)=E-N+2 其中E是流圖中的邊數(shù),N是結(jié)點數(shù)V(G)=P+1其中P是流圖中判定結(jié)點的數(shù)目 V(G)=區(qū)域數(shù) =4 V(G)=E-N+2 =11-9+2=4 V(G)=P+1 =3+1=45第7章7.2軟件測試基礎(chǔ)7.2.1 軟件測試的目標(biāo) 測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程; 好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案; 成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。7.2.2 軟件測試準(zhǔn)則(名詞解釋或簡答) 所有測試都應(yīng)該能追溯到用戶需求; 應(yīng)該遠(yuǎn)在測試開始之前就制定出

22、測試計劃; 把Pareto原理應(yīng)用到軟件測試中; 應(yīng)該從“小規(guī)模”測試開始,并逐步進(jìn)行“大規(guī)模”測試; 窮舉測試是不可能的; 為了達(dá)到最佳的測試效果,應(yīng)該由獨立的第三方從事測試工作。7.2.3 測試方法黑盒測試(功能測試): 把程序看作一個黑盒子; 完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程; 是在程序接口進(jìn)行的測試。白盒測試(結(jié)構(gòu)測試): 把程序看成裝在一個透明的盒子里; 測試者完全知道程序的結(jié)構(gòu)和處理算法; 按照程序內(nèi)部的邏輯測試程序,檢測程序中的主要執(zhí)行通路是否都能按預(yù)定要求正確工作。黑盒測試與白盒測試優(yōu)缺點比較:黑盒測試白盒測試優(yōu)點適用于各階段測試從產(chǎn)品功能角度測試容易入手生成測試數(shù)據(jù)可構(gòu)成測

23、試數(shù)據(jù)使特定程序部分得到測試 有一定的充分性度量手段可獲較多工具支持缺點某些代碼得不到測試如果規(guī)格說明有誤,則無法發(fā)現(xiàn) 不易進(jìn)行充分性測試通常不易生成測試數(shù)據(jù)無法對未實現(xiàn)規(guī)格說明的部分進(jìn)行測試工作量大,通常只用于單元測試,有應(yīng)用局限性質(zhì)一種確認(rèn)技術(shù),回答“我們在構(gòu)造一個正確的系統(tǒng)嗎?”一種驗證技術(shù),回答“我們在正確地構(gòu)造一個系統(tǒng)嗎?”7.43不同集成測試的比較方法優(yōu)點缺點非漸增式?jīng)]有錯誤隔離手段主要設(shè)計錯誤發(fā)現(xiàn)遲潛在可重用代碼測試不充分需要驅(qū)動程序和存根程序自頂向下具有錯誤隔離手段主要設(shè)計錯誤發(fā)現(xiàn)早不需要驅(qū)動程序潛在可重用代碼測試不充分需要存根程序自底向上具有錯誤隔離手段潛在可重用代碼能充分測

24、試不需要存根程序主要設(shè)計錯誤發(fā)現(xiàn)遲需要驅(qū)動程序混合具有錯誤隔離手段主要設(shè)計錯誤發(fā)現(xiàn)早潛在可重用代碼能充分測試 7.5.3 Alpha和Beta測試(名詞解釋) Alpha測試由用戶在開發(fā)者的場所進(jìn)行,并且在開發(fā)者對用戶的“指導(dǎo)”下進(jìn)行測試。Alpha測試是在受控的環(huán)境中進(jìn)行的。 Beta測試由軟件的最終用戶們在一個或多個客戶場所進(jìn)行。開發(fā)者通常不在Beta測試的現(xiàn)場,因此,Beta測試是軟件在開發(fā)者不能控制的環(huán)境中的“真實”應(yīng)用。7.6白盒測試技術(shù)所謂測試方案包括具體的測試目的(例如,預(yù)定要測試的具體功能),應(yīng)該輸入的測試數(shù)據(jù)和預(yù)期的結(jié)果。通常又把測試數(shù)據(jù)和預(yù)期的輸出結(jié)果稱為測試用例

25、。7.6.1 邏輯覆蓋 有選擇地執(zhí)行程序中某些最有代表性的通路是對窮盡測試的惟一可行的替代辦法。 從覆蓋源程序語句的詳盡程度分析,大致有以下一些不同的覆蓋標(biāo)準(zhǔn): 語句覆蓋 判定覆蓋 條件覆蓋 判定/條件覆蓋 條件組合覆蓋 1. 語句覆蓋 含義:選擇足夠多的測試數(shù)據(jù), 使被測程序中每個語句至少執(zhí)行一次。 分析: 執(zhí)行路徑sacbed 測試用例: A2,B0,X4 覆蓋sacbed7.7 黑盒測試技術(shù) 黑盒測試著重測試軟件功能,錯誤類型為: 功能不正確或遺漏了功能; 界面錯誤; 數(shù)據(jù)結(jié)構(gòu)錯誤或外部數(shù)據(jù)庫訪問錯誤; 性能錯誤; 初始化和終止錯誤。 測試標(biāo)準(zhǔn): 測試用例盡可能少; 一個測試用例能指出一

26、類錯誤。 7.7.1 等價劃分(可能考) 等價劃分是一種黑盒測試技術(shù),把程序的輸入域劃分成若干個數(shù)據(jù)類,據(jù)此導(dǎo)出測試用例。 等價劃分法力圖設(shè)計出能發(fā)現(xiàn)若干類錯誤的測試用例,從而減少測試用例的數(shù)目。 每類中的一個典型值在測試中的作用與這一類中所有其他值的作用相同。 使用等價劃分法設(shè)計測試方案首先需要劃分輸入數(shù)據(jù)的等價類。 常常還需要分析輸出數(shù)據(jù)的等價類,以便根據(jù)輸出數(shù)據(jù)的等價類導(dǎo)出對應(yīng)的輸入數(shù)據(jù)等價類。 7.7.2 邊界值分析Ø 經(jīng)驗表明,處理邊界情況時程序最容易發(fā)生錯誤。例如,許多程序錯誤出現(xiàn)在下標(biāo)、純量、數(shù)據(jù)結(jié)構(gòu)和循環(huán)等等的邊界附近。Ø 使用邊界值分析方法設(shè)計測試方案首先

27、應(yīng)該確定邊界情況。選取的測試數(shù)據(jù)應(yīng)該剛好等于、剛剛小于和剛剛大于邊界值。Ø 通常設(shè)計測試方案時總是聯(lián)合使用等價劃分和邊界值分析兩種技術(shù)。 7.8 調(diào)試(名詞解釋) 調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。 軟件錯誤的外部表現(xiàn)和它的內(nèi)在原因之間可能并沒有明顯的了解。 調(diào)試就是把癥狀和原因了解起來的尚未被人深入認(rèn)識的智力過程。 7.8.2 調(diào)試途徑有3種調(diào)試途徑可以采用:蠻干法,回溯法,原因排除法 (填空) 蠻干法:蠻干法可能是尋找軟件錯誤原因的最低效的方法。其他方法都失敗時才使用這種方法。 這種方法印出內(nèi)存的內(nèi)容,激活對運行過程的跟蹤,在程序中到處都寫上WRITE(輸出)語句。更多情況

28、下只會浪費時間和精力。必須首先進(jìn)行周密的思考,有明確的目的,盡量減少無關(guān)信息的數(shù)量。原因排除法:對分查找法,歸納法,演繹法。(填空)歸納法:(名詞解釋) 是從個別現(xiàn)象推斷出一般性結(jié)論的思維方法。 首先把和錯誤有關(guān)的數(shù)據(jù)組織起來進(jìn)行分析,以便發(fā)現(xiàn)可能的錯誤原因。 然后導(dǎo)出對錯誤原因的一個或多個假設(shè),并利用已有的數(shù)據(jù)來證明或排除這些假設(shè)。演繹法:(名詞解釋) 從一般原理或前提出發(fā),經(jīng)過排除和精化的過程推導(dǎo)出結(jié)論。 首先設(shè)想出所有可能的出錯原因,然后試圖用測試來排除每一個假設(shè)的原因7.9 軟件可靠性7.9.1 基本概念軟件可靠性: 程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率。軟件的

29、可用性: 程序在給定的時間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率。 穩(wěn)態(tài)可用性Ass = 平均無故障時間MTTF/(平均無故障時間MTTF+平均維修時間MTTR) (可能選擇題)選擇:1 .軟件測試方法中,黑盒、白盒測試法是常用的方法,其中黑盒測試主要用于測試(B )。A.結(jié)構(gòu)合理性B.軟件外部功能C.程序正確性D.程序內(nèi)部邏輯2下面幾種白箱測試技術(shù),哪種是最強的覆蓋準(zhǔn)則(D )A語句覆蓋 B條件覆蓋 C判定覆蓋 D條件組合覆蓋第8章8.1 軟件維護(hù)的定義 所謂軟件維護(hù)就是在軟件已經(jīng)交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。 可分為4項活動: 改正性維護(hù) 適應(yīng)性維護(hù) 完善性

30、維護(hù) 預(yù)防性維護(hù) (看一下維護(hù)記錄)第九章9.1 面向?qū)ο蠓椒▽W(xué)概述 面向?qū)ο蠓椒▽W(xué)的出發(fā)點和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界解決問題的方法與過程。 也就是使描述問題的問題空間(也稱為問題域)與實現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。 面向?qū)ο蠓椒ň哂?個要點: 對象:客觀世界是由各種對象組成,任何事物都是對象,復(fù)雜的對象可以由簡單的對象以某種方式組合而成。對象分解取代功能分解。 類:把所有對象都劃分成各種對象類,每個對象類都定義了一組數(shù)據(jù)和一組方法。數(shù)據(jù)用于表示對象的靜態(tài)屬性,是對象的狀態(tài)信息。 繼承:按照子類(或稱為派生類)

31、與父類(或稱為基類)的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。 消息:對象之間僅能通過傳遞消息互相了解。對象是進(jìn)行處理的主體。9.4.1 類圖的基本符號1. 定義 3個區(qū)域分別放類的名字、屬性和服務(wù)。 下面兩個區(qū)域可省略9.4.2 表示關(guān)系的符號類與類之間的關(guān)系有: 關(guān)聯(lián) 表示兩個類的對象之間存在某種語義上的了解。 聚集 表示類與類之間的關(guān)系是整體與部分的關(guān)系。 泛化(繼承) 是通用元素和具體元素之間的一種分類關(guān)系 。 依賴和細(xì)化 依賴關(guān)系描述兩個模型元素之間的語義連接關(guān)系;細(xì)化關(guān)系描述不同抽象層次上的同一個事物。 類圖(class diagram)(可能綜合題)看書本或PPTa.捕獲系統(tǒng)的詞匯表b.在開發(fā)過程中被創(chuàng)建和

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論