軟件可靠性參數(shù)與設(shè)計(jì)研究
發(fā)布時(shí)間:2014-07-28 20:32
2.軟件質(zhì)量的可靠性參數(shù)
2.1 系統(tǒng)平均不工作間隔時(shí)間(MTBSD或MTBD)。設(shè)d為軟件正常工作總時(shí)間,d為系統(tǒng)由于軟件故障而停止工作的次數(shù),則定義TBSD=Tv/(d+1)。式中,TBSD—MTBSD;Tv—軟件正常工作總時(shí)間(h);d—系統(tǒng)由于軟件故障而停止工作的次數(shù)。MTBSD反映了系統(tǒng)的穩(wěn)定性。
2.2 可用度A。設(shè)Tv為軟件正常工作總時(shí)間,TD為由于軟件故障使系統(tǒng)不工作的時(shí)間,則定義A=TV/(TV+TD)。它反映了系統(tǒng)的穩(wěn)定性,亦可表達(dá)為A=TBD/(TBD+TDT)。式中,TBD—MTBD(h),TDT—平均不工作時(shí)間,以下簡(jiǎn)稱MDT(h)。對(duì)一般生產(chǎn)用計(jì)算機(jī)系統(tǒng),要求A≥99.8%;銀行計(jì)算機(jī)系統(tǒng),要求A>99.9%。
2.3 平均不工作時(shí)間(MDT)。即由于軟件故障,系統(tǒng)不工作的均值。對(duì)在線系統(tǒng)而言。MDT要求不超過(guò)10min一般的MDT<30min。 一般以軟件交付使用后的三個(gè)月內(nèi)為初期故障期。初期故障率的大小取決于軟件設(shè)計(jì)水平、檢查項(xiàng)日數(shù)、軟件規(guī)模、軟件調(diào)試徹底與否等因素。
2.4 偶然故障率。一般以軟件交付給使用方四個(gè)月后為偶然故障期,偶然故障率以每1000h的故障數(shù)為單位,它反映了軟件處于穩(wěn)定狀態(tài)下的質(zhì)量。一般最少要求偶然故障率不超過(guò)1,即每千小時(shí)不到1個(gè)故障,亦即MTBF超過(guò)1000h。
使用方不按照軟件規(guī)范及說(shuō)明等使用造成的錯(cuò)誤叫使用方誤用。在總使用次數(shù)中,使用方誤用次數(shù)占的百分率叫使用方誤用率。造成使用方誤用的原因之一是使用方對(duì)說(shuō)明理解不深,操作不熟練,但也有可能是說(shuō)明沒(méi)有講得很清楚而引起誤解。其他的原因還有軟件系統(tǒng)的可操作性還應(yīng)改進(jìn)、對(duì)使用方的使用培訓(xùn)還要更深入等等。
3.軟件可靠性設(shè)計(jì)方法
結(jié)構(gòu)化程序設(shè)計(jì)。
軟件結(jié)構(gòu)對(duì)軟件的可靠性具有重要的意義。結(jié)構(gòu)良好的程序易于編寫、檢查,便于查錯(cuò)定位、修改和維護(hù)。結(jié)構(gòu)化程序設(shè)計(jì)(也稱為模塊化程序設(shè)計(jì))把程序要求分成若干獨(dú)立的、更小的程序要求或模塊化的功能要求,分別提出各自的要求/規(guī)格說(shuō)明,并注明是如何與程序中的其他部分接口,還必須指出所有的輸入與輸出,以及測(cè)試要求。對(duì)每一個(gè)更小的程序和模塊,可分別編程和測(cè)試,使得模塊間高度分離。
容錯(cuò)設(shè)計(jì)。
對(duì)軟件錯(cuò)誤所引起的后果特別嚴(yán)重的情況,如飛機(jī)的飛行控制系統(tǒng)、空中交通管制系統(tǒng)、核反應(yīng)堆安全系統(tǒng)等,需采用容錯(cuò)軟件。容錯(cuò)設(shè)計(jì)的途徑有:(1)加強(qiáng)軟件的健壯性;使程序設(shè)計(jì)得能夠緩解錯(cuò)誤的影響,不致造成諸如死鎖或崩潰這樣的嚴(yán)重后果,并能指出錯(cuò)誤源。(2)采用N(>2)版本編程法:即盡可能用不同的算法與編程語(yǔ)言,經(jīng)不同的班組編制,以提高各軟件版本的獨(dú)立性。這N個(gè)軟件版本同時(shí)在N臺(tái)計(jì)算機(jī)上運(yùn)行,各計(jì)算機(jī)間能進(jìn)行高效通信,并作出快速比較,當(dāng)結(jié)果不一致時(shí),按多數(shù)表決或預(yù)定的策略選擇輸出。(3)恢復(fù)塊法:給需要作容錯(cuò)處理的塊(基本塊)提供備份塊,并附加錯(cuò)誤檢測(cè)和恢復(fù)措施。
軟件編碼。
在軟件結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上就可以進(jìn)行編碼,編碼產(chǎn)生的缺陷是軟件錯(cuò)誤的主要來(lái)源。一般的編碼錯(cuò)誤是:鍵入錯(cuò)代碼;數(shù)值錯(cuò)誤(尤其是單位不統(tǒng)一時(shí)易出這類錯(cuò)誤);丟失代碼(如括號(hào));用了被零除這樣不定值的表達(dá)式等。為了減少編碼錯(cuò)誤,實(shí)現(xiàn)設(shè)計(jì)與生產(chǎn)分離,首先由高水平的軟件工程師完成結(jié)構(gòu)設(shè)計(jì),再由程序設(shè)計(jì)員完成程序的編制是合理的、必要的,并在編碼過(guò)程中盡早地查出缺陷予以改正。
本文編號(hào):6801
2.1 系統(tǒng)平均不工作間隔時(shí)間(MTBSD或MTBD)。設(shè)d為軟件正常工作總時(shí)間,d為系統(tǒng)由于軟件故障而停止工作的次數(shù),則定義TBSD=Tv/(d+1)。式中,TBSD—MTBSD;Tv—軟件正常工作總時(shí)間(h);d—系統(tǒng)由于軟件故障而停止工作的次數(shù)。MTBSD反映了系統(tǒng)的穩(wěn)定性。
2.2 可用度A。設(shè)Tv為軟件正常工作總時(shí)間,TD為由于軟件故障使系統(tǒng)不工作的時(shí)間,則定義A=TV/(TV+TD)。它反映了系統(tǒng)的穩(wěn)定性,亦可表達(dá)為A=TBD/(TBD+TDT)。式中,TBD—MTBD(h),TDT—平均不工作時(shí)間,以下簡(jiǎn)稱MDT(h)。對(duì)一般生產(chǎn)用計(jì)算機(jī)系統(tǒng),要求A≥99.8%;銀行計(jì)算機(jī)系統(tǒng),要求A>99.9%。
2.3 平均不工作時(shí)間(MDT)。即由于軟件故障,系統(tǒng)不工作的均值。對(duì)在線系統(tǒng)而言。MDT要求不超過(guò)10min一般的MDT<30min。 一般以軟件交付使用后的三個(gè)月內(nèi)為初期故障期。初期故障率的大小取決于軟件設(shè)計(jì)水平、檢查項(xiàng)日數(shù)、軟件規(guī)模、軟件調(diào)試徹底與否等因素。
2.4 偶然故障率。一般以軟件交付給使用方四個(gè)月后為偶然故障期,偶然故障率以每1000h的故障數(shù)為單位,它反映了軟件處于穩(wěn)定狀態(tài)下的質(zhì)量。一般最少要求偶然故障率不超過(guò)1,即每千小時(shí)不到1個(gè)故障,亦即MTBF超過(guò)1000h。
使用方不按照軟件規(guī)范及說(shuō)明等使用造成的錯(cuò)誤叫使用方誤用。在總使用次數(shù)中,使用方誤用次數(shù)占的百分率叫使用方誤用率。造成使用方誤用的原因之一是使用方對(duì)說(shuō)明理解不深,操作不熟練,但也有可能是說(shuō)明沒(méi)有講得很清楚而引起誤解。其他的原因還有軟件系統(tǒng)的可操作性還應(yīng)改進(jìn)、對(duì)使用方的使用培訓(xùn)還要更深入等等。
3.軟件可靠性設(shè)計(jì)方法
結(jié)構(gòu)化程序設(shè)計(jì)。
軟件結(jié)構(gòu)對(duì)軟件的可靠性具有重要的意義。結(jié)構(gòu)良好的程序易于編寫、檢查,便于查錯(cuò)定位、修改和維護(hù)。結(jié)構(gòu)化程序設(shè)計(jì)(也稱為模塊化程序設(shè)計(jì))把程序要求分成若干獨(dú)立的、更小的程序要求或模塊化的功能要求,分別提出各自的要求/規(guī)格說(shuō)明,并注明是如何與程序中的其他部分接口,還必須指出所有的輸入與輸出,以及測(cè)試要求。對(duì)每一個(gè)更小的程序和模塊,可分別編程和測(cè)試,使得模塊間高度分離。
容錯(cuò)設(shè)計(jì)。
對(duì)軟件錯(cuò)誤所引起的后果特別嚴(yán)重的情況,如飛機(jī)的飛行控制系統(tǒng)、空中交通管制系統(tǒng)、核反應(yīng)堆安全系統(tǒng)等,需采用容錯(cuò)軟件。容錯(cuò)設(shè)計(jì)的途徑有:(1)加強(qiáng)軟件的健壯性;使程序設(shè)計(jì)得能夠緩解錯(cuò)誤的影響,不致造成諸如死鎖或崩潰這樣的嚴(yán)重后果,并能指出錯(cuò)誤源。(2)采用N(>2)版本編程法:即盡可能用不同的算法與編程語(yǔ)言,經(jīng)不同的班組編制,以提高各軟件版本的獨(dú)立性。這N個(gè)軟件版本同時(shí)在N臺(tái)計(jì)算機(jī)上運(yùn)行,各計(jì)算機(jī)間能進(jìn)行高效通信,并作出快速比較,當(dāng)結(jié)果不一致時(shí),按多數(shù)表決或預(yù)定的策略選擇輸出。(3)恢復(fù)塊法:給需要作容錯(cuò)處理的塊(基本塊)提供備份塊,并附加錯(cuò)誤檢測(cè)和恢復(fù)措施。
軟件編碼。
在軟件結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上就可以進(jìn)行編碼,編碼產(chǎn)生的缺陷是軟件錯(cuò)誤的主要來(lái)源。一般的編碼錯(cuò)誤是:鍵入錯(cuò)代碼;數(shù)值錯(cuò)誤(尤其是單位不統(tǒng)一時(shí)易出這類錯(cuò)誤);丟失代碼(如括號(hào));用了被零除這樣不定值的表達(dá)式等。為了減少編碼錯(cuò)誤,實(shí)現(xiàn)設(shè)計(jì)與生產(chǎn)分離,首先由高水平的軟件工程師完成結(jié)構(gòu)設(shè)計(jì),再由程序設(shè)計(jì)員完成程序的編制是合理的、必要的,并在編碼過(guò)程中盡早地查出缺陷予以改正。
本文編號(hào):6801
本文鏈接:http://www.wukwdryxk.cn/kejilunwen/jisuanjikexuelunwen/6801.html
最近更新
教材專著