作者:admin 時間:2022-04-09
現在關于軟件與硬件從可靠性角度來看得區別主要有三個不同點[
1) 復雜性:軟件內部邏輯高度復雜,而硬件內部邏輯較為簡單,這就在很大程度上決定了設計錯誤是導致軟件失效的主要原因,而導致硬件失效的可能性則很小。
2) 物理退化:軟件不存在物理退化現象.硬件失效則主要由于物理退化所致。這就決定了軟件正確性與軟件可靠性密切相關,一個正確的軟件任何時刻均可靠。然而一個正確的硬件元
器件或系統則可能在某個時刻失效。
3) 性:軟件是的,軟件拷貝不改變軟件本身,而任何兩個硬件不可能相同。這就是為什么概率方法在硬件可靠性領域取得巨大成功,而在軟件可靠性領域不令人滿意的原因。
上述關于軟件與硬件的區別說明了軟件可靠性的一些特點,對理解軟件的可靠性性質有的幫助。但是也存在著一些片面性的缺點。
第一條是軟件的復雜性。軟件的內部邏輯結構總體上確實要比硬件的邏輯結構要復雜,但這并不是軟件比硬件復雜的主要原因。事實上有的軟件項目并不比某些“硬件”的內部邏輯復雜,比如民用客機的內部邏輯復雜性?,F代的民用客機從設計到零部件的生產再到組裝,各個環節分布在世界上的不同,參與的人數之多、產生的文檔之多讓大多數軟件項目望塵莫及。但民用客機的可靠性并未因為內部邏輯的復雜性而使得可靠性降低。據統計,乘坐民航客機的系數要比乘坐汽車的系數還要高??梢妰H僅是內部邏輯的復雜性并不是造成軟件可靠性難以保障的原因。
第二點關于物理退化。軟件本身確實不存在物理退化,但是軟件存在邏輯退化。誰也無法保證一個軟件下一次運行無故障,就像沒有人能保證太陽明天照常升起一樣。一個正確的軟件任何時刻均可靠,然而一個軟件是否正確遠比一個軟件是否可靠更難以捉摸。在無法得到軟件是否正確的信息、的前提下,軟件依然會隨時間而失效。這有可能是軟件的并發機制,也有可能是由于軟件中包含未排除的內存泄露錯誤。
第三點關于軟件的性。關于性的論述只是從靜態的角度來看問題。軟件的可靠性不僅僅取決于軟件本身,也與運行環境、輸入數據有關。比如對于多線程的軟件就會受到系統線程調度的不可預期的因素的影響。
版權所有© 國可工軟科技有限公司 滬ICP備2020030271號