標籤:
1McCall的軟體品質模型
McCall等認為,特性是軟體品質的反映,軟體屬性可用做評價準則,定量化地度量軟體屬性可知軟體品質的優劣
McCall認為軟體的品質模型應該包括
產品的修正、產品的轉移,產品的運行而
產品的修正又包括 可維護性、可測試性、靈活性等子特點。
產品的轉移包括 可移植性、可複用性、互連性等。
產品的運行包括 正確性、可靠性、效率、可使用性和完整性
2 軟體容錯技術
提高軟體品質和可靠性的技術大致分為兩類,一類是避開錯誤(fault-avoidance)技術,即在開發的過程中不讓差錯潛入軟體的技術;另一類是容錯(fault-tolerance)技術,即對某些無法避開的差錯,使其影響減少至最小的技術。
2.1 容錯軟體定義程式
歸納容錯軟體的定義,有以下四種:
(1)規定功能的軟體,在一定程度上對自身錯誤的作用(軟體錯誤)具有屏蔽能力,則稱此軟體為具有容錯功能的軟體,即容錯軟體。
(2)規定功能的軟體,在一定程度上能從錯誤狀態自動回復到正常狀態,則稱之為容錯軟體。
(3)規定功能的軟體,在因錯誤而發生錯誤時,仍然能在一定程度上完成預期的功能,則把該軟體稱為容錯軟體。
(4)規定功能的軟體,在一定程度上具有容錯能力,則稱之為容錯軟體。
2.2 容錯的一般方法
1、結構冗餘
(1)靜態冗餘。常用的有:三模冗餘TMR(Triple Moduler Redundancy)和多模冗餘。
(2)動態冗餘。動態冗餘的主要方式是多重模組待機儲備,當系統檢測到某工作模組出現錯誤時,就用一個備用的模組來頂替它並重新運行。
(3)混合冗餘。它兼有靜態冗餘和動態冗餘的長處。
2、資訊冗餘
為檢測或糾正資訊在運算或傳輸中的錯誤須外加一部分資訊,這種現象稱為資訊冗餘。
3、時間冗餘
時間冗餘是指以重複執行指令(指令複執)或程式(程式複算)來消除瞬時錯誤帶來的影響。
4、冗餘附加技術
冗餘附加技術是指實現上述冗餘技術所需的資源和技術。
2.3 容錯軟體的設計過程
容錯系統的設計過程包括以下設計步驟:
(1)按設計任務要求進行常規設計,盡量保證設計的正確。
按常規設計得到非容錯結構,它是容錯系統構成的基礎。在結構冗餘中,不論是主模組還是備用模組的設計和實現,都要在費用許可的 條件下,用調試的方法儘可能提高可靠性。
(2)對可能出現的錯誤分類,確定實現容錯的範圍。
對可能發生的錯誤進行正確的判斷和分類,例如,對於硬體的瞬時錯誤,可以採用指令複執和程式複算;對於永久錯誤,則需要採用備份替換或者系統重構。對於軟體來說,只有最大限度地弄清錯誤和暴露的規律,才能正確地判斷和分類,實現成功的容錯。
(3)按照“成本——效率”最優原則,選用某種冗餘手段(結構、資訊、時間)來實現對各類錯誤的屏蔽。
(4)分析或驗證上述冗餘結構的容錯效果。如果效果沒有達到預期的程度,則應重新進行冗餘結構設計。如此反覆,直到有一個滿意的結果為止。
軟體品質管理