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