1 引言
所謂“風(fēng)險”,是損失的不確定性,是在給定情況下,一定時期內(nèi)可能發(fā)生的各種結(jié)果間的差異。與任何其他工程項目一樣,軟件項目的開發(fā)也存在各種風(fēng)險,有些風(fēng)險甚至是災(zāi)難性的。軟件項目風(fēng)險是指在軟件開發(fā)過程中遇到的費用、進度與質(zhì)量等方面的問題以及這些問題對軟件項目的影響。軟件項目風(fēng)險管理有利于降低軟件項目開發(fā)風(fēng)險,提高軟件項目的成功率。軟件項目風(fēng)險管理過程分為風(fēng)險評估和風(fēng)險控制兩大部分,其中風(fēng)險評估分為風(fēng)險識別、風(fēng)險分析、風(fēng)險學(xué)習(xí)三個過程,風(fēng)險控制則包括風(fēng)險應(yīng)對和風(fēng)險監(jiān)控兩個過程。風(fēng)險評估是風(fēng)險管理的核心和基礎(chǔ),直接影響風(fēng)險管理的其他過程,甚至影響到項目的成敗。
近年來,軟件項目風(fēng)險管理得到了廣泛的重視,但在軟件開發(fā)項目中進行完整的規(guī)范化的風(fēng)險評估還很不足,主要表現(xiàn)在軟件項目風(fēng)險管理的研究和實踐起步較晚,風(fēng)險管理停留在概念層面,缺乏具體管理制度和方法的支持;軟件企業(yè)主要依靠項目管理人員的個人經(jīng)驗,實行以定性分析為主的風(fēng)險管理,風(fēng)險管理水平參差不齊,具有一定的隨意性;由于在風(fēng)險管理過程中缺乏定量分析方法,因此有關(guān)項目資料和數(shù)據(jù)的收集具有盲目性,從而導(dǎo)致該領(lǐng)域的知識不能得到有效的積累,影響了軟件項目風(fēng)險管理水平的提高。
2 風(fēng)險評估研究現(xiàn)狀
2.1 常見的風(fēng)險評估方法
依據(jù)項目所能提供的經(jīng)驗數(shù)據(jù)的多少及信息詳細程度,風(fēng)險評估技術(shù)可分為定性與定量兩種。定性分析主要是依靠專家確定項目的風(fēng)險程度,專家經(jīng)驗決定了整個項目的綜合考慮,主觀性強;定量分析包括AHP、模糊綜合評判以及人工智能等方法。AHP方法將復(fù)雜問題簡單化,但比較判斷矩陣的數(shù)據(jù)需求量大;模糊綜合評判方法可同時針對多個目標(biāo),適用于對復(fù)雜項目的評估,但指標(biāo)權(quán)重采用精確值,與實際情況有出入;人工智能方法則包括規(guī)則庫、決策樹和人工神經(jīng)網(wǎng)絡(luò)等方法,在一定程度上解決了項目評估的復(fù)雜性問題,但其有效性是以大量的訓(xùn)練樣本為基礎(chǔ),影響了這些方法在項目評估中的應(yīng)用。
近年來,軟件項目風(fēng)險評估受到了廣泛關(guān)注,已有大量的研究成果。將貝葉斯網(wǎng)絡(luò)應(yīng)用于軟件項目風(fēng)險評估,將軟件項目風(fēng)險管理劃分為風(fēng)險識別、風(fēng)險分析、風(fēng)險發(fā)生概率評估、風(fēng)險影響評估及風(fēng)險預(yù)防與控制等五個子模型;對風(fēng)險與風(fēng)險管理的研究進行了重新評估,指出風(fēng)險管理的研究滯后于實踐的需要,并對未來的風(fēng)險與風(fēng)險管理的研究和實踐方向進行了討論;提出了一種融合模糊理論以及專家信任度的風(fēng)險評估模型,側(cè)重以專家經(jīng)驗評判風(fēng)險發(fā)生的概率。針對軟件項目的特點和軟件項目風(fēng)險定量評估任務(wù),提出了基于面向?qū)ο筘惾~斯網(wǎng)絡(luò)的風(fēng)險評估方法,并通過分析軟件項目生命周期中的具體風(fēng)險與風(fēng)險因素之間的因果關(guān)系,建立面向?qū)ο筘惾~斯網(wǎng)絡(luò)拓撲結(jié)構(gòu),由專家經(jīng)驗確定網(wǎng)絡(luò)中的概率參數(shù),定量估計風(fēng)險的發(fā)生概率。
通過真實的軟件開發(fā)項目,根據(jù)已有案例啟動風(fēng)險案例學(xué)習(xí)機制,結(jié)合專家經(jīng)驗生成本次評估貝葉斯網(wǎng)絡(luò),以貝葉斯概率理論為基礎(chǔ),計算各風(fēng)險節(jié)點發(fā)生的概率以及各風(fēng)險因素對后果事件的綜合影響,引入風(fēng)險權(quán)重度量多種風(fēng)險的組合影響。實踐表明該方法為軟件項目風(fēng)險評估提供了一種有效的新途徑。
2.2 貝葉斯網(wǎng)絡(luò)方法研究軟件項目風(fēng)險評估的優(yōu)點
貝葉斯網(wǎng)絡(luò)(Bayesian Networks,BN)是圖論與概率論的結(jié)合,為變量間概率關(guān)系的圖形化描述提供了一種將知識直觀的圖解可視化的方法,同時又是一種概率推理技術(shù),使用概率理論來處理在描述不同知識成分之間的因條件相關(guān)時而產(chǎn)生的不確定性。用貝葉斯網(wǎng)絡(luò)作為軟件項目風(fēng)險評估工具,其優(yōu)點主要體現(xiàn)在以下三個方面:
第一,貝葉斯網(wǎng)絡(luò)的推理以貝葉斯概率理論為基礎(chǔ),具有成熟的概率推理算