硬件可靠性是指在給定的操作環境與條件下,硬件在一段規定的時間內正確執行要求功能的能力。軟件可靠性是指在指定條件下使用時,軟件產品維持規定的性能級別的能力。
硬件可靠性和軟件可靠性之間區別:
① 最明顯的是硬件有老化損耗現象,硬件失效是物理故障,是器件物理變化的必然結果,有浴盆曲線現象;軟件不發生變化,沒有磨損現象,有陳舊落后的問題,沒有浴盆曲線現象。
② 硬件可靠性的決定因素是時間,受設計、生產、運用所有過程的影響;軟件可靠性的決定因素是與輸入數據有關的軟件差錯,是輸入數據和程序內部狀態的函數,更多地取決于人。
③ 硬件的糾錯維護可通過修復或更換失效的系統重新恢復功能,軟件只能重新設計。
④ 對硬件可采用預防性維護技術預防故障,采用斷開失效部件的辦法診斷故障;而對軟件則不能采用這些技術。
⑤ 基于預估計可靠性測試和可靠性的逐步提升等技術對軟件和硬件有不同的意義。
⑥ 為提高硬件可靠性可采用冗余技術,而同一軟件的冗余不能提高可靠性。
⑦ 硬件可靠性檢驗方法已建立,并已標準化且有一套完整的理論;而軟件可靠性驗證方法仍未建立,更沒有完整的理論體系。
⑧ 硬件可靠性已有成熟的產品市場,而軟件產品市場還很新。
⑨ 軟件錯誤是永恒的,可重現的,一些瞬間的硬件錯誤可能會被誤認為是軟件錯誤。
總之,軟件可靠性比硬件可靠性更難保證。實際上,即使是美國宇航局的軟件系統,其可靠性仍比硬件可靠性低一個數量級。