《軟件工程》總復(fù)習(xí)課件99_第1頁
《軟件工程》總復(fù)習(xí)課件99_第2頁
《軟件工程》總復(fù)習(xí)課件99_第3頁
《軟件工程》總復(fù)習(xí)課件99_第4頁
《軟件工程》總復(fù)習(xí)課件99_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、1 軟件工程學(xué)概述2 可行性研究3 需求分析4 總體設(shè)計(jì)5 詳細(xì)設(shè)計(jì)6 實(shí)現(xiàn)7 維護(hù)8 面向?qū)ο笙嚓P(guān)內(nèi)容1 1、什么是軟件危機(jī)?、什么是軟件危機(jī)? 2 2、軟件危機(jī)產(chǎn)生的原因有哪些?、軟件危機(jī)產(chǎn)生的原因有哪些? 3 3、什么是軟件工程?、什么是軟件工程? 4 4、軟件工程方法學(xué)包含哪些要素?、軟件工程方法學(xué)包含哪些要素? 5 5、在軟件過程中有哪些模型?他們各自的特點(diǎn)、在軟件過程中有哪些模型?他們各自的特點(diǎn)是哪些?是哪些? 1 1、可行性研究的目的是什么? 2、應(yīng)從哪些方面研究可行性? 3、如何畫數(shù)據(jù)流圖? 4、如何軟件結(jié)構(gòu)圖? 5、了解數(shù)據(jù)字典 。數(shù)據(jù)流圖數(shù)據(jù)流圖(Data Flow Dia

2、gramData Flow Diagram,DFDDFD)是描述系統(tǒng)中數(shù)據(jù)流)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以程的圖形工具,它標(biāo)識(shí)了一個(gè)系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。2.42.4數(shù)據(jù)流圖數(shù)據(jù)流圖數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)數(shù)據(jù)源點(diǎn)數(shù)據(jù)源點(diǎn)或終點(diǎn)或終點(diǎn)處處 理理加工名數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)流名文件名實(shí)體名箭箭 頭頭圓或橢圓圓或橢圓單或雙杠單或雙杠矩形框矩形框還有一些輔助的圖例還有一些輔助的圖例: :一、數(shù)據(jù)流圖的圖符一、數(shù)據(jù)流圖的圖符四種基本圖形符號(hào):四種基本圖形符號(hào):TAB*CTAB*CTA

3、B+CTAB+CTABC+TABC+* 與與 + 或或互斥+2.42.4數(shù)據(jù)流圖數(shù)據(jù)流圖舉例:舉例:儲(chǔ)戶儲(chǔ)戶1記錄存款信息打印存款信息存款單存款信息存款存單3計(jì)算利息4打印利息清單存款信息利息值利息清單D1存款信息存款信息21 1、需求分析的基本任務(wù)是什么?、需求分析的基本任務(wù)是什么? 2 2、分析建模、分析建模 2.1什么是模型?什么是模型? 模型:就是為了理解事物而對(duì)事物做出的一種模型:就是為了理解事物而對(duì)事物做出的一種抽象,是對(duì)事物的一種無歧義的書面描述。通常,模型由一組圖形抽象,是對(duì)事物的一種無歧義的書面描述。通常,模型由一組圖形符號(hào)和組織這些符號(hào)的規(guī)則組成。符號(hào)和組織這些符號(hào)的規(guī)則組

4、成。 功能模型(功能模型( 數(shù)據(jù)流圖)、數(shù)據(jù)流圖)、 行為模型(狀態(tài)轉(zhuǎn)換圖是行為模型行為模型(狀態(tài)轉(zhuǎn)換圖是行為模型的基礎(chǔ))的基礎(chǔ))3 3、要從哪些方面驗(yàn)證軟件需求?、要從哪些方面驗(yàn)證軟件需求? 1、在設(shè)計(jì)過程中,總體設(shè)計(jì)一般有哪兩個(gè)主要階段組成? 2、什么模塊化?模塊獨(dú)立性包含哪些內(nèi)容?度量準(zhǔn)則是什么? 3、啟發(fā)規(guī)則有哪些? 4、描繪軟件結(jié)構(gòu)的圖形工具 5、面向數(shù)據(jù)流的設(shè)計(jì)方法 變換分析和事務(wù)分析4.24.2設(shè)計(jì)原理設(shè)計(jì)原理u 模塊是程序?qū)ο笥忻值募侠?,過程、函數(shù)、子程序、宏等,是構(gòu)成軟件系統(tǒng)結(jié)構(gòu)的基本元素。u 模塊化就是將系統(tǒng)劃分為若干個(gè)模塊,每個(gè)模塊完成一個(gè)子功能模塊化的目的是將系統(tǒng)

5、“分而治之”,模塊化能夠降低問題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,易于測(cè)試和調(diào)試,因而也有助于提高軟件的可靠性。4.2.54.2.5模塊獨(dú)立模塊獨(dú)立 “模塊模塊”,又稱,又稱“構(gòu)件構(gòu)件”,一般指用一個(gè)名字可調(diào)用的一段程,一般指用一個(gè)名字可調(diào)用的一段程序。它一般具有如下序。它一般具有如下三個(gè)基本屬性三個(gè)基本屬性:功能功能 即指該模塊實(shí)現(xiàn)什么功能,做什么事情。必須注意:模塊即指該模塊實(shí)現(xiàn)什么功能,做什么事情。必須注意:模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。邏輯邏輯 即描述模塊內(nèi)部怎么做。即描述模塊內(nèi)部怎么做。

6、狀態(tài)狀態(tài) 即該模塊使用時(shí)的環(huán)境和條件。即該模塊使用時(shí)的環(huán)境和條件。所謂模塊的獨(dú)立性,所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要是指軟件系統(tǒng)中每個(gè)模塊只涉及軟件要求的具體的子功能求的具體的子功能,而,而和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的和軟件系統(tǒng)中其他模塊的接口是簡(jiǎn)單的。即功能專一即功能專一,模塊之間無過多的相互作用的模塊模塊之間無過多的相互作用的模塊。這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越容這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越容易。獨(dú)立性強(qiáng)的模塊,還能減少錯(cuò)誤的影響,使模塊容易組合、易。獨(dú)立性強(qiáng)的模塊,還能減少錯(cuò)誤的影響,使模塊容易組合、修改及測(cè)試。修改及測(cè)

7、試。4.2.5 4.2.5 模塊獨(dú)立性模塊獨(dú)立性模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性準(zhǔn)則模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個(gè)定性準(zhǔn)則: 用于描述模塊之間聯(lián)系的緊密程度。用于描述模塊之間聯(lián)系的緊密程度。 用于描述模塊內(nèi)部聯(lián)系的緊密程度。用于描述模塊內(nèi)部聯(lián)系的緊密程度。 模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和的低耦模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和的低耦合度。合度。 變換中心變換輸入輸出圖圖4.8 變換型數(shù)據(jù)流圖的基本模型變換型數(shù)據(jù)流圖的基本模型 圖 事務(wù)型數(shù)據(jù)流圖的基本模型事務(wù)中心輸入流接收路徑加工路徑l變換分析設(shè)計(jì):把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模變換分析設(shè)計(jì):把具有變換流特點(diǎn)的數(shù)據(jù)流圖按

8、預(yù)先確定的模式映射成軟件結(jié)構(gòu)式映射成軟件結(jié)構(gòu)。不具有顯著的事務(wù)特點(diǎn)不具有顯著的事務(wù)特點(diǎn)。l雖然在任何情況下都可以使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但雖然在任何情況下都可以使用變換分析方法設(shè)計(jì)軟件結(jié)構(gòu),但是在是在數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時(shí),也就是有一個(gè)明顯的時(shí),也就是有一個(gè)明顯的“發(fā)發(fā)射中心射中心”(事務(wù)中心事務(wù)中心)時(shí),還是以采用事務(wù)分析方法為宜。時(shí),還是以采用事務(wù)分析方法為宜。l兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。1 1、結(jié)構(gòu)程序設(shè)計(jì)中有哪幾種基本控制結(jié)構(gòu)?、結(jié)構(gòu)程序設(shè)計(jì)中有哪幾種基本控制結(jié)構(gòu)?

9、2 2、了解人機(jī)界面的設(shè)計(jì)。、了解人機(jī)界面的設(shè)計(jì)。3 3、掌握過程設(shè)計(jì)的工具(程序流程圖、盒圖、掌握過程設(shè)計(jì)的工具(程序流程圖、盒圖、PADPAD圖,圖,判定樹)判定樹) 4 4、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法(JacksonJackson圖)圖)5 5、程序復(fù)雜度的定量度量(、程序復(fù)雜度的定量度量(McCabeMcCabe)5.15.1結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)圖圖5.1 3種基本的控制結(jié)構(gòu)種基本的控制結(jié)構(gòu)5.15.1結(jié)構(gòu)程序設(shè)計(jì)結(jié)構(gòu)程序設(shè)計(jì)圖圖5.2 其他常用的控制結(jié)構(gòu)其他常用的控制結(jié)構(gòu)5.3.1 5.3.1 程序流程圖程序流程圖 程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表

10、達(dá)工具之一,能夠有效地描述問題求解過程中的程序邏輯結(jié)構(gòu)。程序流程圖中經(jīng)常使用的基本符號(hào)如圖5.3所示。圖圖5.3 程序流程圖中使用的符號(hào)程序流程圖中使用的符號(hào)uNS圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計(jì)而由Nassi和Shneiderman共同提出的一種圖形工具。u在NS圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表達(dá)結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。uNS圖中,基本控制結(jié)構(gòu)的表示符號(hào)如圖5.4所示。5.3.2 N-S5.3.2 N-S圖圖5.3.2 N-S5.3.2 N-S圖圖圖圖5.4 盒圖的基本符號(hào)盒圖的基本符號(hào)圖圖5.5 PAD5.5 PAD中基本符號(hào)中基本符號(hào)順序結(jié)構(gòu);順序結(jié)構(gòu);

11、(b) (b) 分支結(jié)構(gòu);分支結(jié)構(gòu);(c) (c) 多分支多分支CASECASE結(jié)構(gòu);結(jié)構(gòu);(d) (d) 當(dāng)型循環(huán);當(dāng)型循環(huán);(e)(e);直到型循環(huán);直到型循環(huán);(f) (f) 語句標(biāo)號(hào);(語句標(biāo)號(hào);(g g)定義)定義5.3.3 PAD5.3.3 PAD圖圖5.3.3 PAD5.3.3 PAD圖圖圖圖5.6 使用使用PAD圖提供的定義功能來逐步求精的例子圖提供的定義功能來逐步求精的例子5.4 5.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法 Jackson方法和方法和Warnier方法是最著名的兩個(gè)面方法是最著名的兩個(gè)面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法uJackson方法是由

12、英國的M.A.Jackson在1975年首先提出的,他同時(shí)還提出了與這種方法配套使用的、用于描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)的圖形工具,被稱為Jackson圖。uJackson方法從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補(bǔ)充其他細(xì)節(jié),就可得到完整的程序結(jié)構(gòu)圖。u這一方法對(duì)輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中、小型系統(tǒng)特別有效,如商業(yè)應(yīng)用中的文件、表格處理。該方法也可與其他方法結(jié)合,用于模塊的詳細(xì)設(shè)計(jì)。5.4 5.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法圖5.8 三種基本結(jié)構(gòu)在Jackson圖中的表示符號(hào)(a) 順序結(jié)構(gòu);(b) 選擇結(jié)構(gòu);(c);循環(huán)結(jié)構(gòu)5.4.1 Jackson5.4

13、.1 Jackson圖圖(a)(c)(b)5.4 5.4 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)方法圖圖5.9 改進(jìn)的改進(jìn)的Jackson圖圖5.5 5.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量 定量度量程序復(fù)雜程度的方法很有價(jià)值:把程序的定量度量程序復(fù)雜程度的方法很有價(jià)值:把程序的復(fù)雜程度復(fù)雜程度乘以乘以適當(dāng)常數(shù)適當(dāng)常數(shù)即可即可估算出軟件中錯(cuò)誤的數(shù)量估算出軟件中錯(cuò)誤的數(shù)量以以及及軟件開發(fā)需要用的工作量軟件開發(fā)需要用的工作量,定量度量的結(jié)果可以用來,定量度量的結(jié)果可以用來比較兩個(gè)不同的設(shè)計(jì)比較兩個(gè)不同的設(shè)計(jì)或或兩個(gè)不同算法的優(yōu)劣兩個(gè)不同算法的優(yōu)劣;程序的定;程序的定量的復(fù)雜程度可以作

14、為模塊規(guī)模的精確限度。量的復(fù)雜程度可以作為模塊規(guī)模的精確限度。5.5 5.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量u McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。度。u 為了突出表示程序的控制流,人們通常使用流圖為了突出表示程序的控制流,人們通常使用流圖(也稱也稱為程序圖為程序圖)。所謂流圖實(shí)質(zhì)上是。所謂流圖實(shí)質(zhì)上是“退化了的退化了的”程序流程圖,程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對(duì)數(shù)據(jù)的具體它僅僅描繪程序的控制流程,完全不表現(xiàn)對(duì)

15、數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。操作以及分支或循環(huán)的具體條件。5.5 5.5 程序復(fù)雜程度的定量度量程序復(fù)雜程度的定量度量圖圖5.16 把程序流程圖影射成流圖把程序流程圖影射成流圖5.5.1 5.5.1 計(jì)算環(huán)形復(fù)雜度的方法計(jì)算環(huán)形復(fù)雜度的方法1、編碼2、測(cè)試技術(shù) 3、調(diào)試的途徑有哪些? 4、軟件可靠性和可用性的基本概念 u 編碼:把軟件設(shè)計(jì)結(jié)果翻譯成用某種程序語言書寫的程序。u 測(cè)試:軟件測(cè)試的目的是在軟件投入生產(chǎn)性運(yùn)行前,盡可能多的發(fā)現(xiàn)軟件中的錯(cuò)誤。 實(shí)現(xiàn)實(shí)現(xiàn)編碼和測(cè)試編碼和測(cè)試6.26.2軟件測(cè)試基礎(chǔ)軟件測(cè)試基礎(chǔ)u 軟件測(cè)試:為發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過程。軟件測(cè)試:為發(fā)現(xiàn)程

16、序中的錯(cuò)誤而執(zhí)行程序的過程。u 軟件測(cè)試的準(zhǔn)則(盡早和不斷的測(cè)試、徹底測(cè)試的不軟件測(cè)試的準(zhǔn)則(盡早和不斷的測(cè)試、徹底測(cè)試的不可能、軟件測(cè)試是有風(fēng)險(xiǎn)的行為、并非所有的軟件錯(cuò)誤可能、軟件測(cè)試是有風(fēng)險(xiǎn)的行為、并非所有的軟件錯(cuò)誤都能恢復(fù)、反向思維邏輯、由小到大的測(cè)試范圍、避免都能恢復(fù)、反向思維邏輯、由小到大的測(cè)試范圍、避免檢查自己的代碼、追溯至用戶需求)檢查自己的代碼、追溯至用戶需求)u 測(cè)試方法(黑盒測(cè)試和白盒測(cè)試)測(cè)試方法(黑盒測(cè)試和白盒測(cè)試)u 測(cè)試步驟(模塊測(cè)試、子系統(tǒng)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試步驟(模塊測(cè)試、子系統(tǒng)測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試、平行運(yùn)行)測(cè)試、平行運(yùn)行)模塊模塊模塊接口測(cè)試模塊接口

17、測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試局部數(shù)據(jù)結(jié)構(gòu)測(cè)試重要路徑測(cè)試重要路徑測(cè)試錯(cuò)誤處理測(cè)試錯(cuò)誤處理測(cè)試邊界條件測(cè)試邊界條件測(cè)試I/O I/O 參數(shù)值的個(gè)數(shù)、類參數(shù)值的個(gè)數(shù)、類型、次序、格式是否正型、次序、格式是否正確,確,I/OI/O文件屬性、操作文件屬性、操作是否正確等。是否正確等。數(shù)據(jù)說明是否正確、數(shù)據(jù)說明是否正確、一致,變量及其初一致,變量及其初值定義是否正確等。值定義是否正確等。檢查檢查“錯(cuò)誤處錯(cuò)誤處理程序理程序”本身本身的錯(cuò)誤。的錯(cuò)誤。邊界條件常包括循環(huán)邊邊界條件常包括循環(huán)邊界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比較值等。的比較值等。重要重要路徑通常是指完成

18、路徑通常是指完成模塊功能的主要路徑,模塊功能的主要路徑,一般是控制結(jié)構(gòu)。一般是控制結(jié)構(gòu)。也稱模塊測(cè)試(也稱模塊測(cè)試(modulemodule testing testing ) )6.3.1 6.3.1 單元測(cè)試重點(diǎn)單元測(cè)試重點(diǎn)語語句句覆覆蓋蓋判判定定覆覆蓋蓋條條件件覆覆蓋蓋判判定定條條件件覆覆蓋蓋條條件件組組合合覆覆蓋蓋弱弱強(qiáng)強(qiáng)6.6 6.6 白盒測(cè)試技術(shù)白盒測(cè)試技術(shù) 語句覆蓋語句覆蓋: 選擇足夠的測(cè)試用例,使得程序中每個(gè)語選擇足夠的測(cè)試用例,使得程序中每個(gè)語句至少都能被執(zhí)行一次。句至少都能被執(zhí)行一次。 判定覆蓋判定覆蓋: 執(zhí)行足夠的測(cè)試用例,使得程序中每個(gè)判執(zhí)行足夠的測(cè)試用例,使得程序中每

19、個(gè)判定至少都獲得一次定至少都獲得一次“真真”值和值和“假假”值。值。 條件覆蓋條件覆蓋:執(zhí)行足夠的測(cè)試用例,使得判定中的每個(gè):執(zhí)行足夠的測(cè)試用例,使得判定中的每個(gè)條件獲得各種可能的結(jié)果。條件獲得各種可能的結(jié)果。 判定判定/ /條件覆蓋條件覆蓋: 執(zhí)行足夠的測(cè)試用例,使得判定中執(zhí)行足夠的測(cè)試用例,使得判定中每個(gè)條件取到各種可能的值,并使每個(gè)判定取到各種可能每個(gè)條件取到各種可能的值,并使每個(gè)判定取到各種可能的結(jié)果。的結(jié)果。 條件組合覆蓋條件組合覆蓋: 執(zhí)行足夠的例子,使得每個(gè)判定中條執(zhí)行足夠的例子,使得每個(gè)判定中條件的各種可能組合都至少出現(xiàn)一次。件的各種可能組合都至少出現(xiàn)一次。白盒法白盒法常用的覆

20、蓋標(biāo)準(zhǔn)常用的覆蓋標(biāo)準(zhǔn)等等價(jià)價(jià)分分類類法法邊邊值值分分析析法法錯(cuò)錯(cuò)誤誤推推測(cè)測(cè)法法黑盒法黑盒法 不考慮程序的內(nèi)部結(jié)構(gòu)與特性,不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性只根據(jù)程序功能或程序的外部特性設(shè)計(jì)測(cè)試用例。設(shè)計(jì)測(cè)試用例。6.7 6.7 黑盒測(cè)試技術(shù)黑盒測(cè)試技術(shù)l 調(diào)試調(diào)試(也稱為糾錯(cuò))作為成功測(cè)試的后果出現(xiàn),也就是說,(也稱為糾錯(cuò))作為成功測(cè)試的后果出現(xiàn),也就是說,調(diào)試是在測(cè)試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。調(diào)試是在測(cè)試發(fā)現(xiàn)錯(cuò)誤之后排除錯(cuò)誤的過程。l 調(diào)試過程調(diào)試過程如下圖所示:如下圖所示:6.8 6.8 調(diào)試調(diào)試6.8 6.8 調(diào)試途徑調(diào)試途徑l 軟件可靠性的定義:軟件可靠性的

21、定義:對(duì)于軟件可靠性有許多不同的定義,對(duì)于軟件可靠性有許多不同的定義,其中多數(shù)人承認(rèn)的一個(gè)定義是:其中多數(shù)人承認(rèn)的一個(gè)定義是:軟件可靠性是程序在給定軟件可靠性是程序在給定的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率的時(shí)間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率l 軟件可用性的一個(gè)定義:軟件可用性的一個(gè)定義: 軟件可用性是程序在軟件可用性是程序在給定的時(shí)給定的時(shí)間點(diǎn)間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。,按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。6.9 6.9 調(diào)試調(diào)試1、軟件維護(hù)的定義 2、了解軟件維護(hù)的特點(diǎn)3、軟件維護(hù)過程中維護(hù)組織包括哪些人員? 7.4 決定軟件的可維護(hù)性的

22、因素有哪些? 7.5 軟件再工程過程7.17.1軟件維護(hù)的定義軟件維護(hù)的定義l 軟件維護(hù)軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足是指軟件系統(tǒng)交付使用以后,為了改正錯(cuò)誤或滿足新的需求而修改軟件的過程。按照不同的維護(hù)目的,維護(hù)工作新的需求而修改軟件的過程。按照不同的維護(hù)目的,維護(hù)工作可分成可分成4類。類。u完善性維護(hù)完善性維護(hù)(Perfective Maintenance):擴(kuò)充原有系統(tǒng)的):擴(kuò)充原有系統(tǒng)的功能,提高原有系統(tǒng)的性能,滿足用戶的實(shí)際需要。功能,提高原有系統(tǒng)的性能,滿足用戶的實(shí)際需要。u糾錯(cuò)性維護(hù)糾錯(cuò)性維護(hù)(Corrective Maintenance):對(duì)在測(cè)試階段未):

23、對(duì)在測(cè)試階段未能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯(cuò)誤的測(cè)能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯(cuò)誤的測(cè)試、診斷、定位、糾錯(cuò)以及驗(yàn)證、修改的回歸測(cè)試過程。試、診斷、定位、糾錯(cuò)以及驗(yàn)證、修改的回歸測(cè)試過程。u適應(yīng)性維護(hù)適應(yīng)性維護(hù)(Adaptive Maintenance):): 要使運(yùn)行的軟件要使運(yùn)行的軟件能適應(yīng)運(yùn)行環(huán)境的變動(dòng)而修改軟件的過程。能適應(yīng)運(yùn)行環(huán)境的變動(dòng)而修改軟件的過程。u預(yù)防性維護(hù)預(yù)防性維護(hù)(Preventive Maintenance):為了進(jìn)一步改善):為了進(jìn)一步改善軟件的可靠性和易維護(hù)性,或者為將來的維護(hù)奠定更好的軟件的可靠性和易維護(hù)性,或者為將來的維護(hù)奠定更好的基礎(chǔ)

24、而對(duì)軟件進(jìn)行修改。(基礎(chǔ)而對(duì)軟件進(jìn)行修改。(7.5節(jié))節(jié))7.37.3軟件維護(hù)過程軟件維護(hù)過程圖圖7.1 維護(hù)組織維護(hù)組織7.47.4軟件的可維護(hù)性軟件的可維護(hù)性l軟件的可維護(hù)性定性地定義為: 維護(hù)人員理解、改正、改動(dòng)或改進(jìn)這個(gè)軟件的難易程度。l重用:同一事物不做修改或稍加改動(dòng)就在不同環(huán)境中多次重復(fù)使用。l提高可維護(hù)性是支配軟件工程方法學(xué)所有步驟的關(guān)鍵目標(biāo)。1、面向?qū)ο蠓椒▽W(xué)概述 2、面向?qū)ο蠼?3、面向?qū)ο蠓治龅幕具^程4、面向?qū)ο蟮脑O(shè)計(jì)準(zhǔn)則8.1 概述l 面向?qū)ο蠓椒▽W(xué)的面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則出發(fā)點(diǎn)和基本原則,是,是盡可能模擬人類習(xí)盡可能模擬人類習(xí)慣的思維方式,慣的思維方式,使

25、開發(fā)軟件的方法與過程使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識(shí)盡可能接近人類認(rèn)識(shí)世界解決問題的方法與過程世界解決問題的方法與過程,也就是使描述問題的問題空間,也就是使描述問題的問題空間(也也稱為問題域稱為問題域)與實(shí)現(xiàn)解法的解空間與實(shí)現(xiàn)解法的解空間(也稱為求解域也稱為求解域)在結(jié)構(gòu)上盡可在結(jié)構(gòu)上盡可能一致。能一致。u認(rèn)為客觀世界是由各種對(duì)象組成的,任何事物都是對(duì)象,認(rèn)為客觀世界是由各種對(duì)象組成的,任何事物都是對(duì)象,復(fù)雜的對(duì)象可以由比較簡(jiǎn)單的對(duì)象以某種方式組合而成。復(fù)雜的對(duì)象可以由比較簡(jiǎn)單的對(duì)象以某種方式組合而成。u把所有對(duì)象都劃分成各種對(duì)象類把所有對(duì)象都劃分成各種對(duì)象類(簡(jiǎn)稱為類,簡(jiǎn)稱為類,cl

26、ass),每個(gè),每個(gè)對(duì)象類都定義了一組數(shù)據(jù)和一組方法。對(duì)象類都定義了一組數(shù)據(jù)和一組方法。u按照子類按照子類(或稱為派生類或稱為派生類)與父類與父類(或稱為基類或稱為基類)的關(guān)系,把的關(guān)系,把若干個(gè)對(duì)象類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)若干個(gè)對(duì)象類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級(jí)也稱為類等級(jí))。u對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系。對(duì)象彼此之間僅能通過傳遞消息互相聯(lián)系。類類又稱又稱對(duì)象類對(duì)象類一組具有相同屬性和一組具有相同屬性和相同操作的對(duì)象的集合相同操作的對(duì)象的集合。在一個(gè)類中,每個(gè)對(duì)象都是類的在一個(gè)類中,每個(gè)對(duì)象都是類的實(shí)例實(shí)例(instance) ,它們都可以使用類中提供的函數(shù)。,它們都可以使

27、用類中提供的函數(shù)。類具有屬性類具有屬性,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性,類具有操作,類具有操作,它 是 對(duì) 象 的 行 為 的 抽 象 , 操 作 實(shí) 現(xiàn) 的 過 程 稱 為 方 法它 是 對(duì) 象 的 行 為 的 抽 象 , 操 作 實(shí) 現(xiàn) 的 過 程 稱 為 方 法(method) ,方法有方法名,方法體和參數(shù)。,方法有方法名,方法體和參數(shù)。 由于對(duì)象是類的由于對(duì)象是類的實(shí)例實(shí)例,在進(jìn)行分析和設(shè)計(jì)時(shí),通常把注,在進(jìn)行分析和設(shè)計(jì)時(shí),通常把注意力集中在類上,而不是具體的對(duì)象上意力集中在類上,而不是具體的對(duì)象上。 實(shí)例:實(shí)例:實(shí)際上類是建立對(duì)象時(shí)使用的實(shí)際上類是建立對(duì)象時(shí)使用的

28、“樣板樣板”,按照,按照這個(gè)樣板所建立的一個(gè)個(gè)具體的對(duì)象,就是類的實(shí)際例子,這個(gè)樣板所建立的一個(gè)個(gè)具體的對(duì)象,就是類的實(shí)際例子,通常稱為通常稱為實(shí)例實(shí)例。當(dāng)使用。當(dāng)使用“對(duì)象對(duì)象”這個(gè)術(shù)語時(shí),既可以指一這個(gè)術(shù)語時(shí),既可以指一個(gè)具體的對(duì)象,也可以泛指一般的對(duì)象,但是,當(dāng)使用個(gè)具體的對(duì)象,也可以泛指一般的對(duì)象,但是,當(dāng)使用“實(shí)例實(shí)例”這個(gè)術(shù)語時(shí),必然是指一個(gè)具體的對(duì)象。這個(gè)術(shù)語時(shí),必然是指一個(gè)具體的對(duì)象。幾何對(duì)象幾何對(duì)象顏色顏色位置位置移動(dòng)(移動(dòng)(delta:矢量):矢量)選擇(選擇(P:指針型)指針型):布爾型布爾型旋轉(zhuǎn)旋轉(zhuǎn)(角度角度)人人姓姓 名名:字符串字符串年年 齡齡: 整整 型型改換工作

29、改換工作改換地址改換地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日期打印打印(人人)里斯里斯28繪圖員繪圖員人民路人民路8號(hào)號(hào)(人人)張山張山24程序員程序員無無類名類名屬性屬性運(yùn)算運(yùn)算 對(duì)象圖對(duì)象圖 類圖類圖 互相聯(lián)系、協(xié)同工互相聯(lián)系、協(xié)同工作等作等對(duì)象之間的聯(lián)系可表示為對(duì)象間的消息傳遞,即對(duì)象之間的聯(lián)系可表示為對(duì)象間的消息傳遞,即對(duì)象間的通訊機(jī)制。對(duì)象間的通訊機(jī)制。 一個(gè)消息應(yīng)該包含以下信息:消息名、接收消息對(duì)象一個(gè)消息應(yīng)該包含以下信息:消息名、接收消息對(duì)象的標(biāo)識(shí)、服務(wù)標(biāo)識(shí)的標(biāo)識(shí)、服務(wù)標(biāo)識(shí) 、消息和方法、輸入信息、回答信息。、消息和方法、輸入信息、回答信息。在對(duì)象的操作中當(dāng)

30、一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),消息在對(duì)象的操作中當(dāng)一個(gè)消息發(fā)送給某個(gè)對(duì)象時(shí),消息包含接收對(duì)象去執(zhí)行某種操作的消息。包含接收對(duì)象去執(zhí)行某種操作的消息。屬性:姓名屬性:姓名 年齡年齡 單位單位 職稱職稱 工資工資狀態(tài):李立狀態(tài):李立 25 計(jì)算機(jī)系計(jì)算機(jī)系 講師講師 900屬性:調(diào)工資屬性:調(diào)工資 評(píng)職稱評(píng)職稱 受受 聘聘方法:調(diào)工資方法:調(diào)工資 (計(jì)算公式)(計(jì)算公式) 評(píng)職稱評(píng)職稱 (步驟、條件)(步驟、條件)屬性:調(diào)工資屬性:調(diào)工資 評(píng)職稱評(píng)職稱 受受 聘聘李立,調(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í)行的的操作操作方方法法體體類:教師類:

31、教師對(duì)象:李立對(duì)象:李立抽象抽象實(shí)例實(shí)例抽象抽象實(shí)例實(shí)例抽象抽象方法名(參數(shù))方法名(參數(shù))圖8.7 對(duì)象、類和消息傳遞l 方法:方法:就是對(duì)象所能執(zhí)行的操作,也就是類中所定義的就是對(duì)象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。方法描述了對(duì)象執(zhí)行操作的算法,響應(yīng)消息的方法。服務(wù)。方法描述了對(duì)象執(zhí)行操作的算法,響應(yīng)消息的方法。在在C+語言中把方法稱為成員函數(shù)。語言中把方法稱為成員函數(shù)。l 屬性:屬性:就是類中所定義的數(shù)據(jù),它是對(duì)客觀世界實(shí)體所就是類中所定義的數(shù)據(jù),它是對(duì)客觀世界實(shí)體所具有的性質(zhì)的抽象。類的每個(gè)實(shí)例都有自己特有的屬性值。具有的性質(zhì)的抽象。類的每個(gè)實(shí)例都有自己特有的屬性值。在在C+語言

32、中把屬性稱為數(shù)據(jù)成員。語言中把屬性稱為數(shù)據(jù)成員。 繼承是使用現(xiàn)存的定義作為基礎(chǔ),建立新定義的技術(shù)。繼承是使用現(xiàn)存的定義作為基礎(chǔ),建立新定義的技術(shù)。是是父類和子類之間共享數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一父類和子類之間共享數(shù)據(jù)結(jié)構(gòu)和方法的機(jī)制,這是類之間的一種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的種關(guān)系。在定義和實(shí)現(xiàn)一個(gè)類的時(shí)候,可以在一個(gè)已經(jīng)存在的類的基礎(chǔ)上來進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容做為自類的基礎(chǔ)上來進(jìn)行,把這個(gè)已經(jīng)存在的類所定義的內(nèi)容做為自己的內(nèi)容,并加入若干新內(nèi)容。己的內(nèi)容,并加入若干新內(nèi)容。 繼承性分:繼承性分: 單重繼承:一個(gè)子類只有一個(gè)父類。即單重繼承:一個(gè)子類只有一個(gè)父類。即子類只繼承一個(gè)父類子類只繼承一個(gè)父類 的數(shù)據(jù)結(jié)構(gòu)和方法。的數(shù)據(jù)結(jié)構(gòu)和方法。 多重繼承:一個(gè)子類可有多個(gè)父類。繼承多個(gè)多重繼承:一個(gè)子類可有多個(gè)父類。繼承多個(gè)父類的數(shù)據(jù)結(jié)父類的數(shù)據(jù)結(jié) 構(gòu)和方法。構(gòu)和方法?;惢愖宇愖宇怉子類子類B圖 8.9 繼承性描述現(xiàn)存類定義現(xiàn)存類定義父類父類( (基類基類) )新類定義新類定義子類子類( (派生類派生類) )繼繼 承承圖 8.8

溫馨提示

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

評(píng)論

0/150

提交評(píng)論