版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
軟件工程課程的內(nèi)容軟件工程學(xué)概述結(jié)構(gòu)化方法學(xué)(生命周期方法學(xué))面向?qū)ο蠓椒▽W(xué)軟件項目管理可行性研究需求分析形式化說明技術(shù)總體設(shè)計詳細(xì)設(shè)計實現(xiàn)維護(hù)面向?qū)ο蠓椒▽W(xué)引論面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計面向?qū)ο髮崿F(xiàn)第1章軟件工程學(xué)概述重點(diǎn):1.產(chǎn)生軟件危機(jī)的原因2.消除軟件危機(jī)的途徑3.軟件工程的基本原理4.軟件生命周期的三個時期和八個階段5.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型復(fù)習(xí)要點(diǎn):1.軟件生命周期的3個時期、8個階段2.軟件工程方法學(xué):傳統(tǒng)方法學(xué)和面向?qū)ο蠓椒▽W(xué)3.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型第2章可行性研究重點(diǎn)1.畫系統(tǒng)流程圖的方法2.畫數(shù)據(jù)流圖的方法3.數(shù)據(jù)字典的用途4.數(shù)據(jù)字典的實現(xiàn)復(fù)習(xí)要點(diǎn)1.可行性研究主要研究系統(tǒng)的哪些可行性?2.掌握數(shù)據(jù)流圖的畫法3.數(shù)據(jù)流圖與程序流程圖的區(qū)別第3章需求分析重點(diǎn)1.需求分析的任務(wù)2.獲取需求的方法3.分析建模4.實體-聯(lián)系圖復(fù)習(xí)要點(diǎn)※1.需求分析的基本任務(wù)是分析系統(tǒng)做什么,確定系統(tǒng)的邏輯功能。2.需求分析階段建立3種模型:數(shù)據(jù)模型、功能模型、行為模型。3.掌握實體-聯(lián)系圖(E-R圖)的畫法。第5章總體設(shè)計重點(diǎn)1.設(shè)計原理:模塊化、模塊獨(dú)立2.面向數(shù)據(jù)流的設(shè)計方法復(fù)習(xí)要點(diǎn)1.模塊獨(dú)立的兩個定性標(biāo)準(zhǔn)度量:內(nèi)聚和耦合。2.面向數(shù)據(jù)流的設(shè)計方法第6章詳細(xì)設(shè)計重點(diǎn)1.結(jié)構(gòu)程序設(shè)計2.過程設(shè)計的工具:程序流程圖、N-S圖、判定表復(fù)習(xí)要點(diǎn)※1.程序的基本控制結(jié)構(gòu)有哪些?2.程序流程圖和N-S圖(盒圖)的基本符號3.會畫程序流程圖、N-S圖和判定表、判定樹第7章實現(xiàn)重點(diǎn)1.編碼風(fēng)格2.測試步驟3.Alpha和Beta測試4.白盒測試:邏輯覆蓋5.黑盒測試:等價劃分6.調(diào)試途徑復(fù)習(xí)要點(diǎn)1.測試的目的、任務(wù)及分類(黑盒測試和白盒測試)2.Alpha和Beta測試3.掌握邏輯覆蓋法4.掌握等價劃分法和邊界值分析法第8章維護(hù)重點(diǎn)1.軟件維護(hù)的定義2.軟件維護(hù)的類型3.軟件維護(hù)的過程4.決定軟件可維護(hù)性的因素復(fù)習(xí)要點(diǎn)1.軟件維護(hù):改正性維護(hù)、適應(yīng)性維護(hù)、完善性維護(hù)、預(yù)防性維護(hù)2.決定軟件可維護(hù)性的因素:可理解性、可測試性、可修改性、可移植性、可重用性第9章面向?qū)ο蠓椒▽W(xué)引論重點(diǎn)1.面向?qū)ο蠓椒▽W(xué)與結(jié)構(gòu)化方法學(xué)的區(qū)別2.面向?qū)ο蟮幕靖拍睿簩ο笈c類3.面向?qū)ο蠼5娜N模型:對象模型、動態(tài)模型、功能模型4.用例圖5.三種模型之間的關(guān)系復(fù)習(xí)要點(diǎn)1.面向?qū)ο蠓椒▽W(xué)與結(jié)構(gòu)化方法學(xué)的區(qū)別2.面向?qū)ο蠓椒▽W(xué)及意義3.面向?qū)ο蠼5娜N模型及三種模型之間的關(guān)系4.面向?qū)ο蠓椒▽W(xué)的優(yōu)點(diǎn)第10章面向?qū)ο蠓治鲋攸c(diǎn)1.建立對象模型:確定類與對象、確定關(guān)聯(lián)2.建立動態(tài)模型:編寫腳本、畫事件跟蹤圖、畫狀態(tài)圖3.建立功能模型:畫基本系統(tǒng)模型、畫功能級數(shù)據(jù)流圖復(fù)習(xí)要點(diǎn)1.建立對象模型、動態(tài)模型、功能模型2.動態(tài)模型和功能模型中包含了對象模型中的操作(即服務(wù)或方法)3.面向?qū)ο蠓治龅氖滓ぷ魇墙栴}域的對象模型。第11章面向?qū)ο笤O(shè)計重點(diǎn)1.啟發(fā)規(guī)則2.設(shè)計數(shù)據(jù)管理子系統(tǒng)3.確定類中應(yīng)用的服務(wù)4.設(shè)計實現(xiàn)服務(wù)的方法復(fù)習(xí)要點(diǎn)1.面向?qū)ο笤O(shè)計準(zhǔn)則有哪些?2.數(shù)據(jù)存儲管理模式有哪些?3.需要綜合考慮對象模型、動態(tài)模型和功能模型,才能正確確定類中應(yīng)用的服務(wù)。4.設(shè)計實現(xiàn)服務(wù)的方法第12章面向?qū)ο髮崿F(xiàn)重點(diǎn)1.提高可重用性的方法2.測試類的方法復(fù)習(xí)要點(diǎn)1.面向?qū)ο髮崿F(xiàn)包括哪兩項工作?2.提高可重用性的方法有哪些?3.測試類的方法有哪些?13第1章軟件工程學(xué)概述
1、什么是軟件危機(jī)?P12、軟件危機(jī)產(chǎn)生的原因有哪些?P33、什么是軟件工程?P54、軟件工程方法學(xué)包含哪些要素?P95、在軟件過程中有哪些模型?他們各自的特點(diǎn)是哪些?P15—P2214第2章可行性研究
1、可行性研究的目的是什么?P252、應(yīng)從哪些方面研究可行性?P253、如何畫系統(tǒng)流程圖?P27—P304、如何畫數(shù)據(jù)流圖?P30—P375、了解數(shù)據(jù)字典及成本效益分析。15數(shù)據(jù)流圖(DataFlowDiagram,DFD)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具,它標(biāo)識了一個系統(tǒng)的邏輯輸入和邏輯輸出,以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需的加工處理。2.4數(shù)據(jù)流圖2.4數(shù)據(jù)流圖(DFD)數(shù)據(jù)存儲數(shù)據(jù)源點(diǎn)或終點(diǎn)處理加工名數(shù)據(jù)流數(shù)據(jù)流名文件名實體名箭頭圓或橢圓單或雙杠矩形框還有一些輔助的圖例:一、數(shù)據(jù)流圖的圖符四種基本圖形符號:TAB*CTAB*CTAB+CTAB+CTABC+TABC+*
與
+或互斥+162.4數(shù)據(jù)流圖舉例:儲戶儲戶1記錄存款信息打印存款信息存款單存款信息存款存單3計算利息4打印利息清單存款信息利息值利息清單D1存款信息存款信息217細(xì)化后的計算機(jī)儲蓄系統(tǒng)軟件結(jié)構(gòu)18第3章需求分析
1、需求分析的基本任務(wù)是什么?P46-P482、分析建模
2.1什么是模型?模型:就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形符號和組織這些符號的規(guī)則組成。
2.2數(shù)據(jù)模型(E-R)、功能模型(2.4節(jié)數(shù)據(jù)流圖)、行為模型(狀態(tài)轉(zhuǎn)換圖是行為模型的基礎(chǔ))3、要從哪些方面驗證軟件需求?P6019第4章形式化說明技術(shù)
軟件工程的使用方法非形式化:用自然語言描述需求規(guī)格說明半形式化:用數(shù)據(jù)流圖或?qū)嶓w—聯(lián)系圖建立模型形式化:描述系統(tǒng)性質(zhì)的基于數(shù)學(xué)的技術(shù)1、有窮狀態(tài)機(jī)P67—P722、Petri網(wǎng)技術(shù)P72—P7520第5章總體設(shè)計
1、在設(shè)計過程中,總體設(shè)計一般有哪兩個主要階段組成?P812、什么模塊化?模塊獨(dú)立性包含哪些內(nèi)容?度量準(zhǔn)則是什么?P85—P893、啟發(fā)規(guī)則有哪些?P90—P924、描繪軟件結(jié)構(gòu)的圖形工具P92-P945、面向數(shù)據(jù)流的設(shè)計方法P95—P102215.2設(shè)計原理5.2.1模塊化
模塊是程序?qū)ο笥忻值募稀@?,過程、函數(shù)、子程序、宏等,是構(gòu)成軟件系統(tǒng)結(jié)構(gòu)的基本元素。
模塊化就是將系統(tǒng)劃分為若干個模塊,每個模塊完成一個子功能。模塊化的目的是將系統(tǒng)“分而治之”,模塊化能夠降低問題的復(fù)雜性,使軟件結(jié)構(gòu)清晰,易閱讀、易理解,易于測試和調(diào)試,因而也有助于提高軟件的可靠性。22模塊化降低軟件復(fù)雜度的簡單證明5.2.5模塊獨(dú)立5.2.5模塊獨(dú)立“模塊”,又稱“構(gòu)件”,一般指用一個名字可調(diào)用的一段程序。它一般具有如下三個基本屬性:⑴功能即指該模塊實現(xiàn)什么功能,做什么事情。必須注意:模塊功能,應(yīng)是該模塊本身的功能加上它所調(diào)用的所有子模塊的功能。⑵邏輯即描述模塊內(nèi)部怎么做。⑶狀態(tài)即該模塊使用時的環(huán)境和條件。所謂模塊的獨(dú)立性,是指軟件系統(tǒng)中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統(tǒng)中其他模塊的接口是簡單的。即功能專一,模塊之間無過多的相互作用的模塊。這種類型的模塊可以并行開發(fā),模塊獨(dú)立性越強(qiáng),開發(fā)越容易。獨(dú)立性強(qiáng)的模塊,還能減少錯誤的影響,使模塊容易組合、修改及測試。235.2.5模塊獨(dú)立性模塊獨(dú)立性的度量標(biāo)準(zhǔn)是兩個定性準(zhǔn)則:
耦合性用于描述模塊之間聯(lián)系的緊密程度。
內(nèi)聚性用于描述模塊內(nèi)部聯(lián)系的緊密程度。模塊獨(dú)立性比較強(qiáng)的模塊應(yīng)該是具有高內(nèi)聚性和的低耦合度。
24圖5.8變換型數(shù)據(jù)流圖的基本模型
5.5.1概念–
變換流25圖事務(wù)型數(shù)據(jù)流圖的基本模型5.5.1概念–
事務(wù)流26變換分析設(shè)計:把具有變換流特點(diǎn)的數(shù)據(jù)流圖按預(yù)先確定的模式映射成軟件結(jié)構(gòu)。不具有顯著的事務(wù)特點(diǎn)。雖然在任何情況下都可以使用變換分析方法設(shè)計軟件結(jié)構(gòu),但是在數(shù)據(jù)流具有明顯的事務(wù)特點(diǎn)時,也就是有一個明顯的“發(fā)射中心”(事務(wù)中心)時,還是以采用事務(wù)分析方法為宜。兩者的主要差別僅在于由數(shù)據(jù)流圖到軟件結(jié)構(gòu)的映射方法不同。27第6章詳細(xì)設(shè)計
1、結(jié)構(gòu)程序設(shè)計中有哪幾種基本控制結(jié)構(gòu)?P1082、了解人機(jī)界面的設(shè)計。3、掌握過程設(shè)計的工具(程序流程圖、盒圖、PAD圖,判定樹)P114—P1194、面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法(Jackson圖)5、程序復(fù)雜度的定量度量(McCabe)286.1結(jié)構(gòu)程序設(shè)計6.1結(jié)構(gòu)程序設(shè)計圖6.13種基本的控制結(jié)構(gòu)296.1結(jié)構(gòu)程序設(shè)計其他常用的控制結(jié)構(gòu)圖6.2其他常用的控制結(jié)構(gòu)306.3.1程序流程圖
程序流程圖是最早出現(xiàn)且使用較為廣泛的算法表達(dá)工具之一,能夠有效地描述問題求解過程中的程序邏輯結(jié)構(gòu)。程序流程圖中經(jīng)常使用的基本符號如圖6.3所示。圖6.3程序流程圖中使用的符號31N-S圖又稱為盒圖,它是為了保證結(jié)構(gòu)化程序設(shè)計而由Nassi和Shneiderman共同提出的一種圖形工具。在N-S圖中,所有的程序結(jié)構(gòu)均使用矩形框表示,它可以清晰地表達(dá)結(jié)構(gòu)中的嵌套及模塊的層次關(guān)系。N-S圖中,基本控制結(jié)構(gòu)的表示符號如圖6.4所示。6.3.2N-S圖326.3.2N-S圖圖6.4盒圖的基本符號33圖6.5PAD中基本符號順序結(jié)構(gòu);(b)分支結(jié)構(gòu);(c)多分支CASE結(jié)構(gòu);(d)當(dāng)型循環(huán);(e);直到型循環(huán);(f)語句標(biāo)號;(g)定義6.3.3PAD圖346.3.3PAD圖圖6.6使用PAD圖提供的定義功能來逐步求精的例子356.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法Jackson方法和Warnier方法是最著名的兩個面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法36Jackson方法是由英國的M.A.Jackson在1975年首先提出的,他同時還提出了與這種方法配套使用的、用于描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)和程序結(jié)構(gòu)的圖形工具,被稱為Jackson圖。Jackson方法從目標(biāo)系統(tǒng)的輸入、輸出數(shù)據(jù)結(jié)構(gòu)入手,導(dǎo)出程序框架結(jié)構(gòu),再補(bǔ)充其他細(xì)節(jié),就可得到完整的程序結(jié)構(gòu)圖。這一方法對輸入、輸出數(shù)據(jù)結(jié)構(gòu)明確的中、小型系統(tǒng)特別有效,如商業(yè)應(yīng)用中的文件、表格處理。該方法也可與其他方法結(jié)合,用于模塊的詳細(xì)設(shè)計。6.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法6.4.1Jackson圖37圖6.8三種基本結(jié)構(gòu)在Jackson圖中的表示符號(a)順序結(jié)構(gòu);(b)選擇結(jié)構(gòu);(c);循環(huán)結(jié)構(gòu)6.4.1Jackson圖(a)(c)(b)386.4面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法6.4.2改進(jìn)的Jackson圖圖6.9改進(jìn)的Jackson圖396.5程序復(fù)雜程度的定量度量
定量度量程序復(fù)雜程度的方法很有價值:把程序的復(fù)雜程度乘以適當(dāng)常數(shù)即可估算出軟件中錯誤的數(shù)量以及軟件開發(fā)需要用的工作量,定量度量的結(jié)果可以用來比較兩個不同的設(shè)計或兩個不同算法的優(yōu)劣;程序的定量的復(fù)雜程度可以作為模塊規(guī)模的精確限度。406.5程序復(fù)雜程度的定量度量6.5.1McCabe方法McCabe方法根據(jù)程序控制流的復(fù)雜程度定量度量程序的復(fù)雜程度,這樣度量出的結(jié)果稱為程序的環(huán)形復(fù)雜度。為了突出表示程序的控制流,人們通常使用流圖(也稱為程序圖)。所謂流圖實質(zhì)上是“退化了的”程序流程圖,它僅僅描繪程序的控制流程,完全不表現(xiàn)對數(shù)據(jù)的具體操作以及分支或循環(huán)的具體條件。416.5程序復(fù)雜程度的定量度量圖6.16把程序流程圖影射成流圖42
環(huán)形復(fù)雜度定量度量程序的邏輯復(fù)雜度。有了描繪程序控制流的流圖之后,可以用下述3種方法中的任何一種來計算環(huán)形復(fù)雜度。(1)流圖中的區(qū)域數(shù)等于環(huán)形復(fù)雜度。(2)流圖G的環(huán)形復(fù)雜度V(G)=E-N+2,其中,E是流圖中邊的條數(shù),N是結(jié)點(diǎn)數(shù)。(3)流圖G的環(huán)形復(fù)雜度V(G)=P+1,其中,P是流圖中判定結(jié)點(diǎn)的數(shù)目。6.5.1計算環(huán)形復(fù)雜度的方法43第7章實現(xiàn)
1、編碼2、測試技術(shù)P139—P1693、調(diào)試的途徑有哪些?P1684、軟件可靠性和可用性的基本概念P16944
編碼:把軟件設(shè)計結(jié)果翻譯成用某種程序語言書寫的程序。測試:軟件測試的目的是在軟件投入生產(chǎn)性運(yùn)行前,盡可能多的發(fā)現(xiàn)軟件中的錯誤。
實現(xiàn)編碼和測試457.2軟件測試基礎(chǔ)7.2軟件測試基礎(chǔ)
軟件測試:為發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程。軟件測試的準(zhǔn)則(盡早和不斷的測試、徹底測試的不可能、軟件測試是有風(fēng)險的行為、并非所有的軟件錯誤都能恢復(fù)、反向思維邏輯、由小到大的測試范圍、避免檢查自己的代碼、追溯至用戶需求)測試方法(黑盒測試和白盒測試)測試步驟(模塊測試、子系統(tǒng)測試、系統(tǒng)測試、驗收測試、平行運(yùn)行)46
測試內(nèi)容模塊模塊接口測試局部數(shù)據(jù)結(jié)構(gòu)測試重要路徑測試錯誤處理測試邊界條件測試I/O參數(shù)值的個數(shù)、類型、次序、格式是否正確,I/O文件屬性、操作是否正確等。數(shù)據(jù)說明是否正確、一致,變量及其初值定義是否正確等。檢查“錯誤處理程序”本身的錯誤。邊界條件常包括循環(huán)邊界,最大最小值、控制流中等于、大于、小于的比較值等。重要路徑通常是指完成模塊功能的主要路徑,一般是控制結(jié)構(gòu)。也稱模塊測試(moduletesting)7.3.1單元測試重點(diǎn)7.3單元測試47白盒法又稱為邏輯覆蓋法,其測試用例選擇,是按照不同覆蓋標(biāo)準(zhǔn)確定的。語句覆蓋判定覆蓋條件覆蓋判定條件覆蓋條件組合覆蓋弱強(qiáng)7.6白盒測試技術(shù)7.6白盒測試技術(shù)48①語句覆蓋:選擇足夠的測試用例,使得程序中每個語句至少都能被執(zhí)行一次。②
判定覆蓋:執(zhí)行足夠的測試用例,使得程序中每個判定至少都獲得一次“真”值和“假”值。③條件覆蓋:執(zhí)行足夠的測試用例,使得判定中的每個條件獲得各種可能的結(jié)果。④
判定/條件覆蓋:執(zhí)行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能的結(jié)果。⑤
條件組合覆蓋:執(zhí)行足夠的例子,使得每個判定中條件的各種可能組合都至少出現(xiàn)一次。白盒法常用的覆蓋標(biāo)準(zhǔn)49等價分類法邊值分析法錯誤推測法黑盒法
不考慮程序的內(nèi)部結(jié)構(gòu)與特性,只根據(jù)程序功能或程序的外部特性設(shè)計測試用例。7.7黑盒測試技術(shù)7.7黑盒測試技術(shù)501、等價分類法基本思想:根據(jù)程序的I/O特性,將程序的定義域劃分為有限個等價區(qū)段—“等價類”,從等價類中選擇出的用例,具有“代表性”。等價類分為:有效等價類
—對于程序的規(guī)格說明是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。無效等價類
—對于程序的規(guī)格說明,是不合理的,是沒有意義的輸入數(shù)據(jù)構(gòu)成的集合。512、邊值分析法基本思想:選擇等價類的邊緣值作為測試用例,讓每個等價類的邊界都得到測試,選擇測試用例既考慮輸入亦考慮輸出。分析步驟:
A、先劃分等價類。
B、選擇測試用例,測試等價類邊界。邊界選擇原則:
A、按照輸入值范圍的邊界。
B、按照輸入/輸出值個數(shù)的邊界。
C、輸出值域的邊界。
D、輸入/輸出有序集的邊界。
523、錯誤推測法
錯誤推測法的概念:憑經(jīng)驗或直覺推測可能的錯誤,列出程序中可能有的錯誤和容易發(fā)生錯誤的特殊情況,選擇測試用例。錯誤推測方法的基本思想:列舉出程序中所有可能有的錯誤和容易發(fā)生錯誤的特殊情況,根據(jù)它們選擇測試用例。例如:在單元測試時曾列出的許多在模塊中常見的錯誤、以前產(chǎn)品測試中曾經(jīng)發(fā)現(xiàn)的錯誤等,這些就是經(jīng)驗的總結(jié)。還有,輸入數(shù)據(jù)和輸出數(shù)據(jù)為0的情況、輸入表格為空格或輸入表格只有一行等。這些都是容易發(fā)生錯誤的情況,可選擇這些情況下的例子作為測試用例。53
調(diào)試(也稱為糾錯)作為成功測試的后果出現(xiàn),也就是說,調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。
調(diào)試過程如下圖所示:7.8調(diào)試7.8調(diào)試54
無論采用什么方法,調(diào)試的目標(biāo)都是尋找軟件錯誤的原因并改正錯誤。通常需要把系統(tǒng)地分析、直覺和運(yùn)氣組合起來,才能實現(xiàn)上述目標(biāo)。一般說來,有下列3種調(diào)試途徑可以采用:蠻干法回溯法原因排除法7.8調(diào)試途徑55
軟件可靠性的定義:對于軟件可靠性有許多不同的定義,其中多數(shù)人承認(rèn)的一個定義是:軟件可靠性是程序在給定的時間間隔內(nèi),按照規(guī)格說明書的規(guī)定成功地運(yùn)行的概率
軟件可用性的一個定義:軟件可用性是程序在給定的時間點(diǎn),按照規(guī)格說明書的規(guī)定,成功地運(yùn)行的概率。7.9調(diào)試7.9軟件的可靠性56第8章維護(hù)1、軟件維護(hù)的定義P1792、了解軟件維護(hù)的特點(diǎn)3、軟件維護(hù)過程中維護(hù)組織包括哪些人員?P1828.4決定軟件的可維護(hù)性的因素有哪些?P185—P1868.5軟件再工程過程578.1軟件維護(hù)的定義8.1軟件維護(hù)的定義
軟件維護(hù)是指軟件系統(tǒng)交付使用以后,為了改正錯誤或滿足新的需求而修改軟件的過程。按照不同的維護(hù)目的,維護(hù)工作可分成4類。完善性維護(hù)(PerfectiveMaintenance):擴(kuò)充原有系統(tǒng)的功能,提高原有系統(tǒng)的性能,滿足用戶的實際需要。糾錯性維護(hù)(CorrectiveMaintenance):對在測試階段未能發(fā)現(xiàn)的,在軟件投入使用后才逐漸暴露出來的錯誤的測試、診斷、定位、糾錯以及驗證、修改的回歸測試過程。適應(yīng)性維護(hù)(AdaptiveMaintenance):要使運(yùn)行的軟件能適應(yīng)運(yùn)行環(huán)境的變動而修改軟件的過程。預(yù)防性維護(hù)(PreventiveMaintenance):為了進(jìn)一步改善軟件的可靠性和易維護(hù)性,或者為將來的維護(hù)奠定更好的基礎(chǔ)而對軟件進(jìn)行修改。(8.5節(jié))588.3軟件維護(hù)過程圖8.1維護(hù)組織598.4軟件的可維護(hù)性軟件的可維護(hù)性定性地定義為:維護(hù)人員理解、改正、改動或改進(jìn)這個軟件的難易程度。重用:同一事物不做修改或稍加改動就在不同環(huán)境中多次重復(fù)使用。提高可維護(hù)性是支配軟件工程方法學(xué)所有步驟的關(guān)鍵目標(biāo)。60第9章面向?qū)ο笙嚓P(guān)內(nèi)容
1、面向?qū)ο蠓椒▽W(xué)概述P193—P2002、面向?qū)ο蠼#êw第9章和第10章)3、面向?qū)ο蠓治龅幕具^程4、面向?qū)ο蟮脑O(shè)計準(zhǔn)則619.1.1要點(diǎn)9.1概述
面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則,是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界解決問題的方法與過程,也就是使描述問題的問題空間(也稱為問題域)與實現(xiàn)解法的解空間(也稱為求解域)在結(jié)構(gòu)上盡可能一致。認(rèn)為客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜的對象可以由比較簡單的對象以某種方式組合而成。把所有對象都劃分成各種對象類(簡稱為類,class),每個對象類都定義了一組數(shù)據(jù)和一組方法。按照子類(或稱為派生類)與父類(或稱為基類)的關(guān)系,把若干個對象類組成一個層次結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。對象彼此之間僅能通過傳遞消息互相聯(lián)系。62
面向?qū)ο蟮姆椒▽W(xué)可以用下列方程來概括:OO=objects+classes+inheritance+communicationwithmessages也就是說,面向?qū)ο缶褪羌仁褂脤ο笥质褂妙惡屠^承等機(jī)制,而且對象之間僅能通過傳遞消息實現(xiàn)彼此通信。如果僅使用對象和消息,則這種方法可以稱為基于對象的(object-based)方法,而不能稱為面向?qū)ο蟮姆椒ǎ蝗绻M(jìn)一步要求把所有對象都劃分為類,則這種方法可稱為基于類的(class-based)方法,但仍然不是面向?qū)ο蟮姆椒āV挥型瑫r使用對象、類、繼承和消息的方法,才是真正面向?qū)ο蟮姆椒ā?3類(Class)類又稱對象類(ObjectClass),是一組具有相同屬性和相同操作的對象的集合。在一個類中,每個對象都是類的實例(instance)
,它們都可以使用類中提供的函數(shù)。類具有屬性,用數(shù)據(jù)結(jié)構(gòu)來描述類的屬性,類具有操作,它是對象的行為的抽象,操作實現(xiàn)的過程稱為方法(method)
,方法有方法名,方法體和參數(shù)。
由于對象是類的實例,在進(jìn)行分析和設(shè)計時,通常把注意力集中在類上,而不是具體的對象上。9.1.4其它概念64
實例:實際上類是建立對象時使用的“樣板”,按照這個樣板所建立的一個個具體的對象,就是類的實際例子,通常稱為實例。當(dāng)使用“對象”這個術(shù)語時,既可以指一個具體的對象,也可以泛指一般的對象,但是,當(dāng)使用“實例”這個術(shù)語時,必然是指一個具體的對象。65幾何對象顏色位置移動(delta:矢量)選擇(P:指針型):布爾型旋轉(zhuǎn)(角度)圖9.5對象類的描述人姓名:字符串年齡:整型改換工作改換地址文件文件名文件大小最近更新日期打印(人)里斯28繪圖員人民路8號(人)張山24程序員無圖9.6對象的描述對象和類的描述
對象和類一般采用“對象圖”和“類圖”來描述。類名屬性運(yùn)算
對象圖
類圖66消息(Message)
消息就是向?qū)ο蟀l(fā)出的服務(wù)請求(互相聯(lián)系、協(xié)同工作等)。對象之間的聯(lián)系可表示為對象間的消息傳遞,即對象間的通訊機(jī)制。一個消息應(yīng)該包含以下信息:消息名、接收消息對象的標(biāo)識、服務(wù)標(biāo)識、消息和方法、輸入信息、回答信息。注意:在并發(fā)系統(tǒng)中,多個控制線程(ThreadofControl)并發(fā)執(zhí)行,情況就復(fù)雜得多,消息可以是發(fā)出服務(wù)請求、提交數(shù)據(jù)、發(fā)布事件信息、或是傳遞同步控制信息。在對象的操作中當(dāng)一個消息發(fā)送給某個對象時,消息包含接收對象去執(zhí)行某種操作的消息。67消息(Message)屬性:姓名年齡單位職稱工資狀態(tài):李立
25
計算機(jī)系講師
900屬性:調(diào)工資評職稱受聘方法:調(diào)工資(計算公式)評職稱(步驟、條件)屬性:調(diào)工資評職稱受聘李立,調(diào)工資(??????)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)值人事處向?qū)ο蟀l(fā)消息執(zhí)行的操作方法體類:教師對象:李立抽象實例抽象實例抽象方法名(參數(shù))圖9.7對象、類和消息傳遞68
方法:就是對象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。方法描述了對象執(zhí)行操作的算法,響應(yīng)消息的方法。在C++語言中把方法稱為成員函數(shù)。
屬性:就是類中所定義的數(shù)據(jù),它是對客觀世界實體所具有的性質(zhì)的抽象。類的每個實例都有自己特有的屬性值
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電力設(shè)備出口銷售合同(含遠(yuǎn)程監(jiān)控)4篇
- 2025年度建筑材料行業(yè)環(huán)保責(zé)任保險合同2篇
- 二零二五年度定制款窗戶安裝及維護(hù)服務(wù)合同4篇
- 二零二五年度山地林業(yè)合作開發(fā)合同4篇
- 2025年電力設(shè)施安檢服務(wù)采購協(xié)議書3篇
- 二零二五版電動汽車銷售與充電樁投資建設(shè)合同3篇
- 2025年度城市軌道交通鉆孔工程承包協(xié)議4篇
- 二零二五年度綠城地產(chǎn)項目物業(yè)服務(wù)收費(fèi)標(biāo)準(zhǔn)調(diào)整合同4篇
- 二零二五年度高品質(zhì)陶瓷面磚批量采購協(xié)議4篇
- 2025年度智能門禁系統(tǒng)門崗聘用合同4篇
- GB/T 37238-2018篡改(污損)文件鑒定技術(shù)規(guī)范
- 普通高中地理課程標(biāo)準(zhǔn)簡介(湘教版)
- 河道治理工程監(jiān)理通知單、回復(fù)單范本
- 超分子化學(xué)簡介課件
- 高二下學(xué)期英語閱讀提升練習(xí)(一)
- 易制爆化學(xué)品合法用途說明
- 【PPT】壓力性損傷預(yù)防敷料選擇和剪裁技巧
- 大氣喜慶迎新元旦晚會PPT背景
- DB13(J)∕T 242-2019 鋼絲網(wǎng)架復(fù)合保溫板應(yīng)用技術(shù)規(guī)程
- 心電圖中的pan-tompkins算法介紹
- 羊絨性能對織物起球的影響
評論
0/150
提交評論