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

下載本文檔

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

文檔簡介

1、第7章 軟件維護掌握:軟件維護的定義、軟件維護的種類、軟掌握:軟件維護的定義、軟件維護的種類、軟件維護的戰(zhàn)略、軟件維護的實施、軟件可維護件維護的戰(zhàn)略、軟件維護的實施、軟件可維護的定義、軟件可維護性度量、提高軟件可維護的定義、軟件可維護性度量、提高軟件可維護性的方法。性的方法。7.1 軟件維護的概念7.1.1 軟件維護的定義第一,它是在軟件交付之后進展的,此時絕大部分的軟件已開發(fā)完成;第二,它是基于某種目的如訂正錯誤、改善性能或其他屬性,或者順應(yīng)變化的環(huán)境等而對原有系統(tǒng)的一種修正。7.1.2 軟件維護的種類 要求進展維護的緣由多種多樣,歸結(jié)起來主要有3種類型: 1矯正在特定的運用條件下暴顯露來的

2、一些潛在程序錯誤或設(shè)計缺陷。 2因在軟件運用過程中數(shù)據(jù)環(huán)境發(fā)生變化如一個事務(wù)處置代碼發(fā)生改動或處置環(huán)境發(fā)生變化如安裝了新的硬件或操作系統(tǒng),需求修正軟件以順應(yīng)這種變化。 3用戶和數(shù)據(jù)處置人員在運用時常提出改良現(xiàn)有功能,添加新的功能,以及改善總體性能的要求,為滿足這些要求,就需求修正軟件,把這些要求納入到軟件之中。 1矯正性維護 在軟件交付運用后,由于開發(fā)時測試的不徹底、不完全,必然會有一部分隱藏的錯誤被帶到運轉(zhuǎn)階段來。這些隱藏的錯誤在某些特定的運用環(huán)境中就會暴露。為了識別和糾正軟件錯誤、矯正軟件性能上的缺陷、排除實施中的誤運用而進展的診斷和矯正錯誤的過程,就叫做矯正性維護。 2順應(yīng)性維護 隨著計

3、算機技術(shù)的飛速開展,外部環(huán)境新的硬、軟件配置或數(shù)據(jù)環(huán)境數(shù)據(jù)庫、數(shù)據(jù)格式、數(shù)據(jù)輸入輸出方式、數(shù)據(jù)存儲介質(zhì)能夠發(fā)生變化,為了使軟件順應(yīng)這種變化,而修正軟件的過程就叫做順應(yīng)性維護。 3完善性維護 在軟件的運用過程中,用戶往往會對軟件提出新的功能與性能要求。為了滿足這些要求,需求修正或再開發(fā)軟件,以擴展軟件功能、加強軟件性能、改良加工效率、提高軟件的可維護性。這種情況下進展的維護活動叫做完善性維護。 4預(yù)防性維護 除了以上3類維護之外,還有一類維護活動,叫做預(yù)防性維護,這種維護活動為了提高軟件的可維護性、可靠性,為以后進一步改良軟件打下良好根底。7.1.3 軟件維護的戰(zhàn)略 1矯正性維護戰(zhàn)略 在軟件開發(fā)

4、過程中,可以經(jīng)過運用新技術(shù)大大提高軟件的可靠性,并減少矯正性維護。這些技術(shù)包括數(shù)據(jù)庫管理系統(tǒng)、軟件開發(fā)環(huán)境、程序自動生成系統(tǒng)、較高級第四代言語,運用這些技術(shù)可產(chǎn)生更加可靠的代碼。此外,還可利用以下方法提高軟件的可靠性: 1利用運用軟件包。利用運用軟件包可開發(fā)出比完全由用戶本人開發(fā)的系統(tǒng)可靠性更高的軟件。 2構(gòu)造化技術(shù)。用構(gòu)造化技術(shù)開發(fā)的軟件易于了解和測試。 3防錯性程序設(shè)計。把自檢才干引入程序,經(jīng)過非正常形狀的檢查提供審查跟蹤。 4周期性維護審查。經(jīng)過周期性維護審查,在構(gòu)成維護問題之前就可確定質(zhì)量缺陷。 2順應(yīng)性維護戰(zhàn)略 順應(yīng)性維護不可防止,但可以控制。 1配置管理順應(yīng)性維護時就思索到硬件變化

5、,以及操作系統(tǒng)和其他相關(guān)環(huán)境要素的能夠變化,可以減少某些順應(yīng)性維護的任務(wù)量。 2將與硬件、操作系統(tǒng),以及其他外圍設(shè)備有關(guān)的程序歸到特定的程序模塊中,也可以減少某些順應(yīng)性維護的任務(wù)量。 3運用內(nèi)部程序列表、外部文件以及處置的例行程序包,可為維護時修正程序提供參考。 3完善性維護戰(zhàn)略 用前兩類維護中列舉的方法,也可以減少完善性維護的任務(wù)量。此外,經(jīng)過為用戶提供軟件系統(tǒng)的原型,運用戶經(jīng)過研討原型進一步完善他們的功能要求,同樣可以減少完善性維護。7.1.4 軟件維護的代價軟件維護的代價與軟件的復(fù)雜性有關(guān)。近些年來,隨著軟件復(fù)雜性的不斷提高,軟件維護的代價也在逐漸上升。根據(jù)有關(guān)資料闡明,70年代用于維護

6、軟件的費用只占軟件總預(yù)算的35%40%,80年代上升為40%60%,到了90年代那么上升為70%80%。除此之外,軟件維護還有一些額外的代價。例如,當看起來合理的變卦要求不能及時滿足時,能夠會引起用戶的不滿;由于維護時的改動,在軟件中引入新的錯誤,從而降低了軟件的質(zhì)量;當必需把軟件開發(fā)工程師調(diào)去從事維護任務(wù)時,對開發(fā)任務(wù)會呵斥影響等。7.2 軟件維護的實施7.2.1 維護組織圖7-1 軟件維護控制流程7.2.2 維護懇求報告 維護懇求報告是由軟件組織外部提交的文檔,它是方案維護任務(wù)的根底。軟件組織內(nèi)部應(yīng)相應(yīng)地做出軟件修正報告,指明: 1修正變動的性質(zhì)。 2懇求修正的優(yōu)先級。 3為滿足某個維護懇

7、求報告,所需的任務(wù)量。 7.2.3 軟件維護任務(wù)流程7.2.4 維護評價 維護評價是指對軟件維護的過程進展評價??蓞⒖嫉亩攘恐等缦拢?1每次程序運轉(zhuǎn)時的平均出錯次數(shù)。 2破費在每類維護上的總“人時數(shù)。 3每個程序、每種言語、每種維護類型的程序平均修正次數(shù)。 4由于維護、添加或刪除每個源程序語句所破費的平均“人時。 5用于每種言語的平均“人時數(shù)。 6維護懇求報告的平均處置時間。 7各類維護懇求的百分比。7.3 軟件可維護性7.3.1 軟件可維護性的定義軟件可維護性是指糾正軟件系統(tǒng)出現(xiàn)的錯誤和缺陷,以及為滿足新的要求而進展修正、擴展或緊縮的難易程度。7.3.2 軟件可維護性度量 1可了解性 可了解

8、性闡明人們經(jīng)過閱讀源代碼和相關(guān)文檔,了解程序功能及其如何運轉(zhuǎn)的難易程度。一個可了解的程序主要應(yīng)具備以下特性: 1模塊化。模塊構(gòu)造良好、功能完好、簡明。 2風格一致性。代碼風格及設(shè)計風格的一致性。 3不運用令人琢磨不定或模糊不清的代碼。 4運用有意義的數(shù)據(jù)名和過程名。 5構(gòu)造化。 6完好性。對輸入數(shù)據(jù)進展完好性檢查。 2可靠性 可靠性闡明一個程序按照用戶的要求和設(shè)計目的,在給定的一段時間內(nèi)正確執(zhí)行的概率。關(guān)于可靠性,度量的規(guī)范主要有: 1平均失效間隔時間MTTF,即兩次失效之間的平均操作時間。 2平均修復(fù)時間MTTR,即修復(fù)一個缺點平均需用的時間。 3有效性A=MTTF/MTTF+MTTR。 度

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

10、序轉(zhuǎn)移到一個新的計算環(huán)境的能夠性的大小,或者闡明程序可以有效地在各種環(huán)境中運轉(zhuǎn)的容易程度。一個可移植的程序應(yīng)具有構(gòu)造良好、靈敏,不依賴于某一詳細計算機或操作系統(tǒng)的性能。 6效率 效率闡明一個程序能執(zhí)行預(yù)定功能而又不浪費機器資源的程度。這些機器資源包括內(nèi)存容量、外存容量、通道容量和執(zhí)行時間。 7可運用性 從用戶觀念出發(fā),把可運用性定義為程序方便、適用、易于運用的程度。一個可用程序該當是易于運用的,能允許用戶出錯,并盡能夠不運用戶墮入混亂形狀的程序。改正性維護適應(yīng)性維護完善性維護可理解性可測試性可修改性可靠性可移植性可使用性效率表7-1 可維護性七個特性在各個維護活動中的偏重7.3.3 提高軟件可維護性的方法1建立明確的軟件質(zhì)量目的和優(yōu)先級2運用提高軟件質(zhì)量的技術(shù)和工具3進展明確的質(zhì)量保證審查4選擇可維護的程序設(shè)計言語5改良程序的文檔7.3.4 軟件維護的副作用 所謂副作用是指因修正軟件而呵斥的錯誤或其他不希望發(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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論