-
可維護性
鎖定
系統的可維護性是衡量一個系統的可修復(恢復)性和可改進性的難易程度。所謂可修復性是指在系統發生故障後能夠排除(或抑制)故障予以修復,並返回到原來正常運行狀態的可能性。而可改進性則是系統具有接受對現有功能的改進,增加新功能的可能性。
- 中文名
- 可維護性
- 外文名
- maintainability
- 定 義
- 衡量一個系統的可修復(恢復)性和可改進性的難易程度
可維護性可維護性複審
可維護性是所有軟件都應該具備的基本特點。在軟件設計的每個階段都應該努力提高系統的可維護性,在每個階段結束前的審查和複審中.應着重對可維護性進行復審。
(1)在需求分析階段的複審中,應對將來要擴充和修改的部分加以説明。在討論軟件可移植性問題時.要考慮可能影響軟件維護的系統界面。
(2)在軟件設計的複審中.應從便於修改、模塊化和功能獨立的目標出發.評價軟件的結構和過程.從軟件質量的角度全面評審數據沒計、總體結構設汁、過程設引‘和界面設計。還應對將來可能修改的部分預先做準備。
(3)在軟件代碼複審中,應強調編碼風格和內部説明文檔這兩個影響可維護性的岡素。最後.每一階段性測試部應指出軟件正式交付之前.應該進行的預防性維護。在完成每項維護工作後,都應陔對軟件維護本身進行仔細認真的複審。為了從根本上提高軟件系統的可維護性。人們正試圖通過直接維護軟件規格説明來維護軟件.同時也在大力發展軟件重用技術。
[2]
可維護性可維護性指數
這個指數用一個公式計算,考慮到了圈複雜性、代碼行以及Halstead量,Halstead量也是一個度量,考慮操作符和操作數的總數。該指數的範圍是0~100,數值越高就越容易維護。
[3]
可維護性可維護性測試
可維護性可維護性的提高
(1)建立明確的軟件質量目標。如果要程序完全滿足可維護性的7種質量特性,肯定是很難實現的。實際上,某些質量特性是相互促進的,如可理解性和可測試性,可理解性和可修改性;某些質量特性是相互牴觸的,如效率和可移植性,效率和可修改性。因此,為保證程序的可維護性,應該在一定程度上滿足可維護的各個特性,但各個特性的重要性又是隨着程序的用途或計算機環境的不同而改變的。對編譯程序來説,效率和可移植性是主要的;對信息管理系統來説,可使用性和可修改性可能是主要的。通過實驗證明,強調效率的程序包含的錯誤比強調簡明性的程序所包含錯誤要高出10倍。顯然,在提出目標的同時,還必須規定它們的優先級,這樣有助於提高軟件的質量。
(2)使用先進的軟件開發技術和工具。利用先進的軟件開發技術和工具是軟件開發過程中提高軟件質量、降低成本的有效方法之一,也是提高可維護性的有效技術。常用的技術:採用模塊化、結構化程序設計,結構化設計技術能提高軟件的可維護性;設計文檔中使用標準的表達工具來描述算法、數據結構、接口等,能幫助維護人員更好地理解軟件。
(3)進行明確的質量保證審查。在軟件開發每個階段結束前的技術審查和管理複審中,應該着重對可維護性進行審查。如在需求分析階段的審查中,應該對將來要改進的部分和可能會修改的部分加以注意並指明;如在設計階段的審查中,應從容易修改、模塊化和功能獨立的目標出發來評價軟件的結構和過程;在代碼審查中應強調編碼風格和內部説明文檔對軟件可維護性的影響;在測試階段的審查中,應對軟件的配置複審進行重視;在維護階段完成每項維護工作後,都應對維護工作本身進行仔細認真的複審,如源代碼的修改與文檔的修改是否一致。
(4)選擇可維護的程序設計語言。程序設計語言的選擇對維護的影響比較大。低級語言一般很難理解,很難掌握,因而很難維護。一般來説,高級語言比低級語言更容易理解,在高級語言中,一些語言可能比另一些語言更容易理解。
(5)改進程序文檔。文檔是影響軟件可維護性的重要因素,文檔有時比程序代碼更重要。程序文檔是對程序的總目標、程序各組成部分之間的關係、程序設計策略、程序實現過程的歷史數據等的説明和補充。程序文檔對提高程序的可理解性有着重要作用。即使是一個十分簡單的程序,要想有效地、高效率地維護它,需要編制文檔來解釋其目的及任務。對於程序維護人員來説,要想對程序編制人員的意圖重新改造,並對今後變化的可能性進行估計,缺了文檔也是不行的。可見,為了維護程序,人們必須閲讀和理解文檔。