產(chǎn)品中心
-
高低溫試驗(yàn)箱
-
鋰電池防爆試驗(yàn)箱
-
恒溫恒濕試驗(yàn)箱
-
液態(tài)沖擊試驗(yàn)箱
-
冷熱沖擊試驗(yàn)箱(二箱式)
-
冷熱沖擊試驗(yàn)箱(三箱式)
-
快速溫變?cè)囼?yàn)箱
-
太陽(yáng)輻射試驗(yàn)箱
-
高低溫/低氣壓試驗(yàn)箱
-
步入式高低溫濕熱試驗(yàn)室
-
三綜合試驗(yàn)箱
-
防水試驗(yàn)箱測(cè)試系列
-
防塵試驗(yàn)箱測(cè)試系列
-
高溫試驗(yàn)箱
-
霉菌試驗(yàn)箱
-
紫外線老化試驗(yàn)箱
-
鹽霧試驗(yàn)箱
-
高壓加速老化試驗(yàn)機(jī)
-
自然對(duì)流試驗(yàn)箱
-
電磁式振動(dòng)試驗(yàn)系統(tǒng)
-
可靠性壽命檢測(cè)儀器
-
萬(wàn)能材料試驗(yàn)機(jī)
-
離子遷移特性評(píng)價(jià)系統(tǒng)
試論軟件的可靠性及其保證(一)
日期:2024-10-23 05:23
瀏覽次數(shù):1416
摘要:
? 用軟件系統(tǒng)規(guī)模越做越大越復(fù)雜,其可靠性越來(lái)越難保證。應(yīng)用本身對(duì)系統(tǒng)運(yùn)行的可靠性要求越來(lái)越高,在一些關(guān)鍵的應(yīng)用領(lǐng)域,如航空、航天等,其可靠性要求尤為重要,在銀行等服務(wù)性行業(yè),其軟件系統(tǒng)的可靠性也直接關(guān)系到自身的聲譽(yù)和生存發(fā)展競(jìng)爭(zhēng)能力。
特別是軟件可靠性比硬件可靠性更難保證,會(huì)嚴(yán)重影響整個(gè)系統(tǒng)的可靠性。在許多項(xiàng)目開(kāi)發(fā)過(guò)程中,對(duì)可靠性沒(méi)有提出明確的要求,開(kāi)發(fā)商(部門(mén))也不在可靠性方面花更多的精力,往往只注重速度、結(jié)果的正確性和用戶界面的友好性等,鹽霧試驗(yàn)機(jī)而忽略了可靠性。在投入使用后才發(fā)現(xiàn)大量可靠性問(wèn)題,增加了維護(hù)困難和工作量,嚴(yán)重時(shí)只有束之高閣,無(wú)法投入實(shí)際使用。
一. 軟件可靠性與硬件可靠性的區(qū)別
軟件可靠性與硬件可靠性之間主要存在以下區(qū)別:
1.*明顯的是硬件有老化損耗現(xiàn)象,硬件失效是物理故障,是器件物理變化的必然結(jié)果,有浴盆曲線現(xiàn)象;軟件不發(fā)生變化,沒(méi)有磨損現(xiàn)象,有陳舊落后的問(wèn)題,沒(méi)有浴盆曲線現(xiàn)象。
2.硬件可靠性的決定因素是時(shí)間,受設(shè)計(jì)、生產(chǎn)、運(yùn)用的所有過(guò)程影響,軟件可靠性的決定因素是與輸入數(shù)據(jù)有關(guān)的軟件差錯(cuò),鹽霧試驗(yàn)機(jī)是輸入數(shù)據(jù)和程序內(nèi)部狀態(tài)的函數(shù),更多地決定于人。
3.硬件的糾錯(cuò)維護(hù)可通過(guò)修復(fù)或更換失效的系統(tǒng)重新恢復(fù)功能,軟件只有通過(guò)重設(shè)計(jì)。
4.對(duì)硬件可采用預(yù)防性維護(hù)技術(shù)預(yù)防故障,采用斷開(kāi)失效部件的辦法診斷故障,而軟件則不能采用這些技術(shù)。
5.事先估計(jì)可靠性測(cè)試和可靠性的逐步增長(zhǎng)等技術(shù)對(duì)軟件和硬件有不同的意義。
6.為提高硬件可靠性可采用冗余技術(shù),而同一軟件的冗余不能提高可靠性。
7.硬件可靠性檢驗(yàn)方法已建立,并已標(biāo)準(zhǔn)化且有一整套完整的理論,而軟件可靠性驗(yàn)證方法仍未建立,更沒(méi)有完整的理論體系。
8.硬件可靠性已有成熟的產(chǎn)品市場(chǎng),而軟件產(chǎn)品市場(chǎng)還很新。
9.軟件錯(cuò)誤是永恒的,可重現(xiàn)的,而一些瞬間的硬件錯(cuò)誤可能會(huì)被誤認(rèn)為是軟件錯(cuò)誤。
總的說(shuō)來(lái),軟件可靠性比硬件可靠性更難保證,即使是美國(guó)宇航局的軟件系統(tǒng),其可靠性仍比硬件可靠性低一個(gè)數(shù)量級(jí)。
二. 影響軟件可靠性的因素
軟件可靠性是關(guān)于軟件能夠夠滿足需求功能的性質(zhì),軟件不能滿足需**因?yàn)檐浖械牟铄e(cuò)引起了軟件故障。軟件中有哪些可能的差錯(cuò)呢?
軟件差錯(cuò)是軟件開(kāi)發(fā)各階段潛入的人為錯(cuò)誤:
1.需求分析定義錯(cuò)誤。如用戶提出的需求不完整,用戶需求的變更未及時(shí)消化,軟件開(kāi)發(fā)人和用戶對(duì)需求的理解不同等等。
2.設(shè)計(jì)錯(cuò)誤。如處理的結(jié)構(gòu)和算法錯(cuò)誤,鹽霧試驗(yàn)機(jī)缺乏對(duì)特殊情況和錯(cuò)誤處理的考慮等。
3.編碼錯(cuò)誤。如語(yǔ)法錯(cuò)誤,變量初始化錯(cuò)誤等。
4.測(cè)試錯(cuò)誤。如數(shù)據(jù)準(zhǔn)備錯(cuò)誤,測(cè)試用例錯(cuò)誤等。
5.文檔錯(cuò)誤。如文檔不齊全,文檔相關(guān)內(nèi)容不一致,文檔版本不一致,缺乏完整性等。
從上游到下游,錯(cuò)誤的影響是發(fā)散的,所以要盡量把錯(cuò)誤消除在開(kāi)發(fā)前期階段。
錯(cuò)誤引入軟件的方式可歸納為兩種特性:程序代碼特性,開(kāi)發(fā)過(guò)程特性。
程序代碼一個(gè)*直觀的特性是長(zhǎng)度,另外還有算法和語(yǔ)句結(jié)構(gòu)等,程序代碼越長(zhǎng),結(jié)構(gòu)越復(fù)雜,其可靠性越難保證。
開(kāi)發(fā)過(guò)程特性包括采用的工程技術(shù)和使用的工具,也包括開(kāi)發(fā)人個(gè)人的業(yè)務(wù)經(jīng)歷水平等。
除了軟件可靠性外,影響可靠性的另一個(gè)重要因素是健壯性,鹽霧試驗(yàn)機(jī)對(duì)非法輸入的容錯(cuò)能力。
所以提高可靠性從原理上看就是要減少錯(cuò)誤和提高健壯性。
三. 提高軟件可靠性的方法和技術(shù)
1.建立以可靠性為核心的質(zhì)量標(biāo)準(zhǔn)
在軟件項(xiàng)目規(guī)劃和需求分析階段就要建立以可靠性為核心的質(zhì)量標(biāo)準(zhǔn)。這個(gè)質(zhì)量標(biāo)準(zhǔn)包括實(shí)現(xiàn)的功能、可靠性、可維護(hù)性、可移植性、**性、吞吐率等等,雖然還沒(méi)有一個(gè)衡量軟件質(zhì)量的完整體系,但還是可以通過(guò)一定的指標(biāo)來(lái)指定標(biāo)準(zhǔn)基線。
特別是軟件可靠性比硬件可靠性更難保證,會(huì)嚴(yán)重影響整個(gè)系統(tǒng)的可靠性。在許多項(xiàng)目開(kāi)發(fā)過(guò)程中,對(duì)可靠性沒(méi)有提出明確的要求,開(kāi)發(fā)商(部門(mén))也不在可靠性方面花更多的精力,往往只注重速度、結(jié)果的正確性和用戶界面的友好性等,鹽霧試驗(yàn)機(jī)而忽略了可靠性。在投入使用后才發(fā)現(xiàn)大量可靠性問(wèn)題,增加了維護(hù)困難和工作量,嚴(yán)重時(shí)只有束之高閣,無(wú)法投入實(shí)際使用。
一. 軟件可靠性與硬件可靠性的區(qū)別
軟件可靠性與硬件可靠性之間主要存在以下區(qū)別:
1.*明顯的是硬件有老化損耗現(xiàn)象,硬件失效是物理故障,是器件物理變化的必然結(jié)果,有浴盆曲線現(xiàn)象;軟件不發(fā)生變化,沒(méi)有磨損現(xiàn)象,有陳舊落后的問(wèn)題,沒(méi)有浴盆曲線現(xiàn)象。
2.硬件可靠性的決定因素是時(shí)間,受設(shè)計(jì)、生產(chǎn)、運(yùn)用的所有過(guò)程影響,軟件可靠性的決定因素是與輸入數(shù)據(jù)有關(guān)的軟件差錯(cuò),鹽霧試驗(yàn)機(jī)是輸入數(shù)據(jù)和程序內(nèi)部狀態(tài)的函數(shù),更多地決定于人。
3.硬件的糾錯(cuò)維護(hù)可通過(guò)修復(fù)或更換失效的系統(tǒng)重新恢復(fù)功能,軟件只有通過(guò)重設(shè)計(jì)。
4.對(duì)硬件可采用預(yù)防性維護(hù)技術(shù)預(yù)防故障,采用斷開(kāi)失效部件的辦法診斷故障,而軟件則不能采用這些技術(shù)。
5.事先估計(jì)可靠性測(cè)試和可靠性的逐步增長(zhǎng)等技術(shù)對(duì)軟件和硬件有不同的意義。
6.為提高硬件可靠性可采用冗余技術(shù),而同一軟件的冗余不能提高可靠性。
7.硬件可靠性檢驗(yàn)方法已建立,并已標(biāo)準(zhǔn)化且有一整套完整的理論,而軟件可靠性驗(yàn)證方法仍未建立,更沒(méi)有完整的理論體系。
8.硬件可靠性已有成熟的產(chǎn)品市場(chǎng),而軟件產(chǎn)品市場(chǎng)還很新。
9.軟件錯(cuò)誤是永恒的,可重現(xiàn)的,而一些瞬間的硬件錯(cuò)誤可能會(huì)被誤認(rèn)為是軟件錯(cuò)誤。
總的說(shuō)來(lái),軟件可靠性比硬件可靠性更難保證,即使是美國(guó)宇航局的軟件系統(tǒng),其可靠性仍比硬件可靠性低一個(gè)數(shù)量級(jí)。
二. 影響軟件可靠性的因素
軟件可靠性是關(guān)于軟件能夠夠滿足需求功能的性質(zhì),軟件不能滿足需**因?yàn)檐浖械牟铄e(cuò)引起了軟件故障。軟件中有哪些可能的差錯(cuò)呢?
軟件差錯(cuò)是軟件開(kāi)發(fā)各階段潛入的人為錯(cuò)誤:
1.需求分析定義錯(cuò)誤。如用戶提出的需求不完整,用戶需求的變更未及時(shí)消化,軟件開(kāi)發(fā)人和用戶對(duì)需求的理解不同等等。
2.設(shè)計(jì)錯(cuò)誤。如處理的結(jié)構(gòu)和算法錯(cuò)誤,鹽霧試驗(yàn)機(jī)缺乏對(duì)特殊情況和錯(cuò)誤處理的考慮等。
3.編碼錯(cuò)誤。如語(yǔ)法錯(cuò)誤,變量初始化錯(cuò)誤等。
4.測(cè)試錯(cuò)誤。如數(shù)據(jù)準(zhǔn)備錯(cuò)誤,測(cè)試用例錯(cuò)誤等。
5.文檔錯(cuò)誤。如文檔不齊全,文檔相關(guān)內(nèi)容不一致,文檔版本不一致,缺乏完整性等。
從上游到下游,錯(cuò)誤的影響是發(fā)散的,所以要盡量把錯(cuò)誤消除在開(kāi)發(fā)前期階段。
錯(cuò)誤引入軟件的方式可歸納為兩種特性:程序代碼特性,開(kāi)發(fā)過(guò)程特性。
程序代碼一個(gè)*直觀的特性是長(zhǎng)度,另外還有算法和語(yǔ)句結(jié)構(gòu)等,程序代碼越長(zhǎng),結(jié)構(gòu)越復(fù)雜,其可靠性越難保證。
開(kāi)發(fā)過(guò)程特性包括采用的工程技術(shù)和使用的工具,也包括開(kāi)發(fā)人個(gè)人的業(yè)務(wù)經(jīng)歷水平等。
除了軟件可靠性外,影響可靠性的另一個(gè)重要因素是健壯性,鹽霧試驗(yàn)機(jī)對(duì)非法輸入的容錯(cuò)能力。
所以提高可靠性從原理上看就是要減少錯(cuò)誤和提高健壯性。
三. 提高軟件可靠性的方法和技術(shù)
1.建立以可靠性為核心的質(zhì)量標(biāo)準(zhǔn)
在軟件項(xiàng)目規(guī)劃和需求分析階段就要建立以可靠性為核心的質(zhì)量標(biāo)準(zhǔn)。這個(gè)質(zhì)量標(biāo)準(zhǔn)包括實(shí)現(xiàn)的功能、可靠性、可維護(hù)性、可移植性、**性、吞吐率等等,雖然還沒(méi)有一個(gè)衡量軟件質(zhì)量的完整體系,但還是可以通過(guò)一定的指標(biāo)來(lái)指定標(biāo)準(zhǔn)基線。