所謂軟件維護就是在軟件已經交付使用之后,為了改正錯誤或滿足新的需要而修改軟件的過程。可以通過描述軟件交付使用后可能進行的4項活動,具體地定義軟件維護。
1.改正性維護
因為軟件測試不可能暴露出一個大型軟件系統中所有潛藏的錯誤,所以必然會有第一項維護活動:
在任何大型程序的使用期間,用戶必然會發現程序錯誤,并且把他們遇到的問題報告給維護人員。把診斷和改正錯誤的過程稱為改正性維護。
2.適應性維護
適應性維護,也就是為了和變化了的環境適當地配合而進行的修改軟件的活動,是既必要又經常的維護活動。
3.完善性維護
當一個軟件系統順利地運行時,常常出現第三項維護活動:在使用軟件的過程中用戶往往提出增加新功能或修改已有功能的建議,還可能提出一般性的改進意見。為了滿足這類要求,需要進行完善性維護。這項維護活動通常占軟件維護工作的大部分。
4.預防性維護
當為了改進未來的可維護性或可靠性,或為了給未來的改進奠定更好的基礎而修改軟件時,出現了第四項維護活動。這項維護活動通常稱為預防性維護,目前這項維護活動相對比較少。