摘?要:風(fēng)險(xiǎn)因子的識(shí)別與分析是軟件項(xiàng)目風(fēng)險(xiǎn)管理中的關(guān)鍵任務(wù)。在實(shí)際管理中,風(fēng)險(xiǎn)因子的發(fā)生概率具有模糊性,因此通常應(yīng)用具有偏序關(guān)系的等級(jí)來劃分,由此本文基于具有優(yōu)勢(shì)關(guān)系的粗糙集理論對(duì)軟件項(xiàng)目風(fēng)險(xiǎn)管理進(jìn)行定量分析:利用優(yōu)勢(shì)關(guān)系和上下近似集合等概念,提出了軟件風(fēng)險(xiǎn)管理決策系統(tǒng),在此基礎(chǔ)上,給出了項(xiàng)目的風(fēng)險(xiǎn)決策協(xié)調(diào)系數(shù)、風(fēng)險(xiǎn)因子對(duì)于決策的影響系數(shù)等定義與計(jì)算方法。此項(xiàng)工作能識(shí)別風(fēng)險(xiǎn)管理中的薄弱環(huán)節(jié),合理分配資源,優(yōu)化管理過程,并為風(fēng)險(xiǎn)決策的規(guī)則提取奠定了基礎(chǔ)。
關(guān)鍵詞:軟件風(fēng)險(xiǎn);風(fēng)險(xiǎn)因子;粗糙集;優(yōu)勢(shì)關(guān)系;過程改進(jìn)
Brooks曾指出復(fù)雜性、一致性、可變性及不可見性是軟件開發(fā)的四大難題[12],另有調(diào)查表明[24],軟件不能在計(jì)劃時(shí)間和預(yù)算內(nèi)高質(zhì)量交付使用的比例非常高,由此可見風(fēng)險(xiǎn)是軟件開發(fā)中客觀存在的現(xiàn)象,風(fēng)險(xiǎn)管理研究也成為軟件項(xiàng)目管理以及過程管理的主要組成部分,吸引了很多學(xué)者關(guān)注。
自從20世紀(jì)80年代末以來,軟件項(xiàng)目風(fēng)險(xiǎn)在理論、方法、實(shí)踐方面都取得了很大的進(jìn)展。從綜述文獻(xiàn)看,目前風(fēng)險(xiǎn)管理的研究多注重過程、方法、實(shí)施框架等內(nèi)容,同時(shí)表明引入量化的分析技術(shù)與方法是風(fēng)險(xiǎn)管理的難點(diǎn),但也是一種趨勢(shì),因此,國內(nèi)外學(xué)者從未停止過與之相關(guān)的研究與實(shí)踐。從早期的概率統(tǒng)計(jì),過渡到?jīng)Q策樹、Petri網(wǎng)、貝葉斯網(wǎng)絡(luò),以及簇方法、神經(jīng)網(wǎng)絡(luò)等各種數(shù)據(jù)分析技術(shù)已經(jīng)得以應(yīng)用,并且突破了單一的風(fēng)險(xiǎn)項(xiàng)分析,開始關(guān)注風(fēng)險(xiǎn)項(xiàng)之間的關(guān)系。例如吳登生[5]等人考慮風(fēng)險(xiǎn)相關(guān)性,采用多目標(biāo)粒子群算法對(duì)風(fēng)險(xiǎn)控制多目標(biāo)優(yōu)化模型進(jìn)行求解,尋找科學(xué)的風(fēng)險(xiǎn)控制策略;楊莉[6]等人根據(jù)風(fēng)險(xiǎn)數(shù)據(jù)的特點(diǎn),結(jié)合風(fēng)險(xiǎn)管理者的偏好,采用區(qū)間數(shù)模型給出迭代算法,選出最優(yōu)風(fēng)險(xiǎn)應(yīng)對(duì)組合。筆者在文獻(xiàn)[7]中首次應(yīng)用經(jīng)典的粗糙集理論構(gòu)造了軟件項(xiàng)目風(fēng)險(xiǎn)分析系統(tǒng),主要應(yīng)用等價(jià)類和不可分辨關(guān)系分析了軟件風(fēng)險(xiǎn)因子之間的關(guān)系,為風(fēng)險(xiǎn)決策提供了策略,但是未考慮風(fēng)險(xiǎn)因子發(fā)生等級(jí)取值具有偏序關(guān)系,另外分析系統(tǒng)中決策屬性描述得比較模糊,缺少了決策屬性與風(fēng)險(xiǎn)屬性的關(guān)系分析,在此基礎(chǔ)上,本文根據(jù)軟件項(xiàng)目風(fēng)險(xiǎn)管理中數(shù)據(jù)特點(diǎn),引入了具有優(yōu)勢(shì)關(guān)系的粗糙集模型,進(jìn)一步探究風(fēng)險(xiǎn)因子、決策屬性、軟件項(xiàng)目之間的聯(lián)系,并通過實(shí)例說明。
1?軟件風(fēng)險(xiǎn)管理
軟件風(fēng)險(xiǎn)管理旨在制定一系列可行的原則和實(shí)踐,規(guī)范化地控制影響項(xiàng)目成功的風(fēng)險(xiǎn),目的是識(shí)別、分析和消除風(fēng)險(xiǎn)因素,以免它們威脅軟件的成功運(yùn)作[3]。從早期的Boehm和Charette的風(fēng)險(xiǎn)管理框架、Higuera和Haimes的持續(xù)風(fēng)險(xiǎn)管理框架模型、Hall的六學(xué)科模型,到基于CMM/CMMI的軟件項(xiàng)目風(fēng)險(xiǎn)管理等各種框架模型,以及風(fēng)險(xiǎn)清單法、基于分類的問卷調(diào)查表法等各種風(fēng)險(xiǎn)識(shí)別方法的研究中不難看出,風(fēng)險(xiǎn)因子的識(shí)別、排序、分析、控制是軟件項(xiàng)目風(fēng)險(xiǎn)管理的核心工作。
以Boehm為首的諸多學(xué)者通過研究與調(diào)查已經(jīng)列舉了上百條風(fēng)險(xiǎn)清單[3,8,9],這些成果為軟件組織對(duì)照檢查形成自身的風(fēng)險(xiǎn)列表提供了便利條件,同時(shí),組織需要根據(jù)實(shí)際的文化與管理模式對(duì)風(fēng)險(xiǎn)清單進(jìn)行裁剪和評(píng)估。目前以及將來很長(zhǎng)時(shí)間,軟件開發(fā)都將采用迭代式的開發(fā)模式[2],這意味著組織面臨多項(xiàng)目多風(fēng)險(xiǎn)項(xiàng)的多重管理情形。在此種境況下,風(fēng)險(xiǎn)因子的排序,重要風(fēng)險(xiǎn)因子集合的識(shí)別,執(zhí)行的管理策略是否匹配,如何對(duì)優(yōu)先項(xiàng)目進(jìn)行資源分配等,都是風(fēng)險(xiǎn)管理決策中要考慮的問題。
2?基于優(yōu)勢(shì)粗糙集的軟件項(xiàng)目風(fēng)險(xiǎn)管理
2.1?優(yōu)勢(shì)關(guān)系粗糙集的基本概念
粗糙集理論是波蘭科學(xué)家Pawlak提出的一種用來處理不精確知識(shí)的數(shù)學(xué)分析工具,被應(yīng)用到人工智能、數(shù)據(jù)挖掘和模式識(shí)別等諸多領(lǐng)域,不少學(xué)者也將其理論進(jìn)行了擴(kuò)展,GRECO等人提出了優(yōu)勢(shì)關(guān)系粗糙集[10],利用優(yōu)勢(shì)關(guān)系替代經(jīng)典粗糙集的等價(jià)關(guān)系表達(dá)屬性值之間的序關(guān)系,這特性表明用它來分析軟件項(xiàng)目風(fēng)險(xiǎn)管理中的數(shù)據(jù)是合適的,此處先介紹幾個(gè)定義。
定義1?決策信息表S=(U,A,V,f),其中U為論域,A=C∪D為屬性集合,其中C為條件屬性,D為決策屬性,V為屬性值域,f為信息函數(shù),即f:U×A→V。
定義2?令為論域U上的弱偏序關(guān)系。設(shè)x,y∈U,PC,對(duì)a∈P,均有f(y,a)f(x,a),則認(rèn)為y關(guān)于P優(yōu)勢(shì)于x,表明在屬性P上y至少和x一樣好,表示為yDpx。
定義3?設(shè)x,y∈U,對(duì)象x的P優(yōu)勢(shì)集定義為D+P(x)={y|yDPx};劣勢(shì)集定義為D-P(x)={y|xDPy}。
定義4?決策屬性D將論域分為n個(gè)類C={Ct|t∈{1,2,…,n}},其中Cn>Cn-1>…C1,t類的上聯(lián)合定義為Ct=∪stCs,下聯(lián)合定義為CtCs。
定義5?假定PC,P-(Ct)和P-(Ct)分別為Ct的上、下近似:
2.2?軟件風(fēng)險(xiǎn)因子分析模型
結(jié)合優(yōu)勢(shì)關(guān)系粗糙集理論中優(yōu)勢(shì)關(guān)系、上下聯(lián)合等定義,在文獻(xiàn)[17]基礎(chǔ)上,給出以下定義。
定義6?RS=<U,A,V,F(xiàn)>是軟件項(xiàng)目風(fēng)險(xiǎn)決策信息系統(tǒng),其中U={x1,x2...xn}是一組軟件項(xiàng)目;A=R∪D,R∩D=,R={r1,r2...rn}是一組風(fēng)險(xiǎn)因子,D={d1,d2...dn}是決策屬性,di∈{1,2,3},di是軟件項(xiàng)目xi采用的風(fēng)險(xiǎn)管理決策等級(jí),V是R的值域,f:U×R→V是信息函數(shù)。特別地,V=(uij),1
n,uij表示在項(xiàng)目xi中風(fēng)險(xiǎn)因子rj發(fā)生的可能性,uij∈{1,2,3},參看表1和表2。
根據(jù)定義2中的優(yōu)勢(shì)關(guān)系,若xi,xj為兩個(gè)軟件項(xiàng)目,rk為某個(gè)風(fēng)險(xiǎn)因子,若有f(xi,rk)f(xj,rk),則認(rèn)為xi關(guān)于rk優(yōu)于xj,說明在風(fēng)險(xiǎn)因子rk上,項(xiàng)目xi和項(xiàng)目xj至少管控的一樣好,即uikujk,風(fēng)險(xiǎn)因子rk在項(xiàng)目xj比xi更可能發(fā)生,或者等可能發(fā)生,表示為xiDrkxj。
2.2.1?優(yōu)先處理項(xiàng)目集合的確定
根據(jù)定義4,決策屬性D將論域劃分為3個(gè)類,U|D={C1,C2,C3},不難看出,C1是風(fēng)險(xiǎn)管理策略中需要立即處理的項(xiàng)目集合,C2是需要關(guān)注預(yù)防的項(xiàng)目集合,C3是只需要一般記錄的項(xiàng)目集合,表明目前的風(fēng)險(xiǎn)管理狀態(tài)良好,優(yōu)于C1和C2中包含的項(xiàng)目。顯而易見,管理資源應(yīng)該優(yōu)先分配給C1中的項(xiàng)目,在實(shí)際管理中,對(duì)于C2中的項(xiàng)目在資源供給不同時(shí)合理給出優(yōu)先考慮的集合是軟件風(fēng)險(xiǎn)管理中面臨的重要決策。根據(jù)定義5中近似集合的定義,在資源有限時(shí),優(yōu)先處理的項(xiàng)目集合可用A1表示,在資源較為充裕時(shí),優(yōu)先處理的集合可用A2表示,它們的定義如下:A1=C1∪P-(C2)顯然,A1A2。
2.2.2?項(xiàng)目風(fēng)險(xiǎn)決策的協(xié)調(diào)性分析
定義6包含了風(fēng)險(xiǎn)管理中的所有數(shù)據(jù),其中V是風(fēng)險(xiǎn)因子發(fā)生概率級(jí)別,D風(fēng)險(xiǎn)管理決策等級(jí),定義中取值都為1,2或3。D的取值應(yīng)該是根據(jù)V來確定的,在實(shí)際管理中因?yàn)镽中包含的是一組風(fēng)險(xiǎn)因子,需要綜合考慮V的取值,由此引入下列協(xié)調(diào)性的概念。
定義7設(shè)RS=<U,A,V,F(xiàn)>是軟件項(xiàng)目風(fēng)險(xiǎn)決策信息系統(tǒng),若存在xi∈U,使得Uij=di都成立j=1,2,3…m,則說明項(xiàng)目xi給出的風(fēng)險(xiǎn)決策等級(jí)是完全協(xié)調(diào)的。
例如,某個(gè)項(xiàng)目的所有風(fēng)險(xiǎn)因子發(fā)生的概率等級(jí)都為1,即很可能發(fā)生,那么它對(duì)應(yīng)的風(fēng)險(xiǎn)管理策略的等級(jí)自然也應(yīng)該為1,即立即處理,決策結(jié)果與風(fēng)險(xiǎn)狀態(tài)是完全協(xié)調(diào)的。在實(shí)際管理中,完全協(xié)調(diào)幾乎是不存在的,因此下面引入?yún)f(xié)調(diào)系數(shù)的概念。
定義8設(shè)RS=<U,A,V,F(xiàn)>是軟件項(xiàng)目風(fēng)險(xiǎn)決策信息系統(tǒng),xi∈U,kxi定義為項(xiàng)目xi的風(fēng)險(xiǎn)決策協(xié)調(diào)系數(shù),i=1,2,…n,計(jì)算公式如下:
kxi=1,uij=di(j=1,2,…m)時(shí),1-∑mj=1|uij-di|m×max{|uij-di|},其他。
1,kxi值為1時(shí),項(xiàng)目xi的風(fēng)險(xiǎn)決策是完全協(xié)調(diào)的。對(duì)于協(xié)調(diào)系數(shù)較小的項(xiàng)目需要探究其原因:一是相應(yīng)風(fēng)險(xiǎn)策略等級(jí)是否合適,二是風(fēng)險(xiǎn)因子的重要性是否相同,即不同的風(fēng)險(xiǎn)因子即使是在發(fā)生概率等級(jí)相同,他們對(duì)風(fēng)險(xiǎn)策略的影響程度也是不同的,這些對(duì)于尋找管理的薄弱環(huán)節(jié),優(yōu)化過程管理提供了很好的切入點(diǎn)。
2.2.3?風(fēng)險(xiǎn)因子的影響性分析
從風(fēng)險(xiǎn)管理決策信息系統(tǒng)的橫向入手,在上一節(jié)中分析了每個(gè)軟件開發(fā)項(xiàng)目最終的風(fēng)險(xiǎn)管理決策是否與風(fēng)險(xiǎn)狀態(tài)相協(xié)調(diào),從縱向角度,綜合某個(gè)風(fēng)險(xiǎn)因子發(fā)生的概率等級(jí)與管理策略等級(jí)之間的關(guān)系,可以對(duì)風(fēng)險(xiǎn)因子進(jìn)行影響性分析。
定義9設(shè)RS=<U,A,V,F(xiàn)>是軟件項(xiàng)目風(fēng)險(xiǎn)決策信息系統(tǒng),若存在rj∈R,使得Uij=di都成立i=1,2,3…n,則說明風(fēng)險(xiǎn)因子rj對(duì)風(fēng)險(xiǎn)決策的影響是完全的。
風(fēng)險(xiǎn)管理決策屬于多準(zhǔn)則決策問題,不可能所有的風(fēng)險(xiǎn)因子對(duì)決策的影響都是完全的,下面引入影響系數(shù)的定義。
定義10設(shè)RS=<U,A,V,F(xiàn)>是軟件項(xiàng)目風(fēng)險(xiǎn)決策信息系統(tǒng),rj∈R,krj定義為風(fēng)險(xiǎn)因子rj的影響系數(shù),j=1,2,…m,計(jì)算公式如下:
krj=1,uij=di(i=1,2,…n)時(shí),
1-∑ni=1|uij-di|n×max{|uij-di|},其他。
易知,0
1,特別krj=1時(shí),風(fēng)險(xiǎn)因子rj對(duì)風(fēng)險(xiǎn)管理策略是完全影響的。風(fēng)險(xiǎn)因子的影響系數(shù)越接近1,在做管理策略時(shí)就越應(yīng)該被優(yōu)先考慮。
3?實(shí)例分析
本節(jié)采取文獻(xiàn)[7]中的數(shù)據(jù),表3中列舉了風(fēng)險(xiǎn)因子,因本文給出了風(fēng)險(xiǎn)管理策略的等級(jí),為了與風(fēng)險(xiǎn)因子的發(fā)生概率保持一致,表4中的實(shí)例數(shù)據(jù)表與文獻(xiàn)[17]中的數(shù)據(jù)表現(xiàn)形式不同。
通過數(shù)據(jù)集,根據(jù)定義3,得到下面優(yōu)勢(shì)類:
D+P(x1)={x1}
D+P(x2)={x1,x2}
D+P(x3)={x1,x2,x3,x4,x5,x6}
D+P(x4)={x1,x4}
D+P(x5)=D+P(x6)={x5,x6}
根據(jù)決策屬性,可以得到包含3個(gè)類的劃分U/D={C1,C2,C3},其中C1={x3,x4},C2={x5,x6},C3={x1,x2}。
根據(jù)定義4,得到每個(gè)類的上聯(lián)合:C1={x1,x2,x3,x4,x5,x6},C2={x3,x4,x5,x6},C3={x1,x2},根據(jù)定義5,可以得到?jīng)Q策類的上下近似集P-(C1)=P-(C1)=U,P-(C2)={x5,x6},P-(C2)=U,P-(C3)=P-(C3)={x1,x2}。
根據(jù)3.2.1中的描述,A1={x3,x4,x5,x6},A2=U,得到資源有限時(shí)優(yōu)先考慮的項(xiàng)目集合。
根據(jù)定義8,得到每個(gè)項(xiàng)目的風(fēng)險(xiǎn)決策協(xié)調(diào)系數(shù)為:kx1=0.875,kx2=0.75,kx3=0.75,kx4=0.375,kx5=0.5,kx6=0.5。從計(jì)算結(jié)果分析,項(xiàng)目x1的協(xié)調(diào)系數(shù)最大,說明其風(fēng)險(xiǎn)決策被質(zhì)疑的可能越小,風(fēng)險(xiǎn)狀態(tài)是比較清晰的;對(duì)于協(xié)調(diào)系數(shù)較小的項(xiàng)目,需要關(guān)注各個(gè)風(fēng)險(xiǎn)因子發(fā)生概率的等級(jí)變化,及時(shí)對(duì)策略等級(jí)進(jìn)行調(diào)整。
根據(jù)定義10,得到各個(gè)風(fēng)險(xiǎn)因子的影響系數(shù)為:kr1=0.75,kr2=0.5,kr3=0.75,kr4=0.5。
從結(jié)果看,客戶需求多變性和系統(tǒng)需求不清晰兩個(gè)風(fēng)險(xiǎn)因子對(duì)管理決策的影響更大些,此舉能為風(fēng)險(xiǎn)因子的重要性進(jìn)行排序,另外影響系數(shù)的變化也為風(fēng)險(xiǎn)因子之間的關(guān)系研究提供了一種途徑。
結(jié)語
本文基于優(yōu)勢(shì)關(guān)系的粗糙集理論,利用優(yōu)勢(shì)關(guān)系、上下聯(lián)合及上下近似集合的概念,主要研究了風(fēng)險(xiǎn)管理中如何更合理的確定優(yōu)先處理的軟件項(xiàng)目集合,給出了項(xiàng)目的風(fēng)險(xiǎn)策略的協(xié)調(diào)系數(shù)、風(fēng)險(xiǎn)因子的影響系數(shù)的定義和計(jì)算方法。一方面可以審視目前的風(fēng)險(xiǎn)管理策略是否適宜,確定優(yōu)先項(xiàng)目及核心因子進(jìn)行重點(diǎn)監(jiān)控;另一方面,為尋找過程管理的薄弱點(diǎn)提供依據(jù),達(dá)到過程改進(jìn)的目的。但是還存在許多有待解決的問題:如粗糙集中的核與風(fēng)險(xiǎn)因子影響系數(shù)之間的關(guān)系,基于優(yōu)勢(shì)關(guān)系的協(xié)調(diào)粗糙集在風(fēng)險(xiǎn)管理中的應(yīng)用等。另外,本文實(shí)例中數(shù)據(jù)較少,當(dāng)組織的數(shù)據(jù)較多時(shí),如何利用協(xié)調(diào)系數(shù)、影響系數(shù)從決策樣例中提取決策規(guī)則,都是下一步可以研究的方向。
參考文獻(xiàn):
[1]BROOKS?FP.No?silver?buttle[J].IEEE?computer,1987,20(4):1019.
[2]榮國平,張賀,邵棟,等.軟件過程與管理方法綜述[J].軟件學(xué)報(bào),2019,30(1):6279.
[3]BOEHM?BW.Software?risk?management:?principles?and?practices[J].IEEE?Software,1991,8(1):3241.
[4]The?Standish?Group.CHAOS?Summary?2009[EB/OL].http://www.standishgroup.com/newsroom/chaos_2009.php,2009.
[5]吳登生,李建平,孫曉蕾,宋浩.考慮風(fēng)險(xiǎn)相關(guān)性的軟件風(fēng)險(xiǎn)多目標(biāo)優(yōu)化控制研究[J].系統(tǒng)工程理論與實(shí)踐,2015,35(3):578586.
[6]楊莉,李南.軟件項(xiàng)目風(fēng)險(xiǎn)應(yīng)對(duì)措施優(yōu)選的區(qū)間模型及其算法[J].控制與決策,2011,26(4):530534.
[7]丁劍潔,郝克剛,侯紅,郭小群.基于粗糙集的軟件項(xiàng)目風(fēng)險(xiǎn)管理研究[J].計(jì)算機(jī)科學(xué),2010,37(4):117119.
[8]Barki?H,River?d?S,Talbot?J.Toward?an?assessment?of?software?development?risk[J].J?of?Management?Information?Systems,1993,10(2):?203225.
[9]CAPERS?J.Assessment?and?control?o?f?software?risks[M].Englewood?Cliffs:?Yourdon?Press,1994.
[10]GRECO?S,MATARAZZO?B,SLOWINSKI?R.Rough?approximation?by?dominance?relations[J].International?Journal?of?Intelligent?Systems,2002,17(2):?153171.
基金項(xiàng)目:陜西省教育廳科研計(jì)劃項(xiàng)目(17JK0184);陜西省重點(diǎn)研發(fā)計(jì)劃項(xiàng)目(2021NY211)
作者簡(jiǎn)介:丁劍潔(1979—?),女,博士,副教授,研究方向:數(shù)據(jù)分析、軟件過程改進(jìn)。