軟件工程7軟件維護pt課件_第1頁
軟件工程7軟件維護pt課件_第2頁
軟件工程7軟件維護pt課件_第3頁
軟件工程7軟件維護pt課件_第4頁
軟件工程7軟件維護pt課件_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第7章 軟件維護掌握:掌握:軟件維護的定義、軟件維護的種類、軟件維護的策略、軟件維護的實施、軟件可維護的定義、軟件可維護性度量、提高軟件可維護性的方法。7.1 軟件維護的概念7.1.1 軟件維護的定義第一,它是在軟件交付之后進行的,此時絕大部分的軟件已開發(fā)完成;第二,它是基于某種目的(如訂正錯誤、改善性能或其他屬性,或者適應變化的環(huán)境等)而對原有系統(tǒng)的一種修改。7.1.2 軟件維護的種類 要求進行維護的原因多種多樣,歸結(jié)起來主要有3種類型: (1)改正在特定的使用條件下暴露出來的一些潛在程序錯誤或設計缺陷。 (2)因在軟件使用過程中數(shù)據(jù)環(huán)境發(fā)生變化(如一個事務處理代碼發(fā)生改變)或處理環(huán)境發(fā)生變

2、化(如安裝了新的硬件或操作系統(tǒng)),需要修改軟件以適應這種變化。 (3)用戶和數(shù)據(jù)處理人員在使用時常提出改進現(xiàn)有功能,增加新的功能,以及改善總體性能的要求,為滿足這些要求,就需要修改軟件,把這些要求納入到軟件之中。 1改正性維護 在軟件交付使用后,由于開發(fā)時測試的不徹底、不完全,必然會有一部分隱藏的錯誤被帶到運行階段來。這些隱藏的錯誤在某些特定的使用環(huán)境中就會暴露。為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用而進行的診斷和改正錯誤的過程,就叫做改正性維護。 2適應性維護 隨著計算機技術的飛速發(fā)展,外部環(huán)境(新的硬、軟件配置)或數(shù)據(jù)環(huán)境(數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入輸出方式、數(shù)據(jù)

3、存儲介質(zhì))可能發(fā)生變化,為了使軟件適應這種變化,而修改軟件的過程就叫做適應性維護。 3完善性維護 在軟件的使用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。這種情況下進行的維護活動叫做完善性維護。 4預防性維護 除了以上3類維護之外,還有一類維護活動,叫做預防性維護,這種維護活動為了提高軟件的可維護性、可靠性,為以后進一步改進軟件打下良好基礎。7.1.3 軟件維護的策略 1改正性維護策略 在軟件開發(fā)過程中,可以通過使用新技術大大提高軟件的可靠性,并減少改正性維護。這些技術包括數(shù)據(jù)庫管理系統(tǒng)

4、、軟件開發(fā)環(huán)境、程序自動生成系統(tǒng)、較高級(第四代)語言,應用這些技術可產(chǎn)生更加可靠的代碼。此外,還可利用以下方法提高軟件的可靠性: (1)利用應用軟件包。利用應用軟件包可開發(fā)出比完全由用戶自己開發(fā)的系統(tǒng)可靠性更高的軟件。 (2)結(jié)構(gòu)化技術。用結(jié)構(gòu)化技術開發(fā)的軟件易于理解和測試。 (3)防錯性程序設計。把自檢能力引入程序,通過非正常狀態(tài)的檢查提供審查跟蹤。 (4)周期性維護審查。通過周期性維護審查,在形成維護問題之前就可確定質(zhì)量缺陷。 2適應性維護策略 適應性維護不可避免,但可以控制。 (1)配置管理適應性維護時就考慮到硬件變化,以及操作系統(tǒng)和其他相關環(huán)境因素的可能變化,可以減少某些適應性維護的

5、工作量。 (2)將與硬件、操作系統(tǒng),以及其他外圍設備有關的程序歸到特定的程序模塊中,也可以減少某些適應性維護的工作量。 (3)使用內(nèi)部程序列表、外部文件以及處理的例行程序包,可為維護時修改程序提供參考。 3完善性維護策略 用前兩類維護中列舉的方法,也可以減少完善性維護的工作量。此外,通過為用戶提供軟件系統(tǒng)的原型,使用戶通過研究原型進一步完善他們的功能要求,同樣可以減少完善性維護。7.1.4 軟件維護的代價軟件維護的代價與軟件的復雜性有關。近些年來,隨著軟件復雜性的不斷提高,軟件維護的代價也在逐步上升。根據(jù)有關資料表明,70年代用于維護軟件的費用只占軟件總預算的35%40%,80年代上升為40%

6、60%,到了90年代則上升為70%80%。除此之外,軟件維護還有一些額外的代價。例如,當看起來合理的變更要求不能及時滿足時,可能會引起用戶的不滿;由于維護時的改動,在軟件中引入新的錯誤,從而降低了軟件的質(zhì)量;當必須把軟件開發(fā)工程師調(diào)去從事維護工作時,對開發(fā)工作會造成影響等。7.2 軟件維護的實施7.2.1 維護組織圖7-1 軟件維護控制流程7.2.2 維護申請報告 維護申請報告是由軟件組織外部提交的文檔,它是計劃維護工作的基礎。軟件組織內(nèi)部應相應地做出軟件修改報告,指明: (1)修改變動的性質(zhì)。 (2)申請修改的優(yōu)先級。 (3)為滿足某個維護申請報告,所需的工作量。 7.2.3 軟件維護工作流

7、程7.2.4 維護評價 維護評價是指對軟件維護的過程進行評價??蓞⒖嫉亩攘恐等缦拢?(1)每次程序運行時的平均出錯次數(shù)。 (2)花費在每類維護上的總“人時”數(shù)。 (3)每個程序、每種語言、每種維護類型的程序平均修改次數(shù)。 (4)因為維護、增加或刪除每個源程序語句所花費的平均“人時”。 (5)用于每種語言的平均“人時”數(shù)。 (6)維護申請報告的平均處理時間。 (7)各類維護申請的百分比。7.3 軟件可維護性7.3.1 軟件可維護性的定義軟件可維護性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求而進行修改、擴充或壓縮的難易程度。7.3.2 軟件可維護性度量 1可理解性 可理解性表明人們通過閱

8、讀源代碼和相關文檔,了解程序功能及其如何運行的難易程度。一個可理解的程序主要應具備以下特性: (1)模塊化。模塊結(jié)構(gòu)良好、功能完整、簡明。 (2)風格一致性。代碼風格及設計風格的一致性。 (3)不使用令人琢磨不定或含糊不清的代碼。 (4)使用有意義的數(shù)據(jù)名和過程名。 (5)結(jié)構(gòu)化。 (6)完整性。對輸入數(shù)據(jù)進行完整性檢查。 2可靠性 可靠性表明一個程序按照用戶的要求和設計目標,在給定的一段時間內(nèi)正確執(zhí)行的概率。關于可靠性,度量的標準主要有: (1)平均失效間隔時間mttf,即兩次失效之間的平均操作時間。 (2)平均修復時間mttr,即修復一個故障平均需用的時間。 (3)有效性a=(mttf/(

9、mttf+mttr)。 度量可靠性的方法,主要有兩種: (1)根據(jù)程序錯誤統(tǒng)計數(shù)字進行可靠性預測。 (2)根據(jù)程序復雜性預測軟件可靠性。 3可測試性 可測試性表明論證程序正確性的容易程度。程序越簡單,證明其正確性就越容易。設計合適的測試用例,取決于對程序的全面理解。因此,一個可測試的程序應當是可理解的、可靠的。 對于程序模塊,可用程序復雜性來度量可測試性。程序的環(huán)路復雜性越大,程序的路徑就越多,全面測試程序的難度也就越大。 4可修改性 可修改性表明程序容易修改的程度。一個可修改的程序應當是可理解的、通用的、靈活的。其中,通用性是指程序適用于各種功能變化而無需修改,靈活性是指能夠容易地對程序進行

10、修改。 5可移植性 可移植性表明程序轉(zhuǎn)移到一個新的計算環(huán)境的可能性的大小,或者表明程序可以有效地在各種環(huán)境中運行的容易程度。一個可移植的程序應具有結(jié)構(gòu)良好、靈活,不依賴于某一具體計算機或操作系統(tǒng)的性能。 6效率 效率表明一個程序能執(zhí)行預定功能而又不浪費機器資源的程度。這些機器資源包括內(nèi)存容量、外存容量、通道容量和執(zhí)行時間。 7可使用性 從用戶觀點出發(fā),把可使用性定義為程序方便、實用、易于使用的程度。一個可用程序應當是易于使用的,能允許用戶出錯,并盡可能不使用戶陷入混亂狀態(tài)的程序。改正性維護適應性維護完善性維護可理解性可測試性可修改性可靠性可移植性可使用性效率表7-1 可維護性七個特性在各個維護活動中的側(cè)重7.3.3 提高軟件可維護性的方法1建立明確的軟件質(zhì)量目標和優(yōu)先級2使用提高軟件質(zhì)量的技術和工具3進行明確的質(zhì)量保證審查4選擇可維護的程序設計語言5改進程序的文檔7.3.4 軟件維護的副作用 所謂副作用是指因修改軟件而造成的錯誤或其他不希望發(fā)生

溫馨提示

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

評論

0/150

提交評論