登錄

軟件可維護(hù)性

百科 > 軟件 > 軟件可維護(hù)性

1.什么是軟件可維護(hù)性

  軟件可維護(hù)性是指軟件產(chǎn)品被修改的能力,修改包括糾正、改進(jìn)或軟件對環(huán)境、需求和功能規(guī)格說明變化的適應(yīng)。

  在軟件維護(hù)中往往會出現(xiàn)一系列的問題,例如,是否可能開發(fā)出易于維護(hù)的軟件系統(tǒng);在進(jìn)行軟件維護(hù)時,能否仍然保持軟件的完整性;如何才能夠提高軟件維護(hù)的效率等。這些問題實際上涉及軟件的可維護(hù)性方面。

2.軟件可維護(hù)性的特征

  軟件可維護(hù)性的五個子特性:

 ?。?)易分析性。軟件產(chǎn)品診斷軟件中的缺陷或失效原因或識別待修改部分的能力。

  (2)易改變性。軟件產(chǎn)品使指定的修改可以被實現(xiàn)的能力,實現(xiàn)包括編碼、設(shè)計和文檔的更改。如果軟件由最終用戶修改,那么易改變性可能會影響易操作性。

  (3)穩(wěn)定性。軟件產(chǎn)品避免由于軟件修改而造成意外結(jié)果的能力。

 ?。?)易測試性。軟件產(chǎn)品使已修改軟件能被確認(rèn)的能力。

 ?。?)維護(hù)性的依從性。軟件產(chǎn)品遵循與維護(hù)性相關(guān)標(biāo)準(zhǔn)或約定的能力。

3.軟件可維護(hù)性的度量

  對軟件可維護(hù)性的度量可以從以下幾個方面進(jìn)行。

  1.可理解性

  可理解性描述了通過閱讀源代碼和相關(guān)文檔來了解系統(tǒng)功能及其如何運(yùn)行情況的難易程度。一個可理解性高的軟件系統(tǒng)一般應(yīng)具備以下的特征:模塊化(系統(tǒng)各個模塊結(jié)構(gòu)良好、功能完整),程序代碼清晰,編程風(fēng)格具有一致性(代碼風(fēng)格及設(shè)計風(fēng)格的一致性),完整性(對輸人數(shù)據(jù)進(jìn)行完整性檢查),使用有意義的數(shù)據(jù)名和函數(shù)名等。

  2.可靠性

  可靠性表明一個軟件系統(tǒng)在給定的一段時間內(nèi)正確執(zhí)行的概率。度量可靠性的方法,主要有兩類:第一類是根據(jù)程序錯誤的統(tǒng)計數(shù)字來進(jìn)行可靠性預(yù)測。比如用一些可靠性模型,根據(jù)程序測試中發(fā)現(xiàn)并排除的錯誤數(shù)來預(yù)測平均失效間隔時間(Mean Time To Failure,MTTF)。第二類是當(dāng)系統(tǒng)的可靠性與復(fù)雜性有關(guān)時,可以根據(jù)程序的復(fù)雜性來預(yù)測軟件的可靠性。

  3.可測試性

  可測試性表明能夠用測試的方法來驗證程序正確性的難易程度。軟件系統(tǒng)的可測試性取決于系統(tǒng)的可理解性、復(fù)雜性、設(shè)計合理的測試用例的難易程度等方面的內(nèi)容。

  4.可修改性

  可修改性描述了程序能夠被正確修改的難易程度。一個可修改的程序應(yīng)當(dāng)是可理解的、通用的、簡單的、靈活的。通用性是指程序適用于各種功能變化而無需修改。靈活性是指能夠容易地對程序進(jìn)行修改。

  5.可移植性

  可移植性表明程序從一個運(yùn)行環(huán)境移植到另一個新的運(yùn)行環(huán)境的可能性的大小。一個可移植性好的程序應(yīng)具有結(jié)構(gòu)良好、靈活、不依賴于某一具體計算機(jī)或操作系統(tǒng)的特性。

  可維護(hù)性不但與開發(fā)人員采用的分析設(shè)計方法和技術(shù)熟練程度有關(guān),更與軟件項目管理技術(shù)有密切關(guān)系。除了與開發(fā)方法有關(guān)的因素之外,以下因素也會對系統(tǒng)的可維護(hù)性產(chǎn)生重要影響:

  (1)開發(fā)人員是否受過嚴(yán)格的規(guī)范化培訓(xùn)。

  (2)是否采用標(biāo)準(zhǔn)化的文檔資料結(jié)構(gòu)和文檔形成機(jī)制。

  (3)是否采用可維護(hù)的程序設(shè)計語言。

  (4)是否有健全程序的文檔。

  (5)是否保存規(guī)范化的測試資料等。

評論  |   0條評論