軟體工程-第八章-維護
- 8. 維護
-
- 8.1 軟體維護的定義
- 8.2 軟體維護的特點
-
- 8.2.1 結構化維護與非結構化維護差别巨大
- 8.4 軟體的可維護性
-
- 8.4.1 決定軟體可維護性的因素
- 習題
8. 維護
8.1 軟體維護的定義
軟體維護的定義:就是在軟體已經傳遞使用之後,為了改正錯誤或滿足新的需要而修改軟體的過程。
- 第一項維護活動:把診斷和改正錯誤的過程稱為改正性維護。
- 第二項維護活動:适應性維護:為了和變化了的環境适當地配合而進行的修改軟體的活動,是既必要又經常的維護活動。
- 第三項維護活動:完善性維護:在使用軟體的過程中使用者往往提出增加新功能或修改已有功能的建議,還可能提出一般性的改進意見。通常占軟體維護工作的大部分。
- 第四項維護活動:預防性維護:當為了改進未來的可維護性或可靠性,為了給未來的改進奠定更好的基礎而修改軟體時。
8.2 軟體維護的特點
8.2.1 結構化維護與非結構化維護差别巨大
- 非結構化維護:
- 如果軟體配置的唯一成分是程式代碼,那麼維護活動從評價代碼開始,而且由于内部文檔不足而使評價更困難。
- 非結構化維護需要付出巨大代價,是沒有使用良好定義的方法學開發出來的必然結果。
- 結構化維護:
- 如果有一個完整軟體配置存在,那麼維護從評價設計文檔開始就很規範。
- 減少精力的浪費,提高維護的總體品質。
8.4 軟體的可維護性
8.4.1 決定軟體可維護性的因素
- 可了解性
- 可測試性
- 可修改性
- 可移植性
- 可重用性
習題
- 軟體的可維護性與哪些因素有關?在軟體開發過程中應該采取哪些措施來提高軟體産品的可維護性?
決定軟體可維護性的因素主要有可了解性、可測試性、可修改性、可移植性和可重用性。
提高軟體産品可維護性的措施有:
- 在各個階段着重對可維護性進行複審,并指明将來要改進和可能修改的部分;
- 讨論軟體的可移植性問題并考慮可能影響軟體維護的系統界面;
- 再設計和編碼過程中應盡量使用可重用的軟體構件等。