從20世紀70年代起,軟件可靠性預測技術大體上分為靜態(tài)和動態(tài)兩種。預測技術(forecasting techniques)指人們運用現(xiàn)代科學技術手段,事先依據(jù)一定方法,對自己的活動可能產(chǎn)生的后果及客觀事物的發(fā)展趨勢作出的科學分析。即利用統(tǒng)計資料,借助數(shù)學工具,分析因果關系,進行預測。數(shù)量分析預測具體方法很多,如趨向外推法和回歸分析法等。趨向外推法即時間序列分析法,它是根據(jù)歷史和現(xiàn)有的資料推測發(fā)展趨勢,從而分析出事物未來的發(fā)展情況的。它把在一定條件下出現(xiàn)的事件按時間順序加以排列,通過趨勢外推的數(shù)學模型預測未來。時間序列就是把統(tǒng)計資料按發(fā)生的時間先后進行排列所得到的一連串數(shù)字。時序分析是研究預測目標與時間過程之間的演變關系。因此它是一種定時的預測技術。回歸分析法是從事物變化的因果關系出發(fā)來進行預測?;貧w分析也稱相關分析,是研究引起未來變化的各種客觀因素的相互作用、指出各種客觀因素與未來狀態(tài)之間統(tǒng)計關系的方法。這些現(xiàn)有的軟件可靠性預測模型一般只是對與缺陷有關的度量數(shù)據(jù)和對軟件可靠性測試后的失效數(shù)據(jù)進行分析,而忽略了軟件開發(fā)過程中大量有用信息。
1 、軟件過程與軟件可靠性
軟件過程可以定義為人們用來開發(fā)和維護軟件以及相關產(chǎn)品(如工程計劃、設計文檔、規(guī)章、檢測事例及用戶手冊)的一組活動、方法、實踐及轉(zhuǎn)換。軟件可靠性是軟件系統(tǒng)在規(guī)定時間內(nèi)及規(guī)定的環(huán)境條件下,完成規(guī)定功能的能力。在ISO/IEC 9126的軟件質(zhì)量特性表述中,軟件可靠性(Software Reliability)是軟件質(zhì)量的一個重要特性。用軟件系統(tǒng)規(guī)模越做越大越復雜,其可靠性越來越難保證。應用本身對系統(tǒng)運行的可靠性要求越來越高,在一些關鍵的應用領域,如航空、航天等,其可靠性要求尤為重要,在銀行等服務性行業(yè),其軟件系統(tǒng)的可靠性也直接關系到自身的聲譽和生存發(fā)展競爭能力。 特別是軟件可靠性比硬件可靠性更難保證,會嚴重影響整個系統(tǒng)的可靠性。在許多項目開發(fā)過程中,對可靠性沒有提出明確的要求,開發(fā)商(部門)也不在可靠性方面花更多的精力,往往只注重速度、結(jié)果的正確性和用戶界面的友好性等,而忽略了可靠性。在投入使用后才發(fā)現(xiàn)大量可靠性問題,增加了維護困難和工作量,嚴重時只有束之高閣,無法投入實際使用。
2、 影響軟件可靠性的因素
在對13個公司的調(diào)查結(jié)果進行分析后,提出了基于經(jīng)驗數(shù)據(jù)的影響軟件可靠性的32個因素。這32個因素貫穿了軟件開發(fā)的各個階段,其中最重要的是軟件復雜度、程序員的技能、測試工作量、測試覆蓋率、測試環(huán)境和程序規(guī)格說明書的改動頻率6個因素。指出了影響軟件可靠性的主要因素包括: 需求的變更、開發(fā)團隊的經(jīng)驗、設計的變更、編碼和測試、新技術、開發(fā)語言以及工具的使用、管理經(jīng)驗、高層管理的支持力度、度量和模型的使用情況[10]。參考文獻[11]認為開發(fā)的復雜程度、代碼重用的比率以及軟件開發(fā)團隊的經(jīng)驗和受教育程度是影響軟件可靠性的主要因素。指出影響軟件可靠性的因素可分為兩大類:缺陷引入和缺陷檢測。缺陷引入又由16個因素決定,而缺陷檢測由17個因素決定。這些因素中,與過程有關的因素包括開發(fā)人員的能力、領域知識、團隊協(xié)作、團隊結(jié)構、管理能力、程序復雜度、溝通能力、項目管理、過程管理、變更控制、文檔質(zhì)量、需求質(zhì)量、開發(fā)環(huán)境、計劃偏移度、開發(fā)過程成熟度、產(chǎn)品調(diào)研等。軟件過程度量的三大類基本內(nèi)容分別是質(zhì)量、時間和資源,質(zhì)量表示在不同的過程運作階段過程產(chǎn)品和過程執(zhí)行有關的質(zhì)量信息(例如軟件問題及其生命周期,過程執(zhí)行的偏離度等),時間表示過程運作中各項活動的計劃時間和實際時間,資源表示在過程運作中不同階段活動消耗的物資資源和人力資源。
3 、軟件可靠性預測度量體系
在已有的調(diào)查研究基礎之上,構建了基于軟件過程的軟件可靠性預測度量體系。該體系模型共劃分為6個層次:影響軟件可靠性因素、影響軟件可靠性因子、特性、子特性、度量以及度量元。其層次結(jié)構如圖1所示。其中,軟件可靠性取決于影響軟件可靠性因素的性能如何,而對軟件可靠性因素的評價表現(xiàn)在多個可靠性因子,不同的可靠性因子的影響基于不同的性能特性,特性可能有子特性,通過度量來評價可靠性因子的特性和子特性,同時度量又有多種數(shù)據(jù)表現(xiàn)形式。
對軟件可靠性的預測,確定了6個影響軟件可靠性的主要因素,分別是:一般性因素、穩(wěn)定性因素、過程依從性、開發(fā)文檔、編碼和人力資源因素。軟件測試因其產(chǎn)生的數(shù)據(jù)是軟件失效后的數(shù)據(jù),更多的用于軟件可靠性的動態(tài)預測,故此處不予以考慮。
4、 基于軟件過程的軟件可靠性預測
一個過程穩(wěn)定的軟件企業(yè),其軟件產(chǎn)品的可靠性也是穩(wěn)定的。通過對影響軟件可靠性的過程因素的分析,確定了上述的度量和度量元。而軟件企業(yè)若考慮從歷史數(shù)據(jù)中得到關于以前項目的過程等信息,就必須擁有過程數(shù)據(jù)庫。過程數(shù)據(jù)庫的建設需要人員和軟件工具的支撐,如圖2所示。該過程數(shù)據(jù)庫建設模型結(jié)合前述分析,并綜合考慮了軟件度量技術和CMM/CMMI中的度量技術后抽象而成。
根據(jù)企業(yè)的測量定義,工作人員可以知道應該采集什么數(shù)據(jù),并通過數(shù)據(jù)采集工具包使測量數(shù)據(jù)進入過程數(shù)據(jù)庫系統(tǒng);另外工作人員也可以通過問題跟蹤軟件包(例如需求跟蹤系統(tǒng))直接使測量數(shù)據(jù)進入過程數(shù)據(jù)庫。過程數(shù)據(jù)庫中除存儲了影響軟件可靠性的因素的度量值外,還應包含理解和解釋實際度量數(shù)據(jù)、評價其合理性和適用性所需要的信息和索引,以及可靠性分析的標準、模型和基線值、優(yōu)先級等。
通過對過程數(shù)據(jù)庫里的基本測量項數(shù)據(jù)進行分析計算,得到關于以往項目的軟件可靠性相關的度量,此度量數(shù)據(jù)經(jīng)過評估標準和預測模型分析,形成當前軟件產(chǎn)品的可靠性分析預測報告。
基于知識和數(shù)據(jù)挖掘的軟件可靠性預測是現(xiàn)在和未來幾年研究的方向。本文首先分析討論了軟件過程與軟件可靠性的關系,然后分析了影響軟件可靠性的因素,最后討論了建立基于軟件過程數(shù)據(jù)的過程數(shù)據(jù)庫,并抽象出運作模型,為后續(xù)的基于知識和數(shù)據(jù)挖掘的軟件可靠性研究奠定數(shù)據(jù)基礎。軟件可靠性預測中一些其他重要問題,如軟件可靠性預測環(huán)境的構建、軟件可靠性預測模型的選擇以及定量評價數(shù)據(jù)的驗證等問題,還有待進一步探討。
責任編輯:gt
-
軟件
+關注
關注
69文章
5153瀏覽量
89212 -
數(shù)據(jù)庫
+關注
關注
7文章
3926瀏覽量
66213 -
測量
+關注
關注
10文章
5245瀏覽量
113512
發(fā)布評論請先 登錄
可靠性匯編
【可靠性分析第一步】構造可靠性模型
可靠性設計分析系統(tǒng)
單片機應用系統(tǒng)的可靠性與可靠性設計
軟件可靠性數(shù)據(jù)預處理研究
基于軟件過程的軟件可靠性預測運作模型
軟件可靠性多模型綜合預測研究

基于GSPN的機載構件化軟件可靠性評估

網(wǎng)絡可靠性預測模型

基于軟件可靠性增長模型研究
集成電路可靠性預測

評論