2013軟件工程復(fù)習(xí)資料_第1頁
2013軟件工程復(fù)習(xí)資料_第2頁
2013軟件工程復(fù)習(xí)資料_第3頁
2013軟件工程復(fù)習(xí)資料_第4頁
2013軟件工程復(fù)習(xí)資料_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、.軟件危機(jī)定義:在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系列嚴(yán)重問題軟件危機(jī)產(chǎn)生的原因:一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟件開發(fā)和維護(hù)的方法不正確有關(guān)軟件工程的定義:采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法 發(fā)出高質(zhì)量的軟件并有效地維護(hù)它。軟件工程學(xué)方法包含的要素:方法、工具、過程方法:是完成軟件開發(fā)的各項(xiàng)任務(wù)的技術(shù)方法,回答“怎樣做”的問題工具:是為運(yùn)用方法而提供的自動的或半自動的軟件工程支撐環(huán)境過程:是為了獲得高質(zhì)量的軟件所需要完成的一系列任務(wù)的框架,它規(guī)定了完成各項(xiàng)任務(wù)的工作步驟軟件過程中有哪些模型:瀑布模

2、型、快速原型模型、增量模型、螺旋模型、噴泉模型瀑布模型特點(diǎn):1.階段間具有順序性和依賴性推遲實(shí)現(xiàn)的觀點(diǎn)質(zhì)量保證的觀點(diǎn)適用于目標(biāo)系統(tǒng)實(shí)現(xiàn)了解較清楚的工程軟件開發(fā)優(yōu)點(diǎn):1.可強(qiáng)迫開發(fā)人員用規(guī)范的方法嚴(yán)格規(guī)定了每個階段必須提交的文檔每個階段交出的產(chǎn)品要經(jīng)過驗(yàn)證缺點(diǎn):1.是文檔驅(qū)動模型可能不能滿足用戶需求.快速原型模型特點(diǎn):1.不帶反饋環(huán)2.線性順序進(jìn)行的3.適用于需求不確定的系統(tǒng)增量模型特點(diǎn):1.能在較短的時間向用戶提交可完成的部分產(chǎn)品逐步增加產(chǎn)品功能可以是用戶有交充裕的時間學(xué)習(xí)和適應(yīng)新產(chǎn)品適用于需求不確定的系統(tǒng)螺旋模型特點(diǎn):1.對可選方案和約束條件的強(qiáng)調(diào)有利于已有軟件的重用,也有助于把軟件質(zhì)量作為

3、軟件開發(fā)的一個重要目標(biāo)減少了過多測試或測試不足所帶來的風(fēng)險(xiǎn)維護(hù)只是模型的另一個周期,在維護(hù)和開發(fā)之間沒有本質(zhì)區(qū)別適用于內(nèi)部開發(fā)的大規(guī)模軟件項(xiàng)目缺點(diǎn):風(fēng)險(xiǎn)驅(qū)動的噴泉模型特點(diǎn):體現(xiàn)了面向?qū)ο筌浖_發(fā)過程迭代和無縫的特性軟件工程方法學(xué):分別是傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型面向?qū)ο蠓椒▽W(xué):把對象作為融合了數(shù)據(jù)及在數(shù)據(jù)上的操作行為的統(tǒng)一的軟件構(gòu)件把所有對象都劃分成類按照父類(或稱為基類)與子類(或稱為派生類)的關(guān)系,把若干個相關(guān)類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。對象彼此間僅能通過發(fā)送消息互相聯(lián)系。軟件生命周期:由軟件定義,軟件開發(fā),運(yùn)行維護(hù)組成。面向?qū)ο蠓椒?/p>

4、=對象+類+繼承+用消息通信第二章:可行性研究的目的:用最小的代價在盡可能短的時間內(nèi)確定問題是否值得去解決應(yīng)從哪方面研究可行性:1.技術(shù)可行性2.經(jīng)濟(jì)可行性3.操作可行性如何畫系統(tǒng)流程圖? P27P30系統(tǒng)流程圖:是概括的描繪物理系統(tǒng)的傳統(tǒng)工具,表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流動的情況,而不是對數(shù)據(jù)加工處理的控制過程,因此盡管系 程序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流程圖而不是程序流程圖。數(shù)據(jù)流圖定義:是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動到輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流程圖中沒有任何具體的物理部件,它只 描繪數(shù)據(jù)在軟件中流動和被處理的邏輯過程。數(shù)據(jù)流圖的四種基本符號:矩形框

5、、單或雙杠、圓或橢圓、箭頭數(shù)據(jù)流圖的四種基本成分:數(shù)據(jù)源點(diǎn)或終點(diǎn)、數(shù)據(jù)存儲、處理、數(shù)據(jù)流數(shù)據(jù)字典定義:是關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合數(shù)據(jù)字典的組成:數(shù)據(jù)流、數(shù)據(jù)流分量、數(shù)據(jù)存儲、處理數(shù)據(jù)字典中的定義就是對數(shù)據(jù)自頂向下的分解由數(shù)據(jù)元素組成數(shù)據(jù)的方式:順序、選擇、重復(fù)、可選數(shù)據(jù)字典的用途:1.作為分析階段的工具2.是開發(fā)數(shù)據(jù)庫的第一步數(shù)據(jù)字典很容易估計(jì)改變一個數(shù)據(jù)將產(chǎn)生的影響,并且能對所有受影響的程序或模塊作出相應(yīng)的改變用數(shù)據(jù)字典方法描述的電話號碼例子:北京某高??捎玫碾娫捥柎a有以下幾類:校內(nèi)電話號碼由4位數(shù)字組成,第1位數(shù)字不是0;校外電話又分為本市電話和外

6、地電話兩類,撥校外電話需先撥0,若是本市電話則再接著撥8位數(shù)字(第1位不是0),若是外地電話則撥3位區(qū)碼再撥8位電話號碼(第1位不是0)。電話號碼=校內(nèi)電話號碼|校外電話號碼校內(nèi)電話號碼=非零數(shù)字+ 3位數(shù)字后面繼續(xù)定義校外電話號碼=本市號碼|外地號碼 本市號碼=數(shù)字零+8位數(shù)字外地號碼=數(shù)字零+3位數(shù)字+8位數(shù)字非零數(shù)字=1|2|3|4|5|6|7|8|9數(shù)字零=03位數(shù)字=3數(shù)字3 /3至3個數(shù)字 8位數(shù)字=非零數(shù)字+7位數(shù)字 7位數(shù)字=7數(shù)字7數(shù)字=0|1|2|3|4|5|6|7|8|9IM V 1 I 八 :兀!二!偵J JL/J /Ju. pq Jl-I ,久 T*運(yùn)行的費(fèi)用取決于系

7、統(tǒng)操作費(fèi)用和維護(hù)費(fèi)用成本/效益分析的方法:1.貨幣的時間價值2.投資回收期3.純收入4.投資會收率第三章:需求分析的基本任務(wù):準(zhǔn)確的回答“系統(tǒng)必須做什么”這個問題需求分析的任務(wù):1.確定對系統(tǒng)的綜合要求分析系統(tǒng)的數(shù)據(jù)要求導(dǎo)出系統(tǒng)的邏輯模型修正系統(tǒng)開發(fā)計(jì)劃確定對系統(tǒng)的綜合需求:1.功能需求2.性能需求3.可靠性需求4.出錯處理需求5.接口需求6.約束7.逆向需求8.將來可能提出的要求從哪些方面驗(yàn)證軟件需求?至少應(yīng)該從一致性、完整性、現(xiàn)實(shí)性和有效性等4個方面驗(yàn)證軟件需求的正確性,其中完整性和有效性這兩個方面的正確 性必須有用戶的積極參與才能驗(yàn)證,而且為了驗(yàn)證這兩個方面的正確性往往需要開發(fā)原型系統(tǒng)。

8、結(jié)構(gòu)化分析方法就是面向數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方法。什么是模型:就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形符號和組織這些符號的規(guī)則組成。需求分析過程應(yīng)建立的3種模型:數(shù)據(jù)模型(實(shí)體-聯(lián)系圖(E-R圖)、功能模型(數(shù)據(jù)流圖)、行為模型(狀態(tài)轉(zhuǎn)換圖是行為模型的基礎(chǔ))其他:層次方框圖、Warnier圖、IPO圖概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)區(qū)別:概要設(shè)計(jì)的主要任務(wù)是,通過仔細(xì)分析軟件規(guī)格說明,適當(dāng)?shù)貙浖M(jìn)行功能分解,從而把軟件劃分為模塊,并且設(shè)計(jì)出 完成預(yù)定功能的模塊結(jié)構(gòu)。第四章:軟件工程使用的方法:非形式化、半形式化、形式化非形式化定義:用自然語

9、言描述需求規(guī)格說明缺點(diǎn):矛盾、二義性、含糊性、不完整性、抽象性半形式化定義:用數(shù)據(jù)流圖或?qū)嶓w一聯(lián)系圖建立模型形式化定義:描述系統(tǒng)性質(zhì)的基于數(shù)學(xué)的技術(shù)優(yōu)點(diǎn):1.簡潔準(zhǔn)確的描述物理現(xiàn)象、對象或動作的結(jié)果可以在不同的軟件工程活動之間平滑的過渡提供了高層確認(rèn)的手段有窮狀態(tài)機(jī)P67P72有窮狀態(tài)機(jī)包含5個部分:狀態(tài)集、輸入集女由當(dāng)前狀態(tài)和當(dāng)前輸入確定下一個狀態(tài)的轉(zhuǎn)換函數(shù)T、初始態(tài)S、終態(tài)FPeri 網(wǎng)技術(shù) P72P75Petri網(wǎng)用于確定系統(tǒng)中隱含的定時問題Petri網(wǎng)包含的四種元素:一組位置P、一組轉(zhuǎn)換丁、輸入函數(shù)I、輸出函數(shù)O當(dāng)每個輸入位置所擁有的權(quán)標(biāo)數(shù)大于等于從該位置到轉(zhuǎn)換的線數(shù)時就允許轉(zhuǎn)換Pet

10、ri網(wǎng)的一個重要擴(kuò)充是加入禁止線,禁止線是用一個小圓圈而不是箭頭標(biāo)記的輸入線,當(dāng)每個輸入線上至少有一個權(quán)標(biāo)而禁止線上沒有權(quán)標(biāo)的時候,相應(yīng)的轉(zhuǎn)換才是允許的第五章:總體設(shè)計(jì)一般有哪兩個主要階段組成:系統(tǒng)設(shè)計(jì)階段(確定系統(tǒng)的具體實(shí)現(xiàn)方案)、結(jié)構(gòu)設(shè)計(jì)階段(確定軟件結(jié)構(gòu))總體設(shè)計(jì)階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成預(yù)定的任務(wù),也就是說,應(yīng)該確定系統(tǒng)的物理配置方案。并且進(jìn)而確定組成系統(tǒng) 的每個程序的結(jié)構(gòu)。什么是模塊化:把程序劃分成獨(dú)立命名且可獨(dú)立訪問的模塊,每個模塊完成一個子功能,把這些模塊集成起來構(gòu)成一個整體,可以完成指定的功能滿足用戶的需求模塊三個基本屬性:功能即指該模塊實(shí)現(xiàn)什么功能,

11、做什么事情。必須注意:模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。邏輯即描述模塊內(nèi)部怎么做。狀態(tài) 即該模塊使用時的環(huán)境和條件。啟發(fā)規(guī)則有哪些:1.改進(jìn)軟件結(jié)構(gòu)提高模塊獨(dú)立性模塊規(guī)模應(yīng)該適中深度、寬度、扇出和扇入都應(yīng)該適當(dāng)模塊的作用域應(yīng)該在控制域之內(nèi)力爭降低模塊接口的復(fù)雜程度設(shè)計(jì)單入口單出口的模塊模塊功能應(yīng)該可以預(yù)測描繪軟件結(jié)構(gòu)的圖形工具:層次圖、HIPO圖、結(jié)構(gòu)圖面向數(shù)據(jù)流的設(shè)計(jì)方法P95P102信息流的兩種類型:變換流、事物流什么模塊獨(dú)立?模塊獨(dú)立是指開發(fā)具有獨(dú)立功能且和其他模塊沒有過多的相互作用的模塊。模塊獨(dú)立的概念是模塊化,抽象、信息隱藏和局部化概念的直接結(jié)果。為什么模

12、塊獨(dú)立性很重要:1.有效的模塊化的軟件比較容易開發(fā)出來2.獨(dú)立的模塊化比較容易測試和維護(hù) 模塊是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說明,可執(zhí)行的語句)的序列。模塊并不是越多越好,隨著模塊數(shù)目的增多,接口成本會增多,4 模塊數(shù)量控制在M區(qū)時,軟件的成本最低。模塊化就是將系統(tǒng)劃分為若干個模塊,每個模塊完成一個子功能。模塊化的目的是將系統(tǒng)“分而治之”,模塊化能夠降低問題,、,所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。即功能專一,模塊之間無過多的相互作用的模塊。這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越容易。獨(dú)立性強(qiáng)的模塊

13、,還能減少錯誤 的影響,使模塊容易組合、修改及測試。模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個定性準(zhǔn)則:(模塊獨(dú)立度量準(zhǔn)則是什么:內(nèi)聚和耦合)耦合性 用于描述模塊之間聯(lián)系的緊密程度。耦合分為:數(shù)據(jù)耦合、控制耦合、特征耦合、公共環(huán)境耦合、內(nèi)容耦合內(nèi)聚性 用于描述模塊內(nèi)部聯(lián)系的緊密程度。內(nèi)聚分為:偶然內(nèi)聚、邏輯內(nèi)聚、時間內(nèi)聚、過程內(nèi)聚、通信內(nèi)聚、順序內(nèi)聚、功能內(nèi)聚模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和低耦合度。變換分析設(shè)計(jì):把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。不具有顯著的事務(wù)特點(diǎn)。雖然在任何情況下都可以使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但是在數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時,也就是有一個明顯的“發(fā)

14、射中心”(事務(wù)中心)時,還是以采用事務(wù)分析方法為宜。兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同描繪軟件結(jié)構(gòu)的圖形工具有哪些?描繪軟件結(jié)構(gòu)的圖形工具有層次圖、HIPO圖,結(jié)構(gòu)圖。面向數(shù)據(jù)流的設(shè)計(jì)方法。面向數(shù)據(jù)流的設(shè)計(jì)方法的目標(biāo)是給出設(shè)計(jì)軟件結(jié)構(gòu)的一個系統(tǒng)化的途徑。概念:面向數(shù)據(jù)流的設(shè)計(jì)方法把信息流映射成軟件結(jié)構(gòu),信息流的類型決定了映射的方法。信息流有兩種類型:變換流,事務(wù)流。自頂向下逐步求精是進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)的常用途徑。深度表示軟件結(jié)構(gòu)中控制的層數(shù),它往往能粗略的標(biāo)志一個系統(tǒng)的大小和復(fù)雜程度。寬度是軟件結(jié)構(gòu)內(nèi)同一個層次上的模塊總數(shù)的最大值。扇出是一個模塊直接控制(調(diào)用)的模塊數(shù)目。扇

15、入:能直接控制該模塊的模塊數(shù)。一個模塊的扇入表明有多少個上級模塊直接調(diào)用它。作用域:該模塊內(nèi)一個判定影響的所有模塊的集合??刂朴颍哼@個模塊本身及所有直接或間接從屬于它的模塊的集合設(shè)計(jì)的很好的軟件結(jié)構(gòu)通常頂層扇出比較高,中層扇出比較少,底層扇入到公共的實(shí)用模塊中去(底層模塊有高扇出)第六章:結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義:如果一個程序的代碼僅僅通過順序,選擇和循環(huán)這3種基本結(jié)構(gòu)進(jìn)行連接,并且每個代碼塊只有一個入口和一個出口,則稱 程序設(shè)計(jì)中有哪幾種基本控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 了解人機(jī)界面的設(shè)計(jì)。人機(jī)界面設(shè)計(jì)的問題:1.系統(tǒng)響應(yīng)時間、2.用戶幫助設(shè)施、3.出錯信息處理、4.命令行交互人機(jī)界

16、面設(shè)計(jì)指南分為:一般交互指南、信息顯示指南、數(shù)據(jù)輸入指南掌握過程設(shè)計(jì)的工具(程序流程圖、盒圖、PAD圖,判定樹)P114-P119過程設(shè)計(jì)的工具:程序流程圖、盒圖(N-S圖)、PAD圖、判定表、判定樹過程設(shè)計(jì)工具:描述程序處理過程的工具程序流程圖優(yōu)點(diǎn):對控制流程的描繪很直觀,便于初學(xué)者掌握缺點(diǎn):1.程序流程圖本質(zhì)上是不能逐步求精的好工具,它誘使程序員過早地考慮程序的控制流程,而不去考慮程序的全局結(jié)構(gòu)程序流程圖用箭頭代表控制流,程序員不受約束,可以隨意轉(zhuǎn)移控制不易表示數(shù)據(jù)結(jié)構(gòu)盒圖特點(diǎn):1.功能域明確,可以從盒圖上一眼就看出來不可能任意轉(zhuǎn)移控制很容易確定局部和全教程的作用域很容易表現(xiàn)嵌套關(guān)系,也可

17、以表示模塊的層次結(jié)構(gòu)判定樹的優(yōu)點(diǎn):形式簡單到不需要任何說明,一眼就可以看出含義,易于掌握和使用面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(Jackson圖)(順序結(jié)構(gòu),選擇結(jié)構(gòu),重復(fù)結(jié)構(gòu))程序復(fù)雜度的定量度量(McCabe)程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表達(dá)工具之一,能夠有效地描述問題求解過程中的程序邏輯結(jié)構(gòu)。N-S圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計(jì)而由Nassi和Shneiderman共同提出的一種圖形工具。在N-S圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表達(dá)結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。定量度量程序復(fù)雜程度的方法很有價值:把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟件中錯誤的數(shù)量以及軟件

18、開發(fā)需要用的工作量,定量度量的結(jié)果可以用來比較兩個不同的設(shè)計(jì)或兩個不同算法的優(yōu)劣;程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精確限度。McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。所謂流圖實(shí)質(zhì)上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計(jì)算環(huán)形復(fù)雜度。(1)流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。(2)流圖G的環(huán)形復(fù)雜度V(G)=E-N

19、+2,其中,E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù)。(3)流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點(diǎn)的數(shù)目。第七章:實(shí)現(xiàn)=編碼+測試編碼:把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序語言書寫的程序。測試:軟件測試的目的是在軟件投入生產(chǎn)性運(yùn)行前,盡可能多的發(fā)現(xiàn)軟件中的錯誤。軟件測試(定義/目標(biāo)):1、測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。2、好的測試方案是極可能搭線迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案3、成功的測試是為了發(fā)現(xiàn)至今為止尚未發(fā)現(xiàn)的錯誤的測試軟件測試的準(zhǔn)則:盡早和不斷的測試、徹底測試的不可能、軟件測試是有風(fēng)險(xiǎn)的行為、并非所有的軟件錯誤都能恢復(fù)、反向思維邏輯、由小到大的測、 測試方法:黑盒

20、測試和白盒測試測試步驟:模塊測試、子系統(tǒng)測試、系統(tǒng)測試、驗(yàn)收測試、平行運(yùn)行單元測試(模塊測試)測試內(nèi)容:1、模塊接口測試I/O參數(shù)值的個數(shù)、類型、次序、格式是否正確,I/O文件屬性、操作是否正確等。2、局部數(shù)據(jù)結(jié)構(gòu)測試數(shù)據(jù)說明是否正確、一致,變量及其初值定義是否正確等。3、重要路徑測試(重要的執(zhí)行通路)重要路徑通常是指完成模塊功能的主要路徑,一般是控制結(jié)構(gòu)。4、錯誤處理測試檢查“錯誤處理程序”本身的錯誤。5、邊界條件測試邊界條件常包括循環(huán)邊界,最大最小值、控制流中等于、大于、小于的比較值等。白盒測試技術(shù):白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按照不同覆蓋標(biāo)準(zhǔn)確定的。白盒法常用的覆蓋標(biāo)準(zhǔn):語

21、句覆蓋:選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。判定覆蓋:執(zhí)行足夠的測試用例,使得程序中每個判定至少都獲得一次“真”值和“假”值。條件覆蓋:執(zhí)行足夠的測試用例,使得判定中的每個條件獲得各種可能的結(jié)果。判定/條件覆蓋:執(zhí)行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能的結(jié)果。條件組合覆蓋:執(zhí)行足夠的例子,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。黑盒測試技術(shù):不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測試用例。1、等價劃分基本思想:根據(jù)程序的I/O特性,將程序的定義域劃分為有限個等價區(qū)段一“等價類”,從等價類中選擇出的用例

22、,具有“代表性”。等價類分為:有效等價類一對于程序的規(guī)格說明是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價類一對于程序的規(guī)格說明,是不合理的,是沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。2、邊界值分析基本思想:選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用例既考慮輸入亦考慮輸出。分析步驟:A、先劃分等價類B、選擇測試用例,測試等價類邊界。邊界選擇原則:A、按照輸入值范圍的邊界。B、按照輸入/輸出值個數(shù)的邊界。C、輸出值域的邊界。、輸入/輸出有序集的邊界。3、錯誤推測錯誤推測法的概念:憑經(jīng)驗(yàn)或直覺推測可能的錯誤,列出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,選擇測試用例。錯誤推測

23、方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。調(diào)試:(也稱為糾錯)作為成功測試的后果出現(xiàn),也就是說,調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。調(diào)試途徑:蠻干法、回溯法、原因排除法軟件可靠性的定義:軟件可靠性是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率軟件可用性的定義:軟件可用性是程序在給定的時間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。第八章軟件維護(hù):是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需求而修改軟件的過程。軟件維護(hù)的分類:按照不同的維護(hù)目的,維護(hù)工作可分成4類。完善性維護(hù):擴(kuò)充原有系統(tǒng)的功能,提高原有系統(tǒng)的性能,滿足

24、用戶的實(shí)際需要。糾錯性維護(hù):對在測試階段未能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯誤的測試、診斷、定位、糾錯以及驗(yàn)證、修改的回歸測試過程。適應(yīng)性維護(hù):要使運(yùn)行的軟件能適應(yīng)運(yùn)行環(huán)境的變動而修改軟件的過程。預(yù)防性維護(hù):為了進(jìn)一步改善軟件的可靠性和易維護(hù)性,或者為將來的維護(hù)奠定更好的基礎(chǔ)而對軟件進(jìn)行修改。軟件維護(hù)過程中維護(hù)組織包括的人員:維護(hù)管理員,系統(tǒng)管理員,變化授權(quán)人決定軟件的可維護(hù)性的因素:1可理解性2可測試性3可修改性4可移植性5可重用性軟件的可維護(hù)性的定義:維護(hù)人員理解、改正、改動或改進(jìn)這個軟件的難易程度。重用:同一事物不做修改或稍加改動就在不同環(huán)境中多次重復(fù)使用。提高可維護(hù)性是支配軟

25、件工程方法學(xué)所有步驟的關(guān)鍵目標(biāo)。第九章面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界解決問題的方法與過程, 也就是使描述問題的問題空間(也稱為問題域)與實(shí)現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。認(rèn)為客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜的對象可以由比較簡單的對象以某種方式組合而成。把所有對象都劃分成各種對象類(簡稱為類,class),每個對象類都定義了一組數(shù)據(jù)和一組方法。按照子類(或稱為派生類)與父類(或稱為基類)的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。對象彼此之間僅能通過傳遞消息互相聯(lián)

26、系。面向?qū)ο螅壕褪羌仁褂脤ο笥质褂妙惡屠^承等機(jī)制,而且對象之間僅能通過傳遞消息實(shí)現(xiàn)彼此通信。面向?qū)ο蠼<夹g(shù)所建立的3種模型,分別從3個不同側(cè)面描述了所要開發(fā)的系統(tǒng)。這3種模型相互補(bǔ)充、相互配合,使得我們對系統(tǒng)的認(rèn)識更加全面:功能模型指明了系統(tǒng)應(yīng)該“做什么”;動態(tài)模型明確規(guī)定了什么時候(即在何種狀態(tài)下接受了什么事件的觸發(fā))做;對象模型則定義了做事情的實(shí)體。在面向?qū)ο蠓椒▽W(xué)中,對象模型是最基本最重要的,它為其他兩種模型奠定了基礎(chǔ),我們依靠對象模型完成3種模型的集成。面向?qū)ο蠼J敲嫦驅(qū)ο蠓治龅年P(guān)鍵。面向?qū)ο蟮哪P桶ǎ簩ο竽P汀討B(tài)模型和功能模型。,1KL_T|_|J、 XHJO動態(tài)模型描述了系統(tǒng)的互交次序;功能模型描述了系統(tǒng)的數(shù)據(jù)變換。無論解決什么問題,首先要在問題域中提取和定義出對象模型。當(dāng)問題涉及用戶界與過程控制時,動態(tài)模型是重點(diǎn)。如果問題涉及大量數(shù)據(jù)變換, 則功能模型非常重要。對象模型中的操作(服務(wù))可以出現(xiàn)在動態(tài)模型和功能模型內(nèi)。面向?qū)ο蠓治龅?個層次:主題層、類與對象層、結(jié)構(gòu)層、屬性層和服務(wù)層面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則:模塊化、抽象、信息隱藏、弱耦合、強(qiáng)內(nèi)聚、可重用重用(再用或復(fù)用):是指同一事物不作修改或稍加改動就多次

溫馨提示

  • 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

提交評論