法和開發(fā)軟件,為風(fēng)險(xiǎn)預(yù)測(cè)的貝葉斯模型建造和推理提供快捷的工具,加速了風(fēng)險(xiǎn)預(yù)測(cè)的有效性。
第二,貝葉斯網(wǎng)絡(luò)將概率理論與有向無環(huán)圖有機(jī)結(jié)合,既可以將因果知識(shí)直接用有向圖直觀地表示出來,也可以將統(tǒng)計(jì)數(shù)據(jù)以條件概率的形式融入模型,還能使人類的先驗(yàn)知識(shí)和經(jīng)驗(yàn)數(shù)據(jù)無縫地結(jié)合。第三,貝葉斯網(wǎng)絡(luò)用圖形化表示隨機(jī)變量間的聯(lián)合概率,能夠處理各種不確定性信息,網(wǎng)絡(luò)中沒有確定的輸入或輸出節(jié)點(diǎn),節(jié)點(diǎn)之間是相互影響的,更適合表達(dá)軟件項(xiàng)目風(fēng)險(xiǎn)之間的關(guān)聯(lián)關(guān)系。
3 貝葉斯網(wǎng)絡(luò)的構(gòu)建原理與方法
3.1 貝葉斯網(wǎng)絡(luò)的形式化分析
3.2 貝葉斯網(wǎng)絡(luò)的構(gòu)建原理
3.3貝葉斯網(wǎng)絡(luò)的構(gòu)建方法
對(duì)于不同的應(yīng)用領(lǐng)域構(gòu)造貝葉斯網(wǎng)絡(luò)的方法不盡相同,但概括起來包括以下三個(gè)步驟:
(1)確定特征變量。對(duì)所要為之建模的問題領(lǐng)域,確定所有的特征變量,這些變量構(gòu)成該問題領(lǐng)域的變量集,對(duì)變量集中的每個(gè)變量確定其狀態(tài)和取值范圍。
(2)確定網(wǎng)絡(luò)結(jié)構(gòu)。根據(jù)節(jié)點(diǎn)之間的概率依賴關(guān)系或先驗(yàn)依賴關(guān)系確定網(wǎng)絡(luò)結(jié)構(gòu),對(duì)具備大量專家知識(shí)的問題領(lǐng)域,貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)的構(gòu)建可以由先驗(yàn)知識(shí)獲得。大多數(shù)情況下由專家知識(shí)獲得的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)正是最優(yōu)的貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)。
在領(lǐng)域?qū)<抑R(shí)或先驗(yàn)知識(shí)難以獲得的情況下,一種更普遍的方法是直接從大量的樣本數(shù)據(jù)中主動(dòng)地學(xué)習(xí)出節(jié)點(diǎn)之間的關(guān)系構(gòu)成貝葉斯網(wǎng)絡(luò)結(jié)構(gòu),這種方法稱為從數(shù)據(jù)中學(xué)習(xí)貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)。
(3)計(jì)算每個(gè)節(jié)點(diǎn)的概率分布。對(duì)確定的網(wǎng)絡(luò)結(jié)構(gòu)計(jì)算每個(gè)節(jié)點(diǎn)的概率分布,包括根節(jié)點(diǎn)的先驗(yàn)概率分布和中間節(jié)點(diǎn)的條件概率分布。貝葉斯網(wǎng)絡(luò)結(jié)構(gòu)確定以后,貝葉斯網(wǎng)絡(luò)的參數(shù)學(xué)習(xí)就變?yōu)樵诮o出網(wǎng)絡(luò)結(jié)構(gòu)和樣本數(shù)據(jù)集的條件下計(jì)算節(jié)點(diǎn)的概率分布問題。
4 軟件項(xiàng)目風(fēng)險(xiǎn)評(píng)估
軟件項(xiàng)目在系統(tǒng)分析和設(shè)計(jì)環(huán)節(jié)中經(jīng)常存在項(xiàng)目計(jì)劃制定不完善、需求不確定、技術(shù)或方法選擇不恰當(dāng)?shù)纫蛩?,并且這些因素相互影響大,對(duì)風(fēng)險(xiǎn)的評(píng)估尤為重要。以制造業(yè)信息化公共服務(wù)平臺(tái)項(xiàng)目為例,說明如何在軟件項(xiàng)目中利用貝葉斯網(wǎng)絡(luò)進(jìn)行風(fēng)險(xiǎn)評(píng)估。
4.1 貝葉斯網(wǎng)絡(luò)的建立
制造業(yè)信息化公共服務(wù)平臺(tái)屬于創(chuàng)新型項(xiàng)目,項(xiàng)目組在研發(fā)過程中需求變更比較頻繁,開發(fā)人員對(duì)開發(fā)平臺(tái)與開發(fā)技術(shù)難以把握,對(duì)平臺(tái)資源整合以及業(yè)務(wù)流程自動(dòng)化的可視化工作流引擎實(shí)現(xiàn)難度大,對(duì)軟件性能的提高有較大的影響。
在項(xiàng)目啟動(dòng)時(shí)實(shí)施風(fēng)險(xiǎn)評(píng)估,首先識(shí)別項(xiàng)目中的風(fēng)險(xiǎn)和風(fēng)險(xiǎn)因子,設(shè)定風(fēng)險(xiǎn)關(guān)鍵字,即需求風(fēng)險(xiǎn)、需求變更、技術(shù)風(fēng)險(xiǎn)、技術(shù)熟悉度、軟件復(fù)雜性、人員溝通、軟件性能以及安全策略等。根據(jù)已有案例啟動(dòng)風(fēng)險(xiǎn)案例學(xué)習(xí)機(jī)制,結(jié)合專家經(jīng)驗(yàn)生成本次評(píng)估的貝葉斯網(wǎng)絡(luò)即風(fēng)險(xiǎn)分析網(wǎng)絡(luò)。
4.2 風(fēng)險(xiǎn)概率的計(jì)算
軟件項(xiàng)目風(fēng)險(xiǎn)評(píng)估是軟件項(xiàng)目風(fēng)險(xiǎn)管理過程中的核心,評(píng)估過程分為風(fēng)險(xiǎn)發(fā)生概率評(píng)估和風(fēng)險(xiǎn)影響評(píng)估。
4.2.1 風(fēng)險(xiǎn)發(fā)生概率評(píng)估
風(fēng)險(xiǎn)分析過程是依據(jù)貝葉斯網(wǎng)絡(luò)進(jìn)行的,貝葉斯網(wǎng)絡(luò)是表示變量間概率依賴關(guān)系的有向無環(huán)圖,每個(gè)節(jié)點(diǎn)表示領(lǐng)域變量,每條邊表示變量間的概率依賴關(guān)系,同時(shí)每個(gè)節(jié)點(diǎn)都對(duì)應(yīng)著一個(gè)CPT,指明該變量與父節(jié)點(diǎn)之間概率依賴的數(shù)量關(guān)系。風(fēng)險(xiǎn)發(fā)生概率的評(píng)估步驟為:
(1)定義風(fēng)險(xiǎn)發(fā)生概率的模糊評(píng)語集。在缺乏項(xiàng)目歷史數(shù)據(jù)的情況下,領(lǐng)域?qū)<覍⑹褂谩安豢赡堋薄ⅰ翱赡堋钡饶:哉Z言來評(píng)價(jià)風(fēng)險(xiǎn)發(fā)生的概率,即模糊評(píng)語集Hp={極不可能,不可能,中等,可能,很可能}。
(2)風(fēng)險(xiǎn)發(fā)生概率評(píng)估是指專家使用模糊評(píng)語集Hp,設(shè)定風(fēng)險(xiǎn)分析網(wǎng)絡(luò)中的條件概率和先驗(yàn)概率,形成CPT。
(3)根據(jù)風(fēng)險(xiǎn)分析網(wǎng)絡(luò)和CPT,通過風(fēng)險(xiǎn)概率推理算法,計(jì)算得出各個(gè)風(fēng)險(xiǎn)節(jié)點(diǎn)的發(fā)生概率綜合評(píng)估矩陣P。
4.2.2 風(fēng)險(xiǎn)影響評(píng)估
風(fēng)險(xiǎn)影響評(píng)估包括