1. 程式人生 > >軟體工程之軟體維護

軟體工程之軟體維護

軟體維護概念:

軟體維護定義:在軟體執行或維護階段對軟體的修改,維護在軟體生存期所佔的比例:70.8%

【前言】

軟體開發的過程中在產品上線以後根據使用者的反饋、需求的變化以及執行過程中出現的問題,需要對軟體進行必要的維護,這是一個很長的過程,我們使用的軟體版本的更新就是軟體維護的表現。

軟體維護階段在生命週期所佔比例可達70%左右。

一、維護的問題

軟體維護工作的困難性表現在一下幾個方面:

1、理解別人寫的程式困難,困難程度隨軟體配置成分減少而迅速增加

2、要維護的軟體往往沒有合適的文件或資料不全

3、絕大多數軟體設計時沒有考慮將來的修改

4、軟體維護不是一項吸引人的工作

5、軟體人員經常流動,維護不能依靠原開發人員

6、追蹤軟體的建立過程非常困難,或根本做不到

二、維護策略

(1)改正性維護

         目的是改正在開發週期見未能發現的遺留錯誤,並加以改正,大約佔總維護量的20%。

(2)適應性維護

         指軟體適應執行環境的改變而進行的一類維護,包括: 因硬體或支援軟體改變引起的變化; 將軟體移植到新機器上; 軟體使用物件的較少變化。

(3)完善性維護

         指提高軟體效能和軟體維護性而對軟體修改的過程,是軟體維護中最重要的部分,約佔50%。

(4)預防性維護

         為了給未來的改變奠定更好的基礎而修改軟體的維護活動,這項維護相對來說少些。

三、維護工作量的模型

1.軟體維護活動

   為了有效地進行軟體維護,應事先就開始做組織工作。

2.維護機構

   除了較大的軟體開發公司外,通常在軟體維護工作方面,並不保持一個正式的組織機構。

3.軟體維護申請報告

   維護申請報告或稱軟體問題報告,由申請維護的使用者填寫 如果申請的是適應性維護或完善性維護,使用者必須提出一份修改說明,列出所有希望的修改。

【總結】

軟體維護時期修改一行程式碼的代價是開發階段的幾十倍,所以,軟體在前期一定要做好各項工作,以減少維護時期的工作量,節約成本。

維護工作也要有效地進行,事先做好組織工作,使其高效地進行。