軟件工程理論與實踐 課件 10軟件維護_第1頁
軟件工程理論與實踐 課件 10軟件維護_第2頁
軟件工程理論與實踐 課件 10軟件維護_第3頁
軟件工程理論與實踐 課件 10軟件維護_第4頁
軟件工程理論與實踐 課件 10軟件維護_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

XXXXXX大學(xué)軟件工程SOFTWARE

ENGINEERING教師:XXXXX2024教學(xué)目標(biāo):(1)理解軟件維護的概念、類型、策略、軟件維護的副作用和軟件的可維護性;(2)掌握軟件維護的實施過程;(3)理解軟件再工程的概念和模型。第10章軟件維護10.1軟件維護概述10.1.1軟件維護的概念軟件維護就是在軟件產(chǎn)品投入使用之后,為了改正軟件產(chǎn)品中的錯誤或為了滿足用戶對軟件的新需求而修改軟件的過程。軟件維護不同于硬件維護,軟件維護不是因為軟件老化或磨損引起,而是由于軟件設(shè)計不正確、不完善或使用環(huán)境的變化等引起。10.1.2軟件維護的類型軟件維護的最終目的是為了滿足用戶對已開發(fā)產(chǎn)品的性能與運行環(huán)境不斷提高的需要,進而達到延長軟件壽命的目的。按照軟件維護的目標(biāo),軟件維護可分為完善性維護、適應(yīng)性維護、改正性維護和預(yù)防性維護。

1.完善性維護。在功能和性能上還不能滿足需求,用戶可能提出新的功能及性能需求,為了滿足這些需求,擴充軟件功能和提高軟件性能的過程稱為完善性維護。2.適應(yīng)性維護。隨著時間的推移,軟件產(chǎn)品的使用環(huán)境和支持平臺可能發(fā)生變化,為了適應(yīng)這些變化而修改軟件的過程稱為適應(yīng)性維護。3.改正性維護。軟件交付后,遇到的第一類維護問題就是軟件中存在的錯誤。為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤操作,而進行的診斷和改正錯誤的過程稱為改正性維護。4.預(yù)防性維護。為了提高軟件的可維護性、可靠性,或為了給未來的改進奠定更好的基礎(chǔ)而修改軟件的過程稱為預(yù)防性維護。10.1.3軟件維護的策略1.完善性維護策略完善性維護主要采用的策略是建立軟件系統(tǒng)的原型,把它在實際系統(tǒng)開發(fā)之前提供給用戶。用戶通過研究原型,進一步完善他們的功能要求,就可以減少以后完善性維護的需要。2.適應(yīng)性維護策略適應(yīng)性維護主要采用以下策略。(1)在配置管理時,把硬件、操作系統(tǒng)和其他相關(guān)環(huán)境因素的可能變化考慮在內(nèi),可以減少某些適應(yīng)性維護的工作量。(2)把硬件、操作系統(tǒng),以及其它外圍設(shè)備有關(guān)的程序劃分到特定的程序模塊中;把因環(huán)境變化而必須修改的程序局限于某些程序模塊之中。(3)使用內(nèi)部程序列表、外部文件以及處理的例行程序包,可為維護時修改程序提供方便。3.改正性維護策略改正性維護主要采用的策略是使用新技術(shù),通過使用新技術(shù)可大大提高可靠性,減少進行改正性維護的需要。例如,利用數(shù)據(jù)庫管理系統(tǒng)、軟件集成開發(fā)環(huán)境、程序自動生成系統(tǒng)等方法可產(chǎn)生更加可靠的代碼。10.1.5軟件的可維護性10.2軟件維護過程10.2.1軟件維護機構(gòu)10.2.2軟件維護申請所有的軟件維護申請應(yīng)按規(guī)定的方式提出。軟件維護申請是在維護開始之前由用戶填寫的外部文件,也可稱為修改申請單或軟件問題報告單。改正性維護的申請單一般提供完整的錯誤情況說明、錯誤發(fā)生的環(huán)境,包括輸入/輸出數(shù)據(jù)清單和其它有關(guān)材料。若申請適應(yīng)性維護或完善性維護,一般僅需提供簡要的修改需求說明。軟件維護申請應(yīng)該提交給維護管理員,經(jīng)批準(zhǔn)后才能開始進一步安排維護工作。10.2.3軟件維護工作流程10.3軟件再工程1.庫存目錄分析庫存目錄一般是包含提供詳細描述信息的一個電子表格模型。按照業(yè)務(wù)關(guān)鍵性、年份、當(dāng)前可維護性以及其它局部標(biāo)準(zhǔn)排序庫存目錄信息,從中得到再工程的候選對象。然后,針對再工程工作的候選對象分配資源。2.文檔重構(gòu)缺少文檔是很多待維護系統(tǒng)共同存在的問題。建立文檔一般分為三種情況進行處理。情況之一是,如果系統(tǒng)能夠正常運作,則保持其現(xiàn)狀;情況之二是,僅對系統(tǒng)當(dāng)前正在進行改變的部分程序建立完整的文檔;情況之三是,系統(tǒng)的業(yè)務(wù)非常關(guān)鍵,必須完全地為此重構(gòu)文檔。3.逆向工程逆向工程是一個對已有系統(tǒng)分析的過程,通過分析識別出系統(tǒng)中的模塊、組件及它們之間的關(guān)系,并以另一種形式或在更高的抽象層次上,創(chuàng)建出系統(tǒng)表示。逆向工程的目的就是在缺少文檔說明、或根本沒有文檔的情況下,還原出軟件系統(tǒng)的設(shè)計結(jié)構(gòu)、需求實現(xiàn),并盡可能地找出內(nèi)部的各種聯(lián)系,相應(yīng)的接口等,從而恢復(fù)已遺失的信息,發(fā)現(xiàn)存在的缺陷,生成可變換的系統(tǒng)視圖,綜合出較高的抽象表示。4.代碼重構(gòu)代碼重構(gòu)是軟件再工程中最常見的活動,代碼重構(gòu)的目標(biāo)是產(chǎn)生提供具有相同功能、但比原程序質(zhì)量更高的程序的設(shè)計。通常情況下,可以使用重構(gòu)工具分析源代碼,標(biāo)注出存在問題的部分,然后再重構(gòu)這些代碼。5.?dāng)?shù)據(jù)重構(gòu)首先進行數(shù)據(jù)分析,即對數(shù)據(jù)定義、文件描述、輸入輸出以及接口描述的程

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論