




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件工程導論全冊配套軟件工程導論全冊配套復習重點課件復習重點課件考試題型一、單項選擇題(10個小題,共20分)二、填空題(10個小題,共20分)三、簡答題(4個小題,共20分)五、綜合題綜合題 (4個小題,共40分)軟件工程課程的內(nèi)容軟件工程課程的內(nèi)容軟件工程學概述軟件工程學概述結(jié)構(gòu)化方法學結(jié)構(gòu)化方法學(生命周期方法學)(生命周期方法學)面向?qū)ο蠓椒▽W面向?qū)ο蠓椒▽W軟件項目管理軟件項目管理可行性研究可行性研究需求分析需求分析形式化說明技術(shù)形式化說明技術(shù)總體設(shè)計總體設(shè)計詳細設(shè)計詳細設(shè)計實現(xiàn)實現(xiàn)維護維護面向?qū)ο蠓椒▽W引論面向?qū)ο蠓椒▽W引論面向?qū)ο蠓治雒嫦驅(qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計面向?qū)ο笤O(shè)計面向?qū)ο髮崿F(xiàn)
2、面向?qū)ο髮崿F(xiàn)第1章 軟件工程學概述 重點: 1.產(chǎn)生軟件危機的原因 2.消除軟件危機的途徑 3.軟件工程的基本原理 4.軟件生命周期的三個時期和八個階段 5.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型 復習要點: 1.軟件生命周期的3個時期、8個階段 2.軟件工程方法學:傳統(tǒng)方法學和面向?qū)ο蠓椒▽W 3.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型第2章 可行性研究 重點 1.畫系統(tǒng)流程圖的方法 2.畫數(shù)據(jù)流圖的方法 3.數(shù)據(jù)字典的用途 4.數(shù)據(jù)字典的實現(xiàn) 復習要點 1.可行性研究主要研究系統(tǒng)的哪些可行性? 2.掌握數(shù)據(jù)流圖的畫法 3.數(shù)據(jù)流圖與程序流程圖的區(qū)別第3章
3、需求分析 重點 1.需求分析的任務(wù) 2.獲取需求的方法 3.分析建模 4.實體-聯(lián)系圖 復習要點 1.需求分析的基本任務(wù)是分析系統(tǒng)做什么,確定系統(tǒng)的邏輯功能。 2.需求分析階段建立3種模型:數(shù)據(jù)模型、功能模型、行為模型。 3.掌握實體-聯(lián)系圖(E-R圖)的畫法。第5章 總體設(shè)計 重點 1. 設(shè)計原理:模塊化 、模塊獨立 2. 面向數(shù)據(jù)流的設(shè)計方法 復習要點 1. 模塊獨立的兩個定性標準度量:內(nèi)聚和耦合。 2. 面向數(shù)據(jù)流的設(shè)計方法第6章 詳細設(shè)計 重點 1.結(jié)構(gòu)程序設(shè)計 2.過程設(shè)計的工具:程序流程圖 、N-S圖 、判定表 復習要點 1.程序的基本控制結(jié)構(gòu)有哪些? 2.程序流程圖和N-S圖(盒
4、圖)的基本符號 3.會畫程序流程圖、N-S圖和判定表、判定樹第7章 實現(xiàn) 重點 1.編碼風格 2.測試步驟 3.Alpha和Beta測試 4.白盒測試:邏輯覆蓋 5.黑盒測試:等價劃分 6.調(diào)試途徑 復習要點 1.測試的目的、任務(wù)及分類(黑盒測試和白盒測試) 2. Alpha和Beta測試 3.掌握邏輯覆蓋法 4.掌握等價劃分法和邊界值分析法第8章 維護 重點 1.軟件維護的定義 2.軟件維護的類型 3.軟件維護的過程 4.決定軟件可維護性的因素 復習要點 1.軟件維護:改正性維護、適應(yīng)性維護、完善性維護、預防性維護 2.決定軟件可維護性的因素:可理解性、可測試性、可修改性、可移植性、可重用性
5、第9章 面向?qū)ο蠓椒▽W引論 重點 1.面向?qū)ο蠓椒▽W與結(jié)構(gòu)化方法學的區(qū)別 2.面向?qū)ο蟮幕靖拍睿簩ο笈c類 3.面向?qū)ο蠼5娜N模型:對象模型、動態(tài)模型、功能模型 4.用例圖 5.三種模型之間的關(guān)系 復習要點 1.面向?qū)ο蠓椒▽W與結(jié)構(gòu)化方法學的區(qū)別 2.面向?qū)ο蠓椒▽W及意義 3.面向?qū)ο蠼5娜N模型及三種模型之間的關(guān)系 4.面向?qū)ο蠓椒▽W的優(yōu)點第10章 面向?qū)ο蠓治?重點 1.建立對象模型:確定類與對象 、確定關(guān)聯(lián) 2.建立動態(tài)模型:編寫腳本 、畫事件跟蹤圖 、畫狀態(tài)圖 3.建立功能模型:畫基本系統(tǒng)模型 、畫功能級數(shù)據(jù)流圖 復習要點 1.建立對象模型、動態(tài)模型、功能模型 2.動態(tài)模型和功能
6、模型中包含了對象模型中的操作(即服務(wù)或方法) 3.面向?qū)ο蠓治龅氖滓ぷ魇墙栴}域的對象模型。第11章 面向?qū)ο笤O(shè)計 重點 1.啟發(fā)規(guī)則 2.設(shè)計數(shù)據(jù)管理子系統(tǒng) 3.確定類中應(yīng)用的服務(wù) 4.設(shè)計實現(xiàn)服務(wù)的方法 復習要點 1.面向?qū)ο笤O(shè)計準則有哪些? 2.數(shù)據(jù)存儲管理模式有哪些? 3.需要綜合考慮對象模型、動態(tài)模型和功能模型,才能正確確定類中應(yīng)用的服務(wù)。 4.設(shè)計實現(xiàn)服務(wù)的方法第12章 面向?qū)ο髮崿F(xiàn) 重點 1.提高可重用性的方法 2.測試類的方法 復習要點 1.面向?qū)ο髮崿F(xiàn)包括哪兩項工作? 2.提高可重用性的方法有哪些? 3.測試類的方法有哪些?第第1 1章章 軟件工程學概述軟件工程學概述1
7、1、什么是軟件危機?、什么是軟件危機?P1P12 2、軟件危機產(chǎn)生的原因有哪些?、軟件危機產(chǎn)生的原因有哪些?P3P33 3、什么是軟件工程?、什么是軟件工程?P5P54 4、軟件工程方法學包含哪些要素?、軟件工程方法學包含哪些要素?P9P95 5、在軟件過程中有哪些模型?他們各自的特點、在軟件過程中有哪些模型?他們各自的特點是哪些?是哪些?P15P15P22P22第第2 2章章 可行性研究可行性研究1 1、可行性研究的目的是什么?P252、應(yīng)從哪些方面研究可行性?P253、如何畫系統(tǒng)流程圖?P27P304、如何畫數(shù)據(jù)流圖?P30P375、了解數(shù)據(jù)字典及成本效益分析。數(shù)據(jù)流圖數(shù)據(jù)流圖(Data
8、Flow DiagramData Flow Diagram,DFDDFD)是描述系統(tǒng)中數(shù)據(jù)流)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以程的圖形工具,它標識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。2.42.4數(shù)據(jù)流圖數(shù)據(jù)流圖數(shù)據(jù)存儲數(shù)據(jù)存儲數(shù)據(jù)源點數(shù)據(jù)源點或終點或終點處處 理理加工名數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流名文件名實體名箭箭 頭頭圓或橢圓圓或橢圓單或雙杠單或雙杠矩形框矩形框還有一些輔助的圖例還有一些輔助的圖例: :一、數(shù)據(jù)流圖的圖符一、數(shù)據(jù)流圖的圖符四種基本圖形符號:四種基本圖形符號:TAB*
9、CTAB*CTAB+CTAB+CTABC+TABC+* 與與 + 或或互斥+2.42.4數(shù)據(jù)流圖數(shù)據(jù)流圖舉例:舉例:儲戶儲戶1記錄存款信息打印存款信息存款單存款信息存款存單3計算利息4打印利息清單存款信息利息值利息清單D1存款信息存款信息2第第3 3章章 需求分析需求分析1 1、需求分析的基本任務(wù)是什么?、需求分析的基本任務(wù)是什么?P46-P48P46-P482 2、分析建模、分析建模 2.1什么是模型?什么是模型? 模型:就是為了理解事物而對事物做出的一種模型:就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形抽象,是對事物的一種無歧義的書面描述。通
10、常,模型由一組圖形符號和組織這些符號的規(guī)則組成。符號和組織這些符號的規(guī)則組成。 2.22.2數(shù)據(jù)模型(數(shù)據(jù)模型(E-RE-R)、)、 功能模型(功能模型(2.42.4節(jié)數(shù)據(jù)流圖)、節(jié)數(shù)據(jù)流圖)、 行為模型行為模型(狀態(tài)轉(zhuǎn)換圖是行為模型的基礎(chǔ))(狀態(tài)轉(zhuǎn)換圖是行為模型的基礎(chǔ))3 3、要從哪些方面驗證軟件需求?、要從哪些方面驗證軟件需求?P60P60第第4 4章章 形式化說明技術(shù)形式化說明技術(shù)軟件工軟件工程的使程的使用方法用方法非形式化:用自然語言描述需求規(guī)格說明非形式化:用自然語言描述需求規(guī)格說明半形式化:用數(shù)據(jù)流圖或?qū)嶓w半形式化:用數(shù)據(jù)流圖或?qū)嶓w聯(lián)系圖聯(lián)系圖建立模型建立模型形式化:描述系統(tǒng)性質(zhì)的
11、基于數(shù)學的技術(shù)形式化:描述系統(tǒng)性質(zhì)的基于數(shù)學的技術(shù)1、有窮狀態(tài)機P67P722、Petri網(wǎng)技術(shù)P72P751、在設(shè)計過程中,總體設(shè)計一般有哪兩個主要階段組成?P812、什么模塊化?模塊獨立性包含哪些內(nèi)容?度量準則是什么?P85P893、啟發(fā)規(guī)則有哪些?P90P924、描繪軟件結(jié)構(gòu)的圖形工具P92-P945、面向數(shù)據(jù)流的設(shè)計方法P95P1025.25.2設(shè)計原理設(shè)計原理u 模塊是程序?qū)ο笥忻值募侠?,過程、函數(shù)、子程序、宏等,是構(gòu)成軟件系統(tǒng)結(jié)構(gòu)的基本元素。u 模塊化就是將系統(tǒng)劃分為若干個模塊,每個模塊完成一個子功能模塊化的目的是將系統(tǒng)“分而治之”,模塊化能夠降低問題的復雜性,使軟件結(jié)構(gòu)清晰
12、,易閱讀、易理解,易于測試和調(diào)試,因而也有助于提高軟件的可靠性。5.2.55.2.5模塊獨立模塊獨立 “模塊模塊”,又稱,又稱“構(gòu)件構(gòu)件”,一般指用一個名字可調(diào)用的一段程,一般指用一個名字可調(diào)用的一段程序。它一般具有如下三個基本屬性:序。它一般具有如下三個基本屬性:功能功能 即指該模塊實現(xiàn)什么功能,做什么事情。必須注意:模塊即指該模塊實現(xiàn)什么功能,做什么事情。必須注意:模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。邏輯邏輯 即描述模塊內(nèi)部怎么做。即描述模塊內(nèi)部怎么做。狀態(tài)狀態(tài) 即該模塊使用時的環(huán)境和條件。即該模塊使用時的
13、環(huán)境和條件。所謂模塊的獨立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要所謂模塊的獨立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。即功能專一,模塊之間無過多的相互作用的模塊。即功能專一,模塊之間無過多的相互作用的模塊。這種類型的模塊可以并行開發(fā),模塊獨立性越強,開發(fā)越容這種類型的模塊可以并行開發(fā),模塊獨立性越強,開發(fā)越容易。獨立性強的模塊,還能減少錯誤的影響,使模塊容易組合、易。獨立性強的模塊,還能減少錯誤的影響,使模塊容易組合、修改及測試。修改及測試。5.2.5 5.2.5 模塊獨立性模塊獨立性
14、模塊獨立性的度量標準是兩個定性準則:模塊獨立性的度量標準是兩個定性準則: 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。 用于描述模塊內(nèi)部聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。 模塊獨立性比較強的模塊應(yīng)該是具有高內(nèi)聚性和的低耦模塊獨立性比較強的模塊應(yīng)該是具有高內(nèi)聚性和的低耦合度。合度。 變換中心變換輸入輸出圖圖5.8 變換型數(shù)據(jù)流圖的基本模型變換型數(shù)據(jù)流圖的基本模型 圖 事務(wù)型數(shù)據(jù)流圖的基本模型事務(wù)中心輸入流接收路徑加工路徑l變換分析設(shè)計:把具有變換流特點的數(shù)據(jù)流圖按預先確定的模變換分析設(shè)計:把具有變換流特點的數(shù)據(jù)流圖按預先確定的模式映射成軟件結(jié)構(gòu)式映射成軟件結(jié)構(gòu)。
15、不具有顯著的事務(wù)特點不具有顯著的事務(wù)特點。l雖然在任何情況下都可以使用變換分析方法設(shè)計軟件結(jié)構(gòu),但雖然在任何情況下都可以使用變換分析方法設(shè)計軟件結(jié)構(gòu),但是在是在數(shù)據(jù)流具有明顯的事務(wù)特點數(shù)據(jù)流具有明顯的事務(wù)特點時,也就是有一個明顯的時,也就是有一個明顯的“發(fā)發(fā)射中心射中心”(事務(wù)中心事務(wù)中心)時,還是以采用事務(wù)分析方法為宜。時,還是以采用事務(wù)分析方法為宜。l兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。第第6 6章章 詳細設(shè)計詳細設(shè)計1、結(jié)構(gòu)程序設(shè)計中有哪幾種基本控制結(jié)構(gòu)?P1082、了解人機界面的設(shè)計。3、掌握過程設(shè)計的工具(程
16、序流程圖、盒圖、PAD圖,判定樹)P114P1194、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法(Jackson圖)5、程序復雜度的定量度量(McCabe)6.16.1結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計圖圖6.1 3種基本的控制結(jié)構(gòu)種基本的控制結(jié)構(gòu)6.16.1結(jié)構(gòu)程序設(shè)計結(jié)構(gòu)程序設(shè)計圖圖6.2 其他常用的控制結(jié)構(gòu)其他常用的控制結(jié)構(gòu)6.3.1 6.3.1 程序流程圖程序流程圖 程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表達工具之一,能夠有效地描述問題求解過程中的程序邏輯結(jié)構(gòu)。程序流程圖中經(jīng)常使用的基本符號如圖6.3所示。圖圖6.3 程序流程圖中使用的符號程序流程圖中使用的符號uNS圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計而由N
17、assi和Shneiderman共同提出的一種圖形工具。u在NS圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表達結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。uNS圖中,基本控制結(jié)構(gòu)的表示符號如圖6.4所示。6.3.2 N-S6.3.2 N-S圖圖6.3.2 N-S6.3.2 N-S圖圖圖圖6.4 盒圖的基本符號盒圖的基本符號圖圖6.5 PAD6.5 PAD中基本符號中基本符號(a)(a)順序結(jié)構(gòu);順序結(jié)構(gòu);(b) (b) 分支結(jié)構(gòu);分支結(jié)構(gòu);(c) (c) 多分支多分支CASECASE結(jié)構(gòu);結(jié)構(gòu);(d) (d) 當型循環(huán);當型循環(huán);(e)(e);直到型循環(huán);直到型循環(huán);(f) (f) 語句標號;(語句
18、標號;(g g)定義)定義6.3.3 PAD6.3.3 PAD圖圖6.3.3 PAD6.3.3 PAD圖圖圖圖6.6 使用使用PAD圖提供的定義功能來逐步求精的例子圖提供的定義功能來逐步求精的例子6.4 6.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法 Jackson方法和方法和Warnier方法是最著名的兩個面方法是最著名的兩個面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法uJackson方法是由英國的M.A.Jackson在1975年首先提出的,他同時還提出了與這種方法配套使用的、用于描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)的圖形工具,被稱為Jackson圖。uJackson方法從目標系統(tǒng)的輸入、輸出數(shù)
19、據(jù)結(jié)構(gòu)入手,導出程序框架結(jié)構(gòu),再補充其他細節(jié),就可得到完整的程序結(jié)構(gòu)圖。u這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中、小型系統(tǒng)特別有效,如商業(yè)應(yīng)用中的文件、表格處理。該方法也可與其他方法結(jié)合,用于模塊的詳細設(shè)計。6.4 6.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法圖6.8 三種基本結(jié)構(gòu)在Jackson圖中的表示符號(a) 順序結(jié)構(gòu);(b) 選擇結(jié)構(gòu);(c);循環(huán)結(jié)構(gòu)6.4.1 Jackson6.4.1 Jackson圖圖(a)(c)(b)6.4 6.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法圖圖6.9 改進的改進的Jackson圖圖6.5 6.5 程序復雜程度的定量度量程序復雜程度的定
20、量度量 定量度量程序復雜程度的方法很有價值:把程序的定量度量程序復雜程度的方法很有價值:把程序的復雜程度復雜程度乘以乘以適當常數(shù)適當常數(shù)即可即可估算出軟件中錯誤的數(shù)量估算出軟件中錯誤的數(shù)量以以及及軟件開發(fā)需要用的工作量軟件開發(fā)需要用的工作量,定量度量的結(jié)果可以用來,定量度量的結(jié)果可以用來比較兩個不同的設(shè)計比較兩個不同的設(shè)計或或兩個不同算法的優(yōu)劣兩個不同算法的優(yōu)劣;程序的定;程序的定量的復雜程度可以作為模塊規(guī)模的精確限度。量的復雜程度可以作為模塊規(guī)模的精確限度。6.5 6.5 程序復雜程度的定量度量程序復雜程度的定量度量u McCabe方法根據(jù)程序控制流的復雜程度定量度量程方法根據(jù)程序控制流的復
21、雜程度定量度量程序的復雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復雜序的復雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復雜度。度。u 為了突出表示程序的控制流,人們通常使用流圖為了突出表示程序的控制流,人們通常使用流圖(也稱也稱為程序圖為程序圖)。所謂流圖實質(zhì)上是。所謂流圖實質(zhì)上是“退化了的退化了的”程序流程圖,程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。操作以及分支或循環(huán)的具體條件。6.5 6.5 程序復雜程度的定量度量程序復雜程度的定量度量圖圖6.16 把程序流程圖影射成流圖把程序流程圖影射成流圖6.5.1
22、 6.5.1 計算環(huán)形復雜度的方法計算環(huán)形復雜度的方法第第7 7章章 實現(xiàn)實現(xiàn)1、編碼2、測試技術(shù)P139P1693、調(diào)試的途徑有哪些?P1684、軟件可靠性和可用性的基本概念P169u 編碼:把軟件設(shè)計結(jié)果翻譯成用某種程序語言書寫的程序。u 測試:軟件測試的目的是在軟件投入生產(chǎn)性運行前,盡可能多的發(fā)現(xiàn)軟件中的錯誤。 實現(xiàn)實現(xiàn)編碼和測試編碼和測試7.27.2軟件測試基礎(chǔ)軟件測試基礎(chǔ)u 軟件測試:為發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。軟件測試:為發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。u 軟件測試的準則(盡早和不斷的測試、徹底測試的不軟件測試的準則(盡早和不斷的測試、徹底測試的不可能、軟件測試是有風險的
23、行為、并非所有的軟件錯誤可能、軟件測試是有風險的行為、并非所有的軟件錯誤都能恢復、反向思維邏輯、由小到大的測試范圍、避免都能恢復、反向思維邏輯、由小到大的測試范圍、避免檢查自己的代碼、追溯至用戶需求)檢查自己的代碼、追溯至用戶需求)u 測試方法(黑盒測試和白盒測試)測試方法(黑盒測試和白盒測試)u 測試步驟(模塊測試、子系統(tǒng)測試、系統(tǒng)測試、驗收測試步驟(模塊測試、子系統(tǒng)測試、系統(tǒng)測試、驗收測試、平行運行)測試、平行運行)模塊模塊模塊接口測試模塊接口測試局部數(shù)據(jù)結(jié)構(gòu)測試局部數(shù)據(jù)結(jié)構(gòu)測試重要路徑測試重要路徑測試錯誤處理測試錯誤處理測試邊界條件測試邊界條件測試I/O I/O 參數(shù)值的個數(shù)、類參數(shù)值的
24、個數(shù)、類型、次序、格式是否正型、次序、格式是否正確,確,I/OI/O文件屬性、操作文件屬性、操作是否正確等。是否正確等。數(shù)據(jù)說明是否正確、數(shù)據(jù)說明是否正確、一致,變量及其初一致,變量及其初值定義是否正確等。值定義是否正確等。檢查檢查“錯誤處錯誤處理程序理程序”本身本身的錯誤。的錯誤。邊界條件常包括循環(huán)邊邊界條件常包括循環(huán)邊界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比較值等。的比較值等。重要重要路徑通常是指完成路徑通常是指完成模塊功能的主要路徑,模塊功能的主要路徑,一般是控制結(jié)構(gòu)。一般是控制結(jié)構(gòu)。也稱模塊測試(也稱模塊測試(modulemodule tes
25、ting testing ) )7.3.1 7.3.1 單元測試重點單元測試重點語語句句覆覆蓋蓋判判定定覆覆蓋蓋條條件件覆覆蓋蓋判判定定條條件件覆覆蓋蓋條條件件組組合合覆覆蓋蓋弱弱強強7.6 7.6 白盒測試技術(shù)白盒測試技術(shù) 語句覆蓋語句覆蓋: 選擇足夠的測試用例,使得程序中每個語選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。句至少都能被執(zhí)行一次。 判定覆蓋判定覆蓋: 執(zhí)行足夠的測試用例,使得程序中每個判執(zhí)行足夠的測試用例,使得程序中每個判定至少都獲得一次定至少都獲得一次“真真”值和值和“假假”值。值。 條件覆蓋條件覆蓋:執(zhí)行足夠的測試用例,使得判定中的每個:執(zhí)行足夠的測試用例,使
26、得判定中的每個條件獲得各種可能的結(jié)果。條件獲得各種可能的結(jié)果。 判定判定/ /條件覆蓋條件覆蓋: 執(zhí)行足夠的測試用例,使得判定中執(zhí)行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能每個條件取到各種可能的值,并使每個判定取到各種可能的結(jié)果。的結(jié)果。 條件組合覆蓋條件組合覆蓋: 執(zhí)行足夠的例子,使得每個判定中條執(zhí)行足夠的例子,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。件的各種可能組合都至少出現(xiàn)一次。白盒法白盒法常用的覆蓋標準常用的覆蓋標準等等價價分分類類法法邊邊值值分分析析法法錯錯誤誤推推測測法法黑盒法黑盒法 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,不考慮程序的內(nèi)部結(jié)構(gòu)與特性
27、,只根據(jù)程序功能或程序的外部特性只根據(jù)程序功能或程序的外部特性設(shè)計測試用例。設(shè)計測試用例。7.7 7.7 黑盒測試技術(shù)黑盒測試技術(shù)l 調(diào)試調(diào)試(也稱為糾錯)作為成功測試的后果出現(xiàn),也就是說,(也稱為糾錯)作為成功測試的后果出現(xiàn),也就是說,調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。l 調(diào)試過程調(diào)試過程如下圖所示:如下圖所示:7.8 7.8 調(diào)試調(diào)試7.8 7.8 調(diào)試途徑調(diào)試途徑l 軟件可靠性的定義:軟件可靠性的定義:對于軟件可靠性有許多不同的定義,對于軟件可靠性有許多不同的定義,其中多數(shù)人承認的一個定義是:其中多數(shù)人承認的一個定義是:軟件可靠性是程序在給定
28、軟件可靠性是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運行的概率l 軟件可用性的一個定義:軟件可用性的一個定義: 軟件可用性是程序在軟件可用性是程序在給定的時給定的時間點間點,按照規(guī)格說明書的規(guī)定,成功地運行的概率。,按照規(guī)格說明書的規(guī)定,成功地運行的概率。7.9 7.9 調(diào)試調(diào)試1、軟件維護的定義P1792、了解軟件維護的特點3、軟件維護過程中維護組織包括哪些人員?P1828.4 決定軟件的可維護性的因素有哪些?P185P1868.5 軟件再工程過程8.18.1軟件維護的定義軟件維護的定義l 軟件維護軟件維護是指軟件系統(tǒng)交付使用以后,
29、為了改正錯誤或滿足是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需求而修改軟件的過程。按照不同的維護目的,維護工作新的需求而修改軟件的過程。按照不同的維護目的,維護工作可分成可分成4類。類。u完善性維護完善性維護(Perfective Maintenance):擴充原有系統(tǒng)的):擴充原有系統(tǒng)的功能,提高原有系統(tǒng)的性能,滿足用戶的實際需要。功能,提高原有系統(tǒng)的性能,滿足用戶的實際需要。u糾錯性維護糾錯性維護(Corrective Maintenance):對在測試階段未):對在測試階段未能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯誤的測能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯誤的測試、診斷
30、、定位、糾錯以及驗證、修改的回歸測試過程。試、診斷、定位、糾錯以及驗證、修改的回歸測試過程。u適應(yīng)性維護適應(yīng)性維護(Adaptive Maintenance):): 要使運行的軟件要使運行的軟件能適應(yīng)運行環(huán)境的變動而修改軟件的過程。能適應(yīng)運行環(huán)境的變動而修改軟件的過程。u預防性維護預防性維護(Preventive Maintenance):為了進一步改善):為了進一步改善軟件的可靠性和易維護性,或者為將來的維護奠定更好的軟件的可靠性和易維護性,或者為將來的維護奠定更好的基礎(chǔ)而對軟件進行修改。(基礎(chǔ)而對軟件進行修改。(8.5節(jié))節(jié))8.38.3軟件維護過程軟件維護過程圖圖8.1 維護組織維護組織
31、8.48.4軟件的可維護性軟件的可維護性l軟件的可維護性定性地定義為: 維護人員理解、改正、改動或改進這個軟件的難易程度。l重用:同一事物不做修改或稍加改動就在不同環(huán)境中多次重復使用。l提高可維護性是支配軟件工程方法學所有步驟的關(guān)鍵目標。1、面向?qū)ο蠓椒▽W概述P193P2002、面向?qū)ο蠼#êw第9章和第10章)3、面向?qū)ο蠓治龅幕具^程4、面向?qū)ο蟮脑O(shè)計準則9.1 概述l 面向?qū)ο蠓椒▽W的面向?qū)ο蠓椒▽W的出發(fā)點和基本原則出發(fā)點和基本原則,是,是盡可能模擬人類習盡可能模擬人類習慣的思維方式,慣的思維方式,使開發(fā)軟件的方法與過程使開發(fā)軟件的方法與過程盡可能接近人類認識盡可能接近人類認識世界解決
32、問題的方法與過程世界解決問題的方法與過程,也就是使描述問題的問題空間,也就是使描述問題的問題空間(也也稱為問題域稱為問題域)與實現(xiàn)解法的解空間與實現(xiàn)解法的解空間(也稱為求解域也稱為求解域)在結(jié)構(gòu)上盡可在結(jié)構(gòu)上盡可能一致。能一致。u認為客觀世界是由各種對象組成的,任何事物都是對象,認為客觀世界是由各種對象組成的,任何事物都是對象,復雜的對象可以由比較簡單的對象以某種方式組合而成。復雜的對象可以由比較簡單的對象以某種方式組合而成。u把所有對象都劃分成各種對象類把所有對象都劃分成各種對象類(簡稱為類,簡稱為類,class),每個,每個對象類都定義了一組數(shù)據(jù)和一組方法。對象類都定義了一組數(shù)據(jù)和一組方法
33、。u按照子類按照子類(或稱為派生類或稱為派生類)與父類與父類(或稱為基類或稱為基類)的關(guān)系,把的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級也稱為類等級)。u對象彼此之間僅能通過傳遞消息互相聯(lián)系。對象彼此之間僅能通過傳遞消息互相聯(lián)系。類又稱對象類類又稱對象類一組具有相同屬性和一組具有相同屬性和相同操作的對象的集合。在一個類中,每個對象都是類的實例相同操作的對象的集合。在一個類中,每個對象都是類的實例(instance) ,它們都可以使用類中提供的函數(shù)。,它們都可以使用類中提供的函數(shù)。類具有屬性,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性,類具有操作,類具有屬性,用數(shù)
34、據(jù)結(jié)構(gòu)來描述類的屬性,類具有操作,它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現(xiàn) 的 過 程 稱 為 方 法它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現(xiàn) 的 過 程 稱 為 方 法(method) ,方法有方法名,方法體和參數(shù)。,方法有方法名,方法體和參數(shù)。 由于對象是類的實例,在進行分析和設(shè)計時,通常把注由于對象是類的實例,在進行分析和設(shè)計時,通常把注意力集中在類上,而不是具體的對象上意力集中在類上,而不是具體的對象上。 實例:實例:實際上類是建立對象時使用的實際上類是建立對象時使用的“樣板樣板”,按照,按照這個樣板所建立的一個個具體的對象,就是類的實際例子,這個樣
35、板所建立的一個個具體的對象,就是類的實際例子,通常稱為通常稱為實例實例。當使用。當使用“對象對象”這個術(shù)語時,既可以指一這個術(shù)語時,既可以指一個具體的對象,也可以泛指一般的對象,但是,當使用個具體的對象,也可以泛指一般的對象,但是,當使用“實例實例”這個術(shù)語時,必然是指一個具體的對象。這個術(shù)語時,必然是指一個具體的對象。幾何對象幾何對象顏色顏色位置位置移動(移動(delta:矢量):矢量)選擇(選擇(P:指針型)指針型):布爾型布爾型旋轉(zhuǎn)旋轉(zhuǎn)(角度角度)人人姓姓 名名:字符串字符串年年 齡齡: 整整 型型改換工作改換工作改換地址改換地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日
36、期打印打印(人人)里斯里斯28繪圖員繪圖員人民路人民路8號號(人人)張山張山24程序員程序員無無類名類名屬性屬性運算運算 對象圖對象圖 類圖類圖 互相聯(lián)系、協(xié)同工互相聯(lián)系、協(xié)同工作等作等對象之間的聯(lián)系可表示為對象間的消息傳遞,即對象之間的聯(lián)系可表示為對象間的消息傳遞,即對象間的通訊機制。對象間的通訊機制。 一個消息應(yīng)該包含以下信息:消息名、接收消息對象一個消息應(yīng)該包含以下信息:消息名、接收消息對象的標識、服務(wù)標識的標識、服務(wù)標識 、消息和方法、輸入信息、回答信息。、消息和方法、輸入信息、回答信息。在對象的操作中當一個消息發(fā)送給某個對象時,消息在對象的操作中當一個消息發(fā)送給某個對象時,消息包含接
37、收對象去執(zhí)行某種操作的消息。包含接收對象去執(zhí)行某種操作的消息。屬性:姓名屬性:姓名 年齡年齡 單位單位 職稱職稱 工資工資狀態(tài):李立狀態(tài):李立 25 計算機系計算機系 講師講師 900屬性:調(diào)工資屬性:調(diào)工資 評職稱評職稱 受受 聘聘方法:調(diào)工資方法:調(diào)工資 (計算公式)(計算公式) 評職稱評職稱 (步驟、條件)(步驟、條件)屬性:調(diào)工資屬性:調(diào)工資 評職稱評職稱 受受 聘聘李立,調(diào)工資(李立,調(diào)工資( )數(shù)數(shù)據(jù)據(jù)結(jié)結(jié)構(gòu)構(gòu)數(shù)數(shù)據(jù)據(jù)值值人事處向?qū)ο蟀l(fā)消息人事處向?qū)ο蟀l(fā)消息執(zhí)行執(zhí)行的的操作操作方方法法體體類:教師類:教師對象:李立對象:李立抽象抽象實例實例抽象抽象實例實例抽象抽象方法名(參數(shù))方法名(參數(shù))圖9.7 對象、類和消息傳遞l 方法:方法:就是對象所能執(zhí)行的操作,也就是類中所定義的就是對象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。方法描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法。服務(wù)。方法描述了對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件測試中的回歸測試方法試題及答案
- 軟考網(wǎng)絡(luò)管理員學習資料試題及答案
- VB錯誤處理機制解析題及答案
- 網(wǎng)絡(luò)管理員考試知識點摘要試題及答案
- 開發(fā)者個人成長規(guī)劃試題及答案
- 呼吸內(nèi)科??浦v課課件
- 2025法學概論的整體評估試題及答案
- 2025年軟件設(shè)計師考試報名注意事項試題及答案
- 校招護士招聘面試題目及答案
- 護理不良事件分享
- 2025年河北承德中考試題及答案
- 白癜風診療共識(2024版)解讀
- T-CCA 035-2024 現(xiàn)制現(xiàn)售飲品添加糖量及食品安全操作指南
- 自動駕駛系統(tǒng)安全性與可靠性-第1篇-深度研究
- 編制QC成果的要點分析
- 2025年全球及中國鋼制螺旋錐齒輪行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 品牌推廣案例考核試卷
- 基于機器視覺的焊縫缺陷檢測方法及其應(yīng)用研究
- 融資擔保行業(yè)2024年信用回顧與2025年展望 -新世紀
- 2024危重癥患兒管飼喂養(yǎng)護理-中華護理學會團體標準課件
- 風電項目安全培訓課件
評論
0/150
提交評論