軟體維護
軟體維護是生存走其中花錢最多、延續時間最長的活動。
1. 軟體維護的種類
軟體維護是指軟體傳遞使用後,為了改正或滿足需要而修改軟體的工程。
軟體維護分為如下幾類:
- 完善性維護:改善和加強産品的功能和性能,是軟體維護的首位
- 适應性維護:為适應運作環境的改變而進行的維護行為
- 糾錯性維護:糾正開發期間未能發現的遺留錯誤
- 預防性維護:改善軟體的可維護性,降低今後維護所需要的工作量
2. 軟體的可維護性
所謂的可維護性是:衡量軟體維護容易程度的一種軟體屬性。定性的可以通過如下幾個方面描述軟體的可維護性:
- 可了解性:一是程式文檔與注釋;二是軟體開發所采用的語言
- 可修改性:軟體維護時,所引入錯誤的機率
- 可測試性:軟體修改後測試的難易程度
如果需要定量的描述軟體的可維護性,可以通過記錄軟體維護過程中,花在各個階段的時間,通過時間量來衡量軟體的可維護性高低。
提高軟體可維護性的途徑:提高軟體可維護性最根本的途徑就是使每個開發者懂得軟體維護的重要性,在開發階段就以降低今後維護工作量為目标。下面的兩個活動與提高軟體可維護性的相關:
- 提供完整和一緻的文檔:
- 采用現代化的開發方法:面向對象、軟體複用、資料庫技術等
3. 軟體維護過程
軟體維護不應該是随随便便的,而應該是嚴格管理和控制的。應該按照維護類型區分為不同的維護過程,同時也需要根據維護的重要性/優先級管理和控制維護的過程,當有維護需求時,可以參考如下的維護過程:
軟體維護申請單與軟體維護報告表
這是一次軟體維護時期新增的兩個檔案,分别用于軟體維護開始前和軟體維護開始後。
軟體維護申請單(MRF),又叫做軟體修改申請單或軟體問題報告單,通常由申請維護的使用者填寫。
軟體修改報告單(SCR),用來記錄軟體在維護期間對軟體所做的每一次修改。
軟體維護的副作用
軟體維護的副作用是指軟體維護過程中給軟體引入的新的錯誤,軟體維護的副作用可以分為如下三類:
- 修改編碼的副作用:直接修改代碼所帶來的副作用
- 修改資料的副作用:修改資料檔案記錄或資料格式,修改全局變量,修改函數參數等。
- 修改文檔的副作用:程式與文檔一緻性的保護