版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
**軟件可靠性建模模型概述1.1軟件可靠性的定義1983年美國IEEE計算機學會對“軟件可靠性”作出了明確定義,此后該定義被美國標準化研究所接受為國家標準,1989年我國也接受該定義為國家標準。該定義包括兩方面的含義:謝謝閱讀(1)在規(guī)定的條件下,在規(guī)定的時間內,軟件不引起系統(tǒng)失效的概率;(2)在規(guī)定的時間周期內,在所述條件下程序執(zhí)行所要求的功能的能力;精品文檔放心下載其中的概率是系統(tǒng)輸入和系統(tǒng)使用的函數(shù),也是軟件中存在的故障的函數(shù),系統(tǒng)輸入將確定是否會遇到已存在的故障(如果故障存在的話)。精品文檔放心下載軟件失效的根本原因在于程序中存在著缺陷和錯誤,軟件失效的產(chǎn)生與軟件本身特性、人為因素、軟件工程管理都密切相關。影響軟件可靠性的主要因素有軟件自身特性、人為因素、軟件工程管理等,這些因素具體還可分為環(huán)境因素、軟件是否嚴密、軟件復雜程度、軟件是否易于用戶理解、軟件測試、軟件的排錯與糾正以及軟件可靠性工程技術研究水平與應用能力等諸多方面。感謝閱讀1.2軟件可靠性建模思想建立軟件可靠性模型旨在根據(jù)軟件可靠性相關測試數(shù)據(jù),運用統(tǒng)計方法得出軟件可靠謝謝閱讀性的預測值或估計值,下圖給出了軟件可靠性建模的基本思想。精品文檔放心下載**圖軟件可靠性建?;舅枷霃膱D中可以看出軟件失效總體來說隨著故障的檢出和排除而逐漸降低,在任意給定的精品文檔放心下載時間,能夠觀測到軟件失效的歷史。軟件可靠性建模的目標如下:(1)預測軟件系統(tǒng)達感謝閱讀到預期目標所還需要的資源開銷及測試時間;(2)預測測試結束后系統(tǒng)的期望可靠性。感謝閱讀1.3軟件可靠性建?;締栴}軟件可靠性建模需要考慮以下基本問題:(1)模型建立模型建立指的是怎樣去建立軟件可靠性模型。一方面是考慮模型建立的角度,例如從時間域角度、數(shù)據(jù)域角度、將軟件失效時刻作為建模對象,還可以將一定時間內軟件故障數(shù)作為建模對象;另一方面是考慮運用的數(shù)學語言,例如概率語言。精品文檔放心下載(2)模型比較在軟件可靠性模型分類的基礎上,對不同的模型分析比較,并對模型的有效性、適用性、簡潔性等進行綜合權衡,從而確定出模型的適用范圍。精品文檔放心下載(3)模型應用軟件可靠性模型的應用需要從以下兩方面考慮:一是給定了軟件的開發(fā)計劃,如何選擇適當?shù)哪P?;二是給定了軟件可靠性模型,如何指導軟件可靠性工程實踐。感謝閱讀軟件系統(tǒng)的失效歷史可以通過對測試得到的失效數(shù)據(jù)分析獲得,而實際情況中,人們精品文檔放心下載**最為關注的是軟件未來的失效趨勢。軟件可靠性模型基本都是建立在一定的假設基礎之上,謝謝閱讀所以,即使花費了大量的時間和精力對軟件的可靠性進行預計,也只是一種預測,這種預感謝閱讀測的不確定性是許多未知原因交互作用的結果,根據(jù)軟件可靠性模型的預測只能以概率形謝謝閱讀式表示。1.4軟件可靠性模型的特點(1)與使用的程序設計語言無關。軟件可靠性的應用與選用什么程序設計語言來編寫軟件之間沒有什么直接關系。但對于根據(jù)同一個規(guī)格說明書,不管你用什么程序設計語言軟件來編寫軟件,同一個軟件可靠性模型應給出同樣的估測結果。感謝閱讀(2)與具體用到的軟件開發(fā)方法無關。軟件開發(fā)是一個十分復雜的過程,涉及到許多的人為因素,從而使得對軟件的質量難以進行預測。為了保證預測的精度,不妨假設待估測的軟件系統(tǒng)是用最壞的軟件開發(fā)方法開發(fā)出來的。謝謝閱讀(3)測試方法的選擇問題。實際上是無法通過徹底的測試來獲得完全可靠的軟件,所以不得不采用有限的測試,那么目標就是用最少的測試以求最大限度的軟件可靠性。可以用例如邊界值測試法、分類測試法、路徑測試法等方法來達到。幾乎所有的軟件可靠性模型都假定測試環(huán)境就是將來軟件的運行環(huán)境,這限制了高可靠性估計情況下的這些模型的可用性。感謝閱讀(4)改錯過程。實際上改正老的錯誤時往往會引人新的錯誤。感謝閱讀(5)模型要表述的內容。模型應該指出測試的輸入是否已足夠地覆蓋了輸入域,測試的條件和數(shù)據(jù)是否已準確地模擬了操作系統(tǒng)、是否已足以查出那些類似的錯誤等。軟件可靠性模型假定測試的條件和數(shù)據(jù)與操作環(huán)境有著同樣的分布,也就簡捷地假設了上述要表述的內容。感謝閱讀(6)輸入的分布問題??煽啃怨烙嬀o密地依賴于模型假設的輸入分布。作為一個極端的情況,如果輸入是一個常數(shù)(比如說只用到一個輸入),軟件將或者出錯或者成功謝謝閱讀**的執(zhí)行,于是就給出可靠性相應地為0或為1。(7)關于軟件復雜性問題。大多數(shù)現(xiàn)有的軟件可靠性模型都沒有考慮這個問題。謝謝閱讀實際上,復雜的軟件應該比簡單的軟件要求更多的測試。(8)模型的驗證問題。常常由于缺乏實際可用的足夠數(shù)據(jù),使得對模型的驗證無法進行,且在整個軟件壽命周期內,軟件幾乎呈常數(shù)倍數(shù)地增加,導致可靠性也相應地變化,軟件可靠性的驗證工作也就更加復雜化。精品文檔放心下載(9)關于時間問題。在軟件可靠性量測與硬件可靠性量測綜合起來對一定的系統(tǒng)環(huán)境進行考核時,將CPU時間作為時間單位是必要的。謝謝閱讀(10)考慮模型所要求的數(shù)據(jù)是否容易收集。否則,由于數(shù)據(jù)問題,將會限制軟件可靠性的應用范圍。感謝閱讀1.5軟件可靠性模型的分類到目前為止,軟件可靠性模型的研究已有40多年的歷史,國內外已發(fā)表的軟件可靠精品文檔放心下載性模型有近百種,但由于對軟件可靠性模型的研究還處在一個初步階段,目前并沒有一個感謝閱讀完整、系統(tǒng)的科學分類方法。為了從宏觀上研究、掌握和理解這些模型,不少學者提出不謝謝閱讀同的分類方法。(一)根據(jù)建模對象分類根據(jù)建模對象將模型分為兩種:靜態(tài)模型和動態(tài)模型,如圖:謝謝閱讀圖根據(jù)建模對象分類**1、靜態(tài)模型靜態(tài)模型的建模對象是與運行時間無關的數(shù)據(jù)或信息,如軟件的各種復雜性參數(shù),特感謝閱讀點是不需要進行軟件測試即可進行軟件缺陷估計,應用與軟件開發(fā)的早期階段。隨著軟件謝謝閱讀可靠性設計逐漸被重視,這種模型的重要性也體現(xiàn)出來。2、動態(tài)模型動態(tài)模型的建模對象主要是與運行時間相關的數(shù)據(jù)或信息。如 Shooman模型、謝謝閱讀Jelinski-Moranda模型、Schick-Wolverton模型,Musa執(zhí)行時間模型、G-O模型、謝謝閱讀Moranda幾何Poission模型。(二)根據(jù)模型假設分類根據(jù)模型假設將模型分為隨機過程模型和非隨機過程模型,如圖所示。感謝閱讀圖依據(jù)模型假設分類1、隨機過程模型(1)馬爾科夫過程模型這類模型認為在t時刻,軟件系統(tǒng)的失效過程是一個馬爾科夫過程。有代表性的模感謝閱讀型有Jelinski-Moranda模型,Schick-Wolverton模型。感謝閱讀(2)非齊次泊松過程模型這類模型把時間劃分為0,t1,t2,…t時間間隔,每個間隔內發(fā)現(xiàn)的失效數(shù)是泊松隨機精品文檔放心下載**變量,代表性的模型有G-O模型。(3)Musa執(zhí)行時間模型這類模型以CPU時間為標準描述軟件系統(tǒng)的可靠性,建立CPU時間與日歷時間,程序的可靠性特征與測試過程資源消耗的關系。謝謝閱讀2、非隨機過程模型(1)貝葉斯類模型這類模型中有代表性的是L-V模型。(2)種子法模型其思想是事先在軟件中植入一定數(shù)量的缺陷植,收集到的缺陷包含植入的和軟件本身的,用它們之間數(shù)量關系估算軟件系統(tǒng)的缺陷數(shù),即動態(tài)模型中的缺陷播種模型。精品文檔放心下載(3)基于數(shù)據(jù)域的模型這類模型的代表是1973年提出的Nelson模型。謝謝閱讀(4)其他方法其他的模型還有非參數(shù)分析、時間序列分析模型等模型。(三)根據(jù)故障過程的特性分類AmritL.Goel將模型分為4類:1、故障間隔時間模型這類模型研究的是故障的間隔時間。最常用的方法是假設第i-1個和第i個故障之間的時間服從某種分布,從觀測到的間隔時間來估計參數(shù),進而估計軟件可靠性和故障間隔時間MTBF(MeanTimeBetweenFailure)等軟件性能度量。謝謝閱讀2、故障計數(shù)模型這類模型關注的是一定時間間隔內發(fā)生故障的次數(shù),假定故障計數(shù)服從一種已知的隨機過程。可以通過觀測的故障數(shù)或失效時間估計失效率參數(shù),NHPP類軟件可靠性增長模型屬于這類模型。精品文檔放心下載**3、故障播種模型這類模型類似于種子法模型。4、基于輸入域模型根據(jù)程序的使用情況從輸入情況的分布生成一組測試用例。由于獲得這個分布比較困難,所以一般把輸入域劃分為幾個有代表性的等價類,每個等價類都與一個程序路徑有關。從執(zhí)行這些從輸入域抽取的測試用例,觀測軟件故障數(shù),從而估計軟件可靠性。感謝閱讀(四)Trivedi分類及其他分類KishorS.Trivedi 劃分模型方法如圖所示謝謝閱讀圖2圖Trivedi分類軟件可靠性模型其他常用的軟件可靠性模型分類方法還有Musa和Okumoto給出的基于模型五種不同屬性的模型分類方法和HoangPham給出的分類體系。感謝閱讀常見的軟件可靠性建模模型2.1軟件可靠性解析模型軟件可靠性解析模型主要通過對軟件失效數(shù)據(jù)行為進行假設,并在該假設的基礎上依感謝閱讀靠數(shù)學解析方法對軟件可靠性進行建模。該類模型可分為指數(shù)模型、對數(shù)模型、感謝閱讀Littlewood-Verrall模型、數(shù)據(jù)域模型、Markov鏈模型、隨機Petri網(wǎng)模型等。謝謝閱讀**2.1.1指數(shù)模型(1) J-M模型J-M軟件可靠性模型于1972年由Jelinski和Moranda創(chuàng)建,屬于二項分布有限錯誤模型。其基本假設如下:1)測試未運行時軟件失效為0;當測試進行時,軟件錯誤將被檢出,其失效率函數(shù)與軟件當前的殘留故障數(shù)成正比;同時,軟件中存在的總故障數(shù)是固定的;2)失效率在每個失效間隔內是常數(shù),其數(shù)值正比于殘留的錯誤數(shù);3)軟件錯誤引發(fā)的故障是相互獨立的;4)每次只修正一個錯誤,且當軟件故障出現(xiàn)時,引發(fā)故障的錯誤將被立即排除,并不會引入新的錯誤。感謝閱讀J-M模型中軟件第i次失效強度函數(shù)為 =?( ?+1),其中為軟精品文檔放心下載件中錯誤總數(shù),?為失效率。J-M模型軟件可靠性函數(shù)為:精品文檔放心下載R( )=e?J-M模型以一種較為簡單的方式,將軟件故障視為測試時間的函數(shù),主要缺點在于假設條件過于理想,實際情況中很難滿足。謝謝閱讀(2) G-O模型Goel-Okumoto軟件可靠性模型(G-O模型)于1979年由Goel和Okumoto提出,屬于NHPP有限錯誤模型,其基本假設如下:1)測試未運行時的軟件失效為0;當測試精品文檔放心下載()的泊松分布;2)當△t→0時,測試時間(,+)內進行時,軟件失效服從均值為m產(chǎn)生的失效與軟件殘留錯誤成正比;3)對于任一組有限時間點,在對應時間段分別發(fā)生的失效次數(shù)相互獨立;4)每次只修正一個錯誤,當軟件故障出現(xiàn)時,引發(fā)故障的錯誤被立即排除,并不會引入新的錯誤。感謝閱讀G-O模型在測試區(qū)間[0.]內的累計失效數(shù)期望函數(shù)為m()= (1??),t為軟件累謝謝閱讀計測試時間。可靠性函數(shù)為:R(|)= (?(+)??)=e?m(s)e?bt感謝閱讀**(3) Musa基本執(zhí)行時間模型Musa基本執(zhí)行時間軟件可靠性模型(Musa模型)中,軟件測試時間使用了更為精確的CPU占用時間作為度量基礎,并給出了CPU時間與日歷時間的轉換關系,但軟件由于運行環(huán)境的差異導致CPU執(zhí)行時間可能大不相同。感謝閱讀(4) 超指數(shù)增長模型超指數(shù)增長模型對經(jīng)典指數(shù)模型進行了擴展,屬于NHPP有限錯誤模型。由于編程人員的差異、新舊代碼的差異、實現(xiàn)語言的差異等因素導致了軟件不同部分的失效率各有不同,因此軟件的不同部分將分配不同的失效率。超指數(shù)增長模型可用于擁有新模塊和重用模塊的復雜系統(tǒng)中。超指數(shù)增長模型在測試區(qū)間[0.]內的累計失效數(shù)期望函數(shù)為:謝謝閱讀m(t)=∑=1
(1 )式中,n表示具有相似特征模塊構成的簇數(shù)量;表示在第i個簇中存在的錯誤總數(shù);表示謝謝閱讀在第i個簇的失效率。該模型在應用中如何確定大型復雜系統(tǒng)中模塊簇的劃分是該模型的關鍵問題之一。謝謝閱讀(5) S-Shape模型S-Shape模型主要分為YamadaDelayedS-Shaped模型和InflectedS-Shaped模型。S-Shape模型使用Gamma分布取代了G-O模型的二項分布,屬于NHPP有限錯誤模型。S-Shape模型認為錯誤發(fā)現(xiàn)曲線應該體現(xiàn)出兩個特征:1)軟件測試者對測試軟件的了解程度;2)軟件殘余缺陷隨測試過程的進行,其發(fā)現(xiàn)難度變得越來越大。謝謝閱讀YamadaDelayedS-Shaped模型認為軟件失效在測試開始時增大,在測試結束時減小。在該模型中,軟件失效數(shù)據(jù)隨測試時間呈S曲線變化,體現(xiàn)出由于測試初期測試者對測試對象的不熟悉以及測試后期失效數(shù)據(jù)難于發(fā)現(xiàn)導致失效發(fā)現(xiàn)率下降這一現(xiàn)象。YamadaDelayedS-Shaped模型在測試區(qū)間[0.]內的累計失效數(shù)期望函數(shù)為:謝謝閱讀m()= (1 (1+) )**式中,a表示最終被檢測出的失效總數(shù)的期望值;b表示失效率。謝謝閱讀InflectionS-Shaped模型認為錯誤發(fā)現(xiàn)率在整個測試周期中呈現(xiàn)遞增的趨勢。Inflection謝謝閱讀S-Shaped模型在測試區(qū)間[0.]內的累計失效數(shù)期望函數(shù)為:精品文檔放心下載m(t)=(1??)=1?1+?式中,a表示最終被檢測出的失效總數(shù)的期望值;b表示失效率;r表示可以檢測的失效數(shù)占軟件系統(tǒng)總失效數(shù)的比例。謝謝閱讀2.1.2對數(shù)模型(1)Geometric模型Geometric模型屬于對數(shù)無限錯誤模型,其基本假設如下:1)失效發(fā)現(xiàn)率隨軟件檢謝謝閱讀測過程遞減;2)系統(tǒng)中錯誤是無限的。該模型認為較早發(fā)現(xiàn)的錯誤對失效發(fā)現(xiàn)率的影響大于較晚發(fā)現(xiàn)的錯誤,其錯誤發(fā)現(xiàn)間感謝閱讀隔時間為指數(shù)分布,錯誤發(fā)現(xiàn)間隔時間密度為f(Xi)=D?i?1Xi,其中D和?為常量參數(shù),Xi為第i個失效數(shù)據(jù)發(fā)送時的觀測數(shù)據(jù).Geometric模型中從第(i?1)個錯誤開始,發(fā)現(xiàn)第感謝閱讀1[]內的累計失效數(shù)期??1望函數(shù)為:1 式中, =?ln(?)且0<?<1。精品文檔放心下載(2)Musa-Okumoto對數(shù)泊松模型Musa-Okumoto對數(shù)泊松模型屬于對數(shù)無限錯誤模型。該模型構建于指數(shù)遞減的失謝謝閱讀效強度函數(shù)之上,其失效強度伴隨失效期望遞減成指數(shù)遞減,即λ(t)=λe?bm(t),b>0為精品文檔放心下載失效率衰減參數(shù),,λ>0為初始失效率。**2.1.3Littlewood-Verrall模型感謝閱讀Littlewood-Verrall可靠性模型(L-V模型)考慮了發(fā)現(xiàn)缺陷不被完全剔除的情況。該精品文檔放心下載模型基本假設如下:1)相鄰錯誤間隔時間X為相互獨立指數(shù)隨機變量ξ,其中i=精品文檔放心下載i0,1……n;2)ξ構成獨立隨機變量序列,并服從參數(shù)為α和ψ(i)的Gamma分布,ψ(i)為精品文檔放心下載i增函數(shù),用于描述程序員的素質以及軟件開發(fā)難度;3)軟件使用情況近似于設計預期。增函數(shù)ψ(i)綜合了程序員素質β以及軟件開發(fā)難度β兩個因素,在L-V模型中ψ(i)的感謝閱讀0 1線性表達式和二次表達式分別為:ψ(i)=β+βi和ψ(i)=β+βi,其中,β,β>0。010101L-V模型的累計失效數(shù)期望函數(shù)為:m(t)=1(?+√2+2)1001L-V模型與前面討論的模型相比,最主要的不同在于前面的模型僅考慮了錯誤的發(fā)生對軟精品文檔放心下載件可靠性的影響,而沒有考慮軟件穩(wěn)定運行這一現(xiàn)象對軟件可靠性的影響。謝謝閱讀2.1.4數(shù)據(jù)域模型Nelson模型是數(shù)據(jù)域軟件可靠性模型的代表,也是最重要的軟件可靠性模型之一。該模型最早于1973年由Nelson提出,并于1978年得以完善。Nelson模型中,軟件的可靠性通過對軟件運行的輸入數(shù)據(jù)進行測量,這些輸入數(shù)據(jù)從集合E=Ei:i=1,2,……N中謝謝閱讀隨機選取。隨機選取的n個輸入數(shù)據(jù)概率分布為(Pi:i=1,2,…..N)。感謝閱讀Nelson模型基本假設如下:1)程序被認為是集E上的一個可計算函數(shù)F的一個規(guī)謝謝閱讀范,一個輸入數(shù)據(jù)E對應一個程序執(zhí)行回合并產(chǎn)生一個輸出F(E);2)由于程序包含缺陷,感謝閱讀i i程序實際確定函數(shù)F‘,該函數(shù)不同于希望函數(shù)F;3)對于某些Ei,程序實際輸出F‘(Ei)在謝謝閱讀希望輸出F(Ei)的容許范圍之內,即|F‘(Ei)?F(Ei)|≤△i;但對另一些Ej程序實際輸出謝謝閱讀F‘(Ej)超出容許范圍,即|F‘(Ej)?F(Ej)|>△j,這時認為程序發(fā)生一次失效;4)測試過感謝閱讀程中不剔除程序缺陷。**若n為導致軟件產(chǎn)生故障的輸入數(shù)據(jù),則軟件可靠性可以表示為Rne1n軟件可靠性計算公式NfjpEj,其中nj為輸入子域E中元素的數(shù)量,f為n次運行后軟件出R2=1?∑j=1njjjj現(xiàn)故障的次數(shù)。Nelson模型存在的問題主要表現(xiàn)在輸入數(shù)據(jù)集較大和輸入數(shù)據(jù)的隨機選取具有盲目謝謝閱讀性和局限性。2.1.5Markov鏈模型基于Markov鏈的軟件可靠性模型主要用于評估預測基于構件的軟件系統(tǒng)。構件是指封裝了數(shù)據(jù)和功能的,在運行時能夠通過參數(shù)進行配置的模塊。通常構件由第三方開發(fā),具有清晰的接口描述。隨著軟構件技術的快速發(fā)展,聚集軟構件設計大型復雜軟件系統(tǒng)的軟件開發(fā)方法日趨成熟,基于構件的可靠性模型研究也得到越來越多的關注。感謝閱讀(1)Cheung模型Cheung模型屬于基于Markov鏈的軟件可靠性模型。Cheung模型將軟件的控制結謝謝閱讀構轉化成有向圖G,并規(guī)定圖中每一個節(jié)點N表示一個構件,構件N到N的轉移用一個謝謝閱讀i i j矢量邊N,N表示。定義R為的可靠性N的可靠性,P為N,N的轉移概率。根據(jù)有向圖ijiiijijG,構造出構件轉移矩陣M,其中Mi,j=RPMi,j,表示從N成功到達N的可能性。iijijCheung模型基本假設如下:1)構件間的可靠性是相互獨立的;2)構件間的控制轉移是馬爾科夫過程;3)構件間連接邏輯完全可靠。Cheung模型中,具有n個構件的軟件系統(tǒng)可靠性表示為R=S1,n×R,其中R為第n個構件的個體可靠性,S為n×n矩陣,謝謝閱讀n n具體為:∞S=I+Q+Q2+ 3+?=∑謝謝閱讀=0式中,I為nxn單位矩陣<Q為轉移概率矩陣P的變形。Cheung模型只能處理單輸入/謝謝閱讀**單輸出系統(tǒng),沒有考慮連接件的可靠性,而且把構件的可靠性假設為固定不變的參數(shù)。(2)Krishnamurthy模型感謝閱讀Krishnamurthy模型遵守Cheung模型的假設條件,屬于Markov鏈軟件可靠性模型。該模型將軟件中的構件視為獨立節(jié)點,將任意一個測試用例運行中經(jīng)過的節(jié)點序列視為路徑?;谶@一基本概念,該模型認為基于構件的軟件系統(tǒng)的可靠性可以由路徑的可靠性予以描述。精品文檔放心下載(3)Yacoub模型Yacoub模型屬于Markov鏈軟件可靠性模型。該模型用構件依賴圖來描述構件間的組裝交互關系,構件依賴圖是一個有向圖,用于描述構件的可靠性、連接與接口的可靠性、構件間控制的轉換及轉換的概率等方面內容。該模型認為構件間連接邏輯并非完全可靠,并引入RT進行量化,但模型中并未對此做深入分析和討論,而僅作為固定不變的參感謝閱讀數(shù)值加以使用。(4)毛曉光通用模型毛曉光通用模型認為軟件可靠性的計算是軟件中所有運行路徑出現(xiàn)頻度與該路經(jīng)可感謝閱讀靠性乘積的累加R=∑Pi?φRPi×FPi/∑Pi?φFPi,R為可靠性,φ為所有運行路徑的集合,RPi和F分別為路徑P的可靠性和出現(xiàn)頻度。該模型沒有對連接件的可靠性進行分析,并且沒感謝閱讀Pi 有涉及敏感度計算,不利于對軟件早期開發(fā)的指導。(5)Wang模型Wang模型對Cheung模型進行了改進,允許軟件具有并發(fā)、異構、多輸入/輸出特感謝閱讀性。該模型將輸入和輸出分別定義為I=?Si1,Si2….,Sim?和F=?Sf1,Sf2….,Sfm?,同時增加精品文檔放心下載了超級初態(tài)SI和超級終態(tài)SF,SI和SF的可靠性均為1。Wang模型對不同結構的軟件體系結精品文檔放心下載構分別進行可靠性分析,在狀態(tài)轉移概率中考慮了連接件的可靠性,但這樣處理的連接件感謝閱讀的可靠性并不符合實際。**2.1.6隨機Petri網(wǎng)模型隨機Petri網(wǎng)作為軟件可靠性建模的一種工具能較全面地描述系統(tǒng)的動態(tài)變化行為,當系統(tǒng)發(fā)生變化時,只要增加相應位置中的標記數(shù)即可,可以大大減少工作量。該模型將具體系統(tǒng)轉化為隨機Petri網(wǎng)模型;并構造出與該隨機Petri網(wǎng)模型同構的Markov鏈;最后基于Markov鏈狀態(tài)概率進行系統(tǒng)可靠性分析。狀態(tài)S代表可能發(fā)生的局部故障狀態(tài);感謝閱讀變遷T代表使系統(tǒng)狀態(tài)變化的事件;弧R表示S和T間的關系。隨機Petri網(wǎng)的軟件可靠性模型示意圖如圖所示。謝謝閱讀圖隨機Petri網(wǎng)的軟件可靠性模型示意圖2.2軟件可靠性啟發(fā)模型軟件可靠性啟發(fā)模型不同于解析模型,該模型利用軟件歷史失效數(shù)據(jù)對自身進行訓練、謝謝閱讀更新,逼近實際可靠性。啟發(fā)模型可分為基于神經(jīng)網(wǎng)絡的軟件可靠性模型和基于遺傳編程精品文檔放心下載的軟件可靠性模型。**2.2.1神經(jīng)網(wǎng)絡模型神經(jīng)網(wǎng)絡具有強大的非線性輸入輸出映射能力,出色的容錯性和泛化能力,可以對現(xiàn)感謝閱讀有知識歸納學習,繼而進行預測。神經(jīng)網(wǎng)絡模型應用于軟件可靠性建模,突出優(yōu)點在于無謝謝閱讀需對軟件系統(tǒng)的失效進行假設約束。在建立模型的過程中,關鍵是解決這樣的幾個問題:精品文檔放心下載失效數(shù)據(jù)預處理;網(wǎng)絡結構和算法;評估預測的方法。2.2.2遺傳編程模型遺傳編程(geneticprogramming,GP)是最近幾年提出并得以發(fā)展的軟件可靠性建謝謝閱讀模方法。GP模型采用遺傳算法的基本思想,采用樹形結構表示失效數(shù)據(jù)表達式,葉節(jié)點感謝閱讀是失效的原始變量,中間節(jié)點為失效數(shù)據(jù)函數(shù),根節(jié)點是最終輸出的失效數(shù)據(jù)曲線表達式。感謝閱讀通過使用交叉、變異等遺傳操作和選擇操作動態(tài)地改變這些樹結構,并迭代演化直至找到精品文檔放心下載失效數(shù)據(jù)曲線的優(yōu)化表達式。軟件可靠性建模方法3.1軟件可靠性模型評價的主要準則(1)有效性模型根據(jù)軟件現(xiàn)在和過去的故障行為(即失效數(shù)據(jù))預估將來故障行為的能力稱為預精品文檔放心下載測的有效性。軟件可靠性模型預測的有效性可以通過故障數(shù)方式或故障時間方式表示出來。謝謝閱讀(2)適用性模型的適用性強弱,應該利用大小、結構、功能各異的軟件產(chǎn)品對其進行判定。同時,精品文檔放心下載一個適用性強的模型應該能適用于不同的軟件產(chǎn)品開發(fā)環(huán)境、不同的軟件產(chǎn)品生命周期階精品文檔放心下載段、不同的應用場景。但是,一個可靠性增長模型對于某一特定的軟件產(chǎn)品或者開發(fā)環(huán)境,精品文檔放心下載得到的預測結果可能不是很理想,并不能說這個模型就完全沒有其適用性。精品文檔放心下載**(3)模型能力模型能力指的是軟件可靠性模型對給定軟件產(chǎn)品的可靠性預測和評價的能力。一般情況下,一個能力強的模型能對以下的可靠性指標進行很好的測量和評價:①當前的可靠性,平均無故障時間(MTTF),或故障密度;②期望達到規(guī)定可靠性目標的日期,即期望MTTF,或故障密度目標的日期;③與達到規(guī)定目標有關的人力和計算機資源以及成本要求。精品文檔放心下載4)簡捷性模型簡捷性主要體現(xiàn)在以下三個方面:①模型所需要的數(shù)據(jù)收集簡單并且經(jīng)濟代價低;②模型概念簡單直觀。只有做到概念簡單直觀,軟件工程師們才能清楚的判定在什么情況下模型是可用的,什么情況下模型已脫離了工程實用性;③模型參數(shù)解釋清楚,這樣軟件工程師們在數(shù)據(jù)不充足的情況下,對參數(shù)的估計才具有可行性。同時,模型所包含參數(shù)個數(shù)應該是盡量的少。精品文檔放心下載(5)模型假設質量軟件可靠性模型的建立是基于一定的假設條件的,應該從邏輯正確性及軟件工程師的經(jīng)驗等方面考查假設的合理性和顯然成立的程度。感謝閱讀3.2軟件可靠性建模流程為了滿足軟件可靠性指標要求,需要對軟件進行測試-可靠性分析-再測試-再分析-精品文檔放心下載修改的循環(huán)過程。軟件可靠性建模的目標是為了對軟件中失效趨勢和可靠性進行有效預測,謝謝閱讀來判斷軟件是否達到發(fā)布要求。軟件可靠性模型的建模過程如下圖:感謝閱讀**軟件失效數(shù)據(jù)收集數(shù)學模型建立模型參數(shù)估計得到擬合模型N
獲得性能度量的估計Y獲得性能度量的估計判斷(1)軟件失效數(shù)據(jù)收集軟件失效數(shù)據(jù)是進行軟件可靠性分析和預測的基礎,收集到的軟件失效數(shù)據(jù)質量好壞謝謝閱讀直接影響到模型預測的準確性。在失效數(shù)據(jù)收集前需要對時間和數(shù)據(jù)做如下解釋:精品文檔放心下載關于時間,在軟件可靠性模型研究中,一般都把時間大致分成了兩類,即日歷時間和謝謝閱讀執(zhí)行時間。盡管Musa模型堅持認為只有對執(zhí)行時間進行測量才是唯一有效的,但是根謝謝閱讀據(jù)實際經(jīng)驗,對軟件運行時間的測量,并非非執(zhí)行時間不可,而且執(zhí)行時間需要操作系統(tǒng)精品文檔放心下載得出,這無疑增加了軟件失效數(shù)據(jù)收集的難度和工作量。相比之下,日歷時間具有很大的感謝閱讀靈活性及優(yōu)勢,它便于測量記錄,而且不會影響到后續(xù)的分析。因此在本文模型中,失效感謝閱讀時間記錄采用的是日歷時間。關于數(shù)據(jù),軟件失效數(shù)據(jù)可分為完全數(shù)據(jù)和非完全數(shù)據(jù)兩類。它們的定義是:感謝閱讀?(?1,2,….,?→()?(?1)=1),那么數(shù)據(jù)集合?()|(0)=0,=謝謝閱讀0,1,2,…?為完全數(shù)據(jù)集合;?(?1,2,….,?→()?(?1)>1),那么數(shù)據(jù)集合?()|(0)=0,=0,1,2,…?為非完全數(shù)據(jù)集合,其中y(i)是時間t(i)時刻的累計故障數(shù)。由上述定義可知完感謝閱讀**全數(shù)據(jù)即故障時間間隔數(shù)據(jù),非完全數(shù)據(jù)便為各個時間間隔內的累計故障數(shù)據(jù)。精品文檔放心下載失效數(shù)據(jù)的收集具體包括:故障發(fā)生時間、相鄰故障的間隔時間、各個時間謝謝閱讀間隔內的累計故障數(shù)。失效數(shù)據(jù)收集完成后,可畫出軟件故障數(shù)隨時間變化的散點圖或直方圖。感謝閱讀(2)數(shù)學模型建立通過分析收集得到的軟件失效數(shù)據(jù)提出合理假設,依據(jù)這些假設列出數(shù)學表達式,建立軟件可靠性模型。謝謝閱讀(3)模型參數(shù)估計在使用模型進行軟件可靠性分析前,需要先求出模型中未知參數(shù)的估計值。常用的參數(shù)估計方法有:最大似然估計法、最小二乘法、貝葉斯估計法等。感謝閱讀(4)得到擬合模型求出模型中未知參數(shù)的估計值后就可以建立擬合模型,可通過Matlab工具畫出擬合曲線,擬合效果取決于軟件失效數(shù)據(jù)質量及所選用的模型形式。感謝閱讀(5)擬合效果測試通過測試來檢查所獲得的模型是否與實測數(shù)據(jù)擬合?如能很好擬合,就說明擬合模型可很好的描述所觀察的故障情況。則可僅需進行下一步。若不擬合,就必須檢查或重新選擇更恰當?shù)哪P?。謝謝閱讀(6)獲得性能度量的估計通過此步驟可對包括軟件可靠性在內軟件系統(tǒng)的性能作出定量的度量;謝謝閱讀(7)做出判定通過判定以確定系統(tǒng)是否需要繼續(xù)進行測試,是否可以交付使用。精品文檔放心下載3.3常見參數(shù)估計方法最小二乘法**最小二乘法作為一種數(shù)學優(yōu)化技術,是通過最小化誤差的平方和來尋找數(shù)據(jù)的最佳函精品文檔放心下載數(shù)匹配。利用最小二乘法,可以簡便地求得未知數(shù)據(jù),使得這些數(shù)據(jù)與實際數(shù)據(jù)間誤差的感謝閱讀平方和為最小。設有隨機變量 Y由k個參數(shù) 和k個變量 組成,并且謝謝閱讀根據(jù)數(shù)據(jù) 可對k個參數(shù) 進行估計。求的最小二乘估計就是尋找一組令結果等于零,可得:可 以 證 明,若
,使得:其中,。那么,稱
為
的值最小。對其求導并記 ,,即的一致最小二乘無偏估計。最大似然估計法最大似然估計法,也叫極大似然法,是最為常用的經(jīng)典統(tǒng)計方法。它最早由德國大數(shù)學家C.F.Gauss提出,1912年,英國統(tǒng)計學家R·A·Fisher在其一篇文章中重新提出,并且證明了最大似然估計法的一些性質。精品文檔放心下載最大似然估計法的基本思想是:由樣本值選擇參數(shù),使得該樣本發(fā)生的概率最大。具感謝閱讀體做法如下:設總體X概率密度函數(shù)為,其中為未知參數(shù),為來自總體X的一個給定的子樣,則似然函數(shù):感謝閱讀為參數(shù)θ的函數(shù)。求 使似然函數(shù) 的值達到最大, 為參精品文檔放心下載數(shù) 的最大似然估計值。最大似然估計的求法包括以下步驟:(1)根據(jù)總體分布導出樣本聯(lián)合密度(或聯(lián)合概率函數(shù));精品文檔放心下載(2)將樣本聯(lián)合密度(或聯(lián)合概率函數(shù))中的參數(shù)θ看作自變量,自變量看成已知常謝謝閱讀**數(shù),得到似然函數(shù) ;(3)通常對似然函數(shù) 做對數(shù)變換得到 ,求得 的最大值點,精品文檔放心下載即θ的最大似然估計;(4)在最大值點的表達式中將樣本值代入即可得到參數(shù)的極大似然估計值。感謝閱讀貝耶斯估計由貝耶斯統(tǒng)計學理論可知,對總體的特征數(shù)進行推斷時,除了使用到總體信息和樣本謝謝閱讀信息外,還應該使用到先驗信息,即抽樣(試驗)之前有關統(tǒng)計問題的一些信息。精品文檔放心下載(1)先驗分布將總體中的未知參數(shù)
看成一取值于參數(shù)空間?
的隨機變量,它有一概率分布,記為 ,稱為參數(shù)θ的先驗分布。當θ是參數(shù)空間?上的連續(xù)型隨機變量時,稱θ的謝謝閱讀密度函數(shù)為先驗密度。(2)后驗分布在貝耶斯統(tǒng)計學中,把總體信息、樣本信息及先驗信息歸納起來的最好形式是在總體精品文檔放心下載分布基礎上獲得的樣本 和參數(shù)θ的聯(lián)合密度函數(shù):謝謝閱讀,在這個聯(lián)合密度函數(shù)中,當樣本給定之后,未知的僅是參數(shù)θ了,我們關心的是樣本給定后,θ的條件密度函數(shù),依據(jù)密度的計算公式,感謝閱讀容 易 獲 得 這 個 條 件 密 度 函 數(shù)這就是貝耶斯公式的密度函數(shù)形式, 稱為θ的后驗密度函數(shù),或后驗分布。其中,謝謝閱讀稱為樣本的邊際分布,或稱樣本的無條件分布,它的積分區(qū)域就是參數(shù)θ的取值范圍,根據(jù)具體情況而定。感謝閱讀歸納起來貝耶斯估計法的過程為,人們根據(jù)先驗信息對參數(shù)θ已有一個認識,這個認精品文檔放心下載**識就是先驗分布 。然后通過試驗,獲得樣本,從而對θ的先驗分布進行調整,調整謝謝閱讀的方法就是使用上面的貝耶斯公式,調整的結果就是后驗分布 后驗分感謝閱讀布是總體信息、樣本信息及先驗信息這三種信息的綜合。獲得后驗分布使人們對θ的認識感謝閱讀又前進一步,可以看出,獲得樣本的的效果是把我們對θ的認識由 調整到感謝閱讀所以對θ的統(tǒng)計推斷就應建立在后驗分布 的基礎上。3.4常見軟件可靠性建模方法3.4.1基于黑盒的可靠性模型基于“黑盒”的軟件可靠性模型將軟件看成一個單一的整體,沒有內部結構的建模。感謝閱讀這類模型使用統(tǒng)計方法對軟件可靠性進行建模,利用軟件測試時獲得的錯誤數(shù)據(jù)來估計模謝謝閱讀型參數(shù)或者校準模型。3.4.2基于體系結構的可靠性建模使用結構化方法來量化軟件可靠性的動機主要有如下幾個因素:(1)對于現(xiàn)有很多由可重用構件以及COTS構件組成的軟件系統(tǒng),可以通過結構化的方法來進行全系統(tǒng)的可靠性分析;(2)通過結構化可靠性模型,可以將軟件系統(tǒng)的可靠性與軟件系統(tǒng)結構以及單個構件的可靠性聯(lián)系在一起;(3)研究組成軟件系統(tǒng)的各個構件對系統(tǒng)整體可靠性的敏感性,從而可以對系統(tǒng)的可靠性瓶頸進行分析;(4)結構化可靠性模型適用于軟件設計與開發(fā)的全生命周期,而不像軟件可靠性增長模型那樣只能在測試階段使用。感謝閱讀(1)基于構件的軟件系統(tǒng)結構建模構件是基于結構的軟件可靠性浮估的基本單元,可以理解為在軟件系統(tǒng)中能夠實現(xiàn)特定功能的邏輯上獨立的模塊,同時該模塊可以被單獨的實際,實現(xiàn)及測試。設計者需要根感謝閱讀**據(jù)軟件系統(tǒng)的功能性能要求等,將系統(tǒng)分解為—個個的構件,在此基礎上對系統(tǒng)中構件之間的交互關系以及系統(tǒng)中構件的使用方式進行建模。精品文檔放心下載(2)系統(tǒng)失效模式建模在獲取軟件系統(tǒng)的體系結構之后,要在其基礎上定義錯誤行為。錯誤可能在模塊執(zhí)行的時候發(fā)生,或者是兩個模塊之間狀態(tài)轉移的時候發(fā)生。模塊以及模塊之間接口的錯誤行為可以通過他們的可靠性及錯誤率(恒定的或者是與時間有關的)來確定。精品文檔放心下載(3)軟件系統(tǒng)可靠性建模系統(tǒng)可靠性建模由兩方面因素決定,一方面是軟件的組成及運行方式,即軟件系統(tǒng)結構模型;一方面是系統(tǒng)的失效模式,即系統(tǒng)出現(xiàn)故障的方式。由于融合結構與錯誤行為的方法不同,目前主要有4種結構化可靠性建模方式:基于狀態(tài)的建模、基于路徑的建模、可加模型以及基于操作剖面的模型。下面將對這4類建模方法中的典型模型進行詳細的介紹。謝謝閱讀基于狀態(tài)的模型該類模型主要使用軟件的控制流圖來描述軟件的體系結構,并假設模塊間的轉移具有感謝閱讀馬爾可夫屬性,這就意味如果已知任何時間下模塊的狀態(tài),那么系統(tǒng)將來的行為獨立于過去的行為,僅和當前的行為狀態(tài)有關。這些模型中軟件結構主要使用離散時間馬爾可夫鏈(DTMC)、連續(xù)時間馬爾可夫鏈(CTMC)、半馬爾可夫過程等過程進行建模。這可以進一步分為吸納和不可分解兩類,前者適用于那些可以清楚地劃分軟件運行時操作與軟件終結操作的那些應用,后者適用于連續(xù)運行的軟件應用?;跔顟B(tài)的模型也可以被劃分為組合或者層次模型。組合模型將軟件結構和失效行為融合進—個組合模型,并以此模型來預測應用的可靠性。層次模型首先建立結構模型,然后將失效行為添加進結構模型中來計算可靠性?;跔顟B(tài)的模型中比較著名的有Littlewood-Verrall模型、Laprie模型、Ledoux模謝謝閱讀型、Cheung模型、Wang模型、Kubat模型等。感謝閱讀基于路徑的模型**從軟件運行的意義上講,軟件失效是發(fā)生在某些特定的執(zhí)行路徑上,而與軟件可靠性謝謝閱讀計算密切相關的軟件可靠性測試,也可以看成是對軟件某些路徑的執(zhí)行過程。謝謝閱讀可加模型該類軟件可靠性模型主要利用構件的失效數(shù)據(jù)來計算軟件的可靠性。此類模型假設構謝謝閱讀件的可靠性可以建模為非奇次泊松過程,系統(tǒng)的失效強度可以表示為構件的失效強度之和,感謝閱讀因此稱之為可加模型?;诓僮髌拭娴哪P驮撃P涂紤]到了在不同的操作剖面下,同一構件的可靠性有可能不同的問題。在構件感謝閱讀的開發(fā)者不能事先知道構件的使用情況下,它從構件開發(fā)者和使用者綜合的角度來考慮軟件系統(tǒng)可靠性的度量工作。構件的開發(fā)人員通過度量得出構件的可靠性信息,然后通過操作剖面和子域映射以及操作剖面?zhèn)鬟f映射的方式,讓構件的使用人員通過計算得出構件的可靠性和系統(tǒng)的可靠性。本方法基于兩個創(chuàng)新:(1)剖面映射。軟件開發(fā)入員提供的數(shù)據(jù)手冊中必須要以操作剖面作為參數(shù),提供在不同的操作剖面下的可靠性參數(shù)。(2)構件的輸入域劃分成一組不同的功能子域,以這些子域為基準,每個操作剖面都可以表示為在這些子域上的一組加權向量。精品文檔放心下載假設構件C的輸入域D劃分成了n個不重疊的子域:=∪∪…..每個子域都有它自己的操作剖面和它的失效概率。表示D中C會失效的子域集合,那么=|∩|。構件C的操作剖面P可以表示為:P=(?,?,….?),其中?表示P對應的輸入域落在子域中的概率。那么構件的可靠性可以表示為:R=∑?(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025中國郵政集團公司西寧郵區(qū)中心局定向委培學員招聘18人高頻重點提升(共500題)附帶答案詳解
- 2025中國聯(lián)通黑龍江省分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國移動黑龍江公司社會招聘35人高頻重點提升(共500題)附帶答案詳解
- 2025中國社會科學日本研究所取消第一批專業(yè)技術崗位人才公開招聘高頻重點提升(共500題)附帶答案詳解
- 2025中國石化東北石油局畢業(yè)生招聘10人高頻重點提升(共500題)附帶答案詳解
- 2025中國電信湖北襄陽??捣止菊衅?8人高頻重點提升(共500題)附帶答案詳解
- 2025中國人民大學新校區(qū)建設辦公室公開招聘高頻重點提升(共500題)附帶答案詳解
- 2025中共廣寧縣委宣傳部(縣文明辦)公開招聘臨聘人員2人高頻重點提升(共500題)附帶答案詳解
- 2025下半年陜西楊凌示范區(qū)事業(yè)單位招聘40人高頻重點提升(共500題)附帶答案詳解
- 2025下半年蒙古自治區(qū)黨委辦公廳事業(yè)單位公開招聘5人歷年高頻重點提升(共500題)附帶答案詳解
- 貴州省遵義市播州區(qū)2023-2024學年四年級數(shù)學第一學期期末監(jiān)測試題含答案
- 氫能與燃料電池電動汽車第5章 氫與燃料電池
- 車床液壓系統(tǒng)設計與計算
- 徒手整形教學課件
- 西方思想經(jīng)典-南京大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 跨平臺移動應用開發(fā)-Flutter實踐-南京師范大學泰州學院中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 文化資源數(shù)字化技術有哪些
- 2023年杭州聯(lián)合銀行校園招聘筆試歷年高頻考點試題答案詳解
- 灌裝軋蓋機和供瓶機設備驗證方案
- 瓦楞紙箱工藝流程演示文稿
- 漢語教學 《成功之路+進步篇+2》第16課課件
評論
0/150
提交評論