您的軟件的生命週期不會從編碼開始並隨著發布而結束。相反,它有一個持續的生命週期,在必要時停止和開始。它的生命週期的開始和很大一部分工作在發佈時就開始了。
軟件總是在變化,只要還在使用,就必須對其進行適當的監控和維護。這在一定程度上是為了適應組織內的變化,但更重要的是因為技術在不斷變化。
您的軟件可能出於多種原因需要維護——保持其正常運行、增強功能、重新設計系統以適應未來的變化、遷移到雲或任何其他變化。無論軟件維護的動機是什麼,這對您的業務成功至關重要。因此,軟件維護不僅僅是查找和修復錯誤。它使您的業務核心保持正常運行。
軟件一直在進化,只要用過就永遠不會結束;部分是為了適應我們生活的不斷變化的世界。您的軟件的發展可能受到多種原因的推動;保持軟件正常運行、升級到最新版本、增強功能或重新設計系統以實現未來的可維護性。無論動機如何,軟件變更對其發展和成功都至關重要。因此,軟件將不得不經歷變化,了解您的軟件可以經歷的不同類型的變化對於認識到軟件維護不僅僅是修復錯誤很重要。事實上,一項研究表明,超過 80% 的軟件變更都歸因於與錯誤無關的變更。
軟件變更分為四類:
- 糾正 (Corrective)
- 自適應 (Adaptive)
- 完美的(Perfective)
- 預防 (Preventive)
糾正性變化
糾正性變更,最常被稱為“錯誤”,是與維護工作相關的最典型的變更。糾正性更改解決了軟件中可能影響軟件各個領域的錯誤和故障;設計、邏輯或代碼。最常見的是,這些更改是由用戶創建的錯誤報告引發的。需要注意的是,有時用戶提交的問題報告實際上是系統的增強而不是錯誤。
適應性變化
適應性變化是由軟件所處環境的變化觸發的。適應性變化可以由操作系統、硬件、軟件依賴項甚至組織業務規則和策略的變化觸發。這些對環境的修改可能會觸發軟件其他部分的更改。例如,更新服務器、編譯器等或修改承運商和支付處理器可能會影響您軟件的功能。
完美改變
完美更改是指現有系統中需求和功能的演變。當您的軟件向用戶公開時,他們會想出不同的方法來擴展系統或建議他們希望將其視為軟件一部分的新功能,這反過來又可以成為系統未來的增強功能。完美的更改還包括從系統中刪除對系統最終目標無效且功能不全的功能。令人驚訝的是,大多數維護工作的 50-55% 都歸功於完美的更改。
預防性變化
從長遠來看,預防性更改是指為了增加對軟件的理解和可維護性而進行的更改。從長遠來看,預防性更改的重點是減少軟件的惡化。重構、優化代碼和更新文檔是常見的預防性更改。執行預防性更改可以減少軟件在長期內可能產生的不可預測的影響,並幫助它變得可擴展、穩定、可理解和可維護。
結論
軟件維護是軟件開發生命週期的重要組成部分;它對於您的系統的成功和發展是必要的。軟件維護不僅僅是修復“錯誤”,這是四種軟件變更類型之一。更新軟件環境、減少其隨時間的惡化以及增強功能以滿足用戶需求都是維護工作的示例。下次您考慮維護和軟件更改時,請記住,這不僅僅是“錯誤”修復。
- 敏捷软件开发
- 软件过程模型