軟體維護

軟體維護是指在軟體發佈之後進行的修改。

一般會認為軟體維護需要的技術比新軟體開發要少，也比較不會受到獎勵。因此，許多公司會將軟體維護外包或是。通常維護軟體和開發軟體會由不同的團隊進行。開發者沒有動機將程式以方便維護的方式撰寫。軟體發行時多半功能還不完整，也還有一些需維護團隊修正的錯誤。軟體維護一開始會包括新功能的開發，但隨著產品的進展，維護會減到最小程度，在產品結束生命週期時，其維護也完全結束。

維護周期多半是從修改請求開始的，一般是來自終端用戶，隨後會對請求進行分析，若評估的結果是要修改，程式設計者在修改前，會研究既有的程式，瞭解程式如何運作。維護成本中最主要是在測試，測試已有的程式功能正常運作，而且也加入新的功能。

雖然軟體維護佔了軟體生命週期中，成本的最大部份，但對其的研究比其他軟體開發的週期要少。從1980年代開始到現在，對軟體維護的瞭解沒有大幅的變化。軟體維護可以依照是預防性維護或反應維護來分成不同的幾類。有些軟體維護是要加新功能，有些則是面對環境的變化（例如從DOS系統到Windows系統），要保留原有的功能。

歷史
在1970年代初期，各企業開始將軟體維護的工作移到其他公司，讓自身公司软件开发的團隊可以免於維護的工作。R. G. Canning在1972年出版了"The Maintenance 'Iceberg，他在其中認為軟體維護是軟體開發的延伸，其中有多一個輸入：已有的系統。從那時候起到現在，軟體維護的原原則改變的不多。有一個二十一世紀的創新，是公司刻意發行不完整的軟體，並且計劃在後續的發佈中再發佈完整軟體。這類的變更，以及一些擴充功能的變更，常常不會視為是軟體維護，而會稱為。
軟體維護的分類
軟體維護工作包括以下五種：適應性維護、修正性維護、完善性維護、代码复用及代码槓桿（code leverage）。
參考資料

來源




Category:IEEE标准
Category:ISO/IEC标准