13.4.1 軟件可靠性設計
實踐證明,保障軟件可靠性,最有效、最經(jīng)濟、最重要的手段是 在軟件設計階段采取措施進行可靠性控制。
1、軟件可靠性設計是軟件設計的一部分,必須在軟件的總體設計框架中使用,并且不能與其他設計原則相沖突。
2、軟件可靠性設計在滿足提高軟件質量要求的前提下,以提高和保障軟件可靠性為最終目標。
3、軟件可靠性設計應確定軟件的可靠性目標,不能無限擴大化,排在功能度、用戶需求、開發(fā)費用之后考慮。
容錯設計、檢錯設計、降低復雜度設計 等技術。
1、容錯設計技術
1. 恢復塊設計,一旦文本出現(xiàn)故障,用備份文本加以替換。
2. N版本程序設計,對于相同初始條件和相同輸入的操作結果,實行多數(shù)表決,防止其中某一軟件模塊/版本的故障提供錯誤的服務。
必須注意以下兩方面:
使軟件的需求說明具有完整性和精確性。
設計全過程的不相關性。
3. 冗余設計
在相同的運行環(huán)境中,一套軟件出故障的地方,另外一套也一定會出現(xiàn)故障。
在一套完整的軟件系統(tǒng)之外,設計一種不同路徑、不同算法或不同實現(xiàn)方法的模塊或系統(tǒng)作為備份。
費用可能接近單個版本軟件開發(fā)費用的兩倍,還有可能導致軟件運行時所花費的存儲空間、內存消耗、運行時間有所增加,需要在可靠性要求和額外付出代價之間做出折中。
2、檢錯技術
檢錯技術實現(xiàn)的代價一般低于容錯技術和冗余技術,但它有一個明顯的缺點,就是不能自動解決故障。
著重考慮幾個要素:檢測對象、檢測延時、實現(xiàn)方式、處理方式。
3、降低復雜度設計
模塊復雜性主要包含模塊內部數(shù)據(jù)流向和程序長度兩個方面,結構復雜性用不同模塊之間的關聯(lián)程度表示。
軟件復雜性是產(chǎn)生軟件缺陷的重要根源。
在設計師就應該考慮降低軟件的復雜性,是提高軟件可靠性的有效方法。
在保證實現(xiàn)軟件功能的基礎上,簡化軟件結構,縮短程序代碼長度,優(yōu)化軟件數(shù)據(jù)流向,降低軟件復雜度,從而提高軟件可靠性。
13.4.2 軟件可靠性管理
為了進一步提高軟件可靠性,又提出軟件可靠性管理的概念,把軟件可靠性活動貫穿于軟件開發(fā)的全過程。
各個階段的可靠性活動的目標、計劃、進度、任務、修正措施等。
由于軟件之間的差異較大,下面的每項活動并不是每一個軟件系統(tǒng)的可靠性管理的必須內容,也不是軟件可靠性管理的全部內容。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |