軟體可維護性
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
軟體可維護性是指軟體產品被修改的能力,修改包括糾正、改進或軟體對環境、需求和功能規格說明變化的適應。
在軟體維護中往往會出現一系列的問題,例如,是否可能開發出易於維護的軟體系統;在進行軟體維護時,能否仍然保持軟體的完整性;如何才能夠提高軟體維護的效率等。這些問題實際上涉及軟體的可維護性方面。
軟體可維護性的五個子特性:
(1)易分析性。軟體產品診斷軟體中的缺陷或失效原因或識別待修改部分的能力。
(2)易改變性。軟體產品使指定的修改可以被實現的能力,實現包括編碼、設計和文檔的更改。如果軟體由最終用戶修改,那麼易改變性可能會影響易操作性。
(3)穩定性。軟體產品避免由於軟體修改而造成意外結果的能力。
(4)易測試性。軟體產品使已修改軟體能被確認的能力。
(5)維護性的依從性。軟體產品遵循與維護性相關的標準或約定的能力。
對軟體可維護性的度量可以從以下幾個方面進行。
1.可理解性
可理解性描述了通過閱讀源代碼和相關文檔來瞭解系統功能及其如何運行情況的難易程度。一個可理解性高的軟體系統一般應具備以下的特征:模塊化(系統各個模塊結構良好、功能完整),程式代碼清晰,編程風格具有一致性(代碼風格及設計風格的一致性),完整性(對輸人數據進行完整性檢查),使用有意義的數據名和函數名等。
2.可靠性
可靠性表明一個軟體系統在給定的一段時間內正確執行的概率。度量可靠性的方法,主要有兩類:第一類是根據程式錯誤的統計數字來進行可靠性預測。比如用一些可靠性模型,根據程式測試中發現併排除的錯誤數來預測平均失效間隔時間(Mean Time To Failure,MTTF)。第二類是當系統的可靠性與複雜性有關時,可以根據程式的複雜性來預測軟體的可靠性。
3.可測試性
可測試性表明能夠用測試的方法來驗證程式正確性的難易程度。軟體系統的可測試性取決於系統的可理解性、複雜性、設計合理的測試用例的難易程度等方面的內容。
4.可修改性
可修改性描述了程式能夠被正確修改的難易程度。一個可修改的程式應當是可理解的、通用的、簡單的、靈活的。通用性是指程式適用於各種功能變化而無需修改。靈活性是指能夠容易地對程式進行修改。
5.可移植性
可移植性表明程式從一個運行環境移植到另一個新的運行環境的可能性的大小。一個可移植性好的程式應具有結構良好、靈活、不依賴於某一具體電腦或操作系統的特性。
可維護性不但與開發人員採用的分析設計方法和技術熟練程度有關,更與軟體項目的管理技術有密切關係。除了與開發方法有關的因素之外,以下因素也會對系統的可維護性產生重要影響:
(1)開發人員是否受過嚴格的規範化培訓。
(2)是否採用標準化的文檔資料結構和文檔形成機制。
(3)是否採用可維護的程式設計語言。
(4)是否有健全程式的文檔。
(5)是否保存規範化的測試資料等。