跳转到内容

軟體維護

本页使用了标题或全文手工转换
维基百科,自由的百科全书

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

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

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

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

歷史

[编辑]

在1970年代初期,各企業開始將軟體維護的工作移到其他公司,讓自身公司软件开发的團隊可以免於維護的工作[1]。R. G. Canning在1972年出版了"The Maintenance 'Iceberg'",他在其中認為軟體維護是軟體開發的延伸,其中有多一個輸入:已有的系統[1]。從那時候起到現在,軟體維護的原原則改變的不多[2]。有一個二十一世紀的創新,是公司刻意發行不完整的軟體,並且計劃在後續的發佈中再發佈完整軟體。這類的變更,以及一些擴充功能的變更,常常不會視為是軟體維護,而會稱為軟體演進英语software evolution[2]

軟體維護的分類

[编辑]

軟體維護工作包括以下五種:適應性維護、修正性維護、完善性維護、代码复用及代码槓桿(code leverage)[3]

參考資料

[编辑]
  1. ^ 1.0 1.1 Tripathy & Naik 2014,第25頁.
  2. ^ 2.0 2.1 Offutt, Jeff. Overview of Software Maintenance and Evolution. George Mason University Department of Computer Science. January 2018 [5 May 2024]. 
  3. ^ Advances in Computers. Academic Press. 29 September 1994: 34–. ISBN 978-0-08-056671-9. 

來源

[编辑]
  • Tripathy, Priyadarshi; Naik, Kshirasagar. Software Evolution and Maintenance: A Practitioner's Approach. John Wiley & Sons. 2014. ISBN 978-0-470-60341-3 (英语).