本發(fā)明屬于軟件
技術(shù)領(lǐng)域:
,涉及一種主客觀融合的軟件非功能需求評價方法。
背景技術(shù):
:近年來,軟件非功能需求的相關(guān)研究已成為需求工程中一塊很重要的研究領(lǐng)域和學(xué)術(shù)熱點,但是目前軟件需求的大部分方法都是針對功能需求的,對于非功能需求的描述和評價缺乏有效的方法。在許多軟件尤其是大型軟件中,軟件非功能需求甚至是強制性需求,如電信軟件中的性能和可靠性、電子商務(wù)軟件中的安全性等。charette指出,“真正的現(xiàn)實系統(tǒng)中,在決定系統(tǒng)的成敗或關(guān)鍵的因素中,滿足非功能需求比滿足功能需求更為重要”。自從boehm等人開創(chuàng)了面向產(chǎn)品的方法和chung等人開創(chuàng)了面向過程的方法以來,對軟件非功能屬性的研究取得了重要進展。隨著軟件需求正由簡單轉(zhuǎn)向為復(fù)雜、軟件的規(guī)模由中小規(guī)模轉(zhuǎn)向為大型以及軟件開發(fā)環(huán)境由傳統(tǒng)、封閉、靜態(tài)拓展為開放、動態(tài)、多變,對軟件非功能需求的理論研究也由宏觀角度轉(zhuǎn)向微觀角度,從而更好地分析問題、解決問題。zhu等人引入領(lǐng)域工程中foda模型中的特征概念到需求工程中qsig圖中,提出了一種fq-qsig模型來處理大型軟件中非功能需求間復(fù)雜的相關(guān)關(guān)系和權(quán)衡問題,為決策者提供一個優(yōu)化的選擇結(jié)果。wen等人提出了emimce模型來評價可信軟件的非功能需求。uzunov等人提出了一個分解分布式軟件結(jié)構(gòu)系統(tǒng)的三層次框架,為基于互補分析過程的新設(shè)計水平的非功能需求的測定奠定了基礎(chǔ)。文杏梓等人提出了可信軟件非功能需求指標(biāo)體系,并基于設(shè)計結(jié)構(gòu)矩陣、矩陣變換及運算,形成基于非功能需求相互關(guān)系的鄰接矩陣和可達(dá)矩陣,提出非功能需求貢獻值的概念,建立了一個客觀的軟件非功能需求度量模型。羅新星等人提出了一種基于關(guān)鍵非功能需求的軟件可信性度量模型。軟件非功能需求的重要性以及實現(xiàn)非功能需求的困難已經(jīng)為學(xué)術(shù)界和產(chǎn)業(yè)界所公認(rèn)。實現(xiàn)的困難在本質(zhì)上來源于軟件非功能需求所固有的主觀性、全局性、相對性以及軟件非功能需求之間的相關(guān)關(guān)系。目前對非功能需求的定量評價研究,無論是從面向過程、面向方面還是面向產(chǎn)品的角度幾乎都是單一地從主觀或客觀方面進行的。從整體上來說,非功能需求具有主觀性,由于不具有明確的判定標(biāo)準(zhǔn),使得對非功能需求的判定往往根據(jù)人的主觀感受來決定,這必將會導(dǎo)致不同的人有著不同的觀點和看法。如“性能”這一概念,不同的人會用不同的視角來對其進行解釋和評判;再比如,“用戶界面友好、使用方便”,界定“友好”和“方便”的準(zhǔn)則也會因人而異。然而在某些具體的子需求中,可以通過客觀的方式對其進行評判,如“性能”下“時間特性”的子需求“響應(yīng)時間”和“處理時間”就可以通過具體的數(shù)值來反映和評價其優(yōu)劣,此時專家的主觀評價一般來說就不如實際數(shù)值能更切實地反映其優(yōu)劣程度。另外,在非功能需求評價中,現(xiàn)有研究大多使用了三角模糊數(shù)或者梯形模糊數(shù)等模糊集理論,在一定程度上反映了非功能需求評價中的模糊性和不確定性。然而,由于模糊集僅包含隸屬信息,所以不能全面地描述和刻畫人們對事物認(rèn)知的不確定程度;而且沒有一種清晰的途徑或方法去分配一個元素到一個集合的隸屬度。在確定非功能需求屬性的權(quán)重時,目前大多采用的是主觀賦權(quán)法,對專家權(quán)重的考慮不足。基于此,本文對chung等人提出的sig圖進行改進,提出了一個esig圖模型,以圖形化的方式描述和表示非功能需求,在esig圖模型的基礎(chǔ)上,提出了主客觀融合的軟件非功能需求評價方法。從主客觀的角度將最底層非功能需求節(jié)點劃分為主觀屬性節(jié)點和客觀屬性節(jié)點。對于能用實際數(shù)值表示和反映的屬性節(jié)點劃分為客觀屬性節(jié)點,根據(jù)實際數(shù)值得出評分值;對于具有模糊性、不確定性、無法或者很難使用實際數(shù)值得出評分值的屬性節(jié)點,劃分為主觀節(jié)點,通過專家主觀打分的方式得到評分值。對于能用具體數(shù)值表示和反映但無法確定其評分標(biāo)準(zhǔn)而不能得出評分值的屬性節(jié)點,由專家根據(jù)實際數(shù)值輔助得出評分值。如已確定“響應(yīng)時間”屬性節(jié)點的數(shù)值是0.02ms,但無法確切地知道此數(shù)值所反映的優(yōu)劣情況,那么專家就可以通過該數(shù)值給出一個評分值,或者由專家事先給定一個評分值對照表來確定其評分值。本文擴展了基礎(chǔ)的猶豫模糊集理論,將自然語言的評價融合到了猶豫模糊集中,提出了一種基于猶豫模糊語言信息偏好關(guān)系的屬性權(quán)重確定方法。其中,專家的權(quán)重采用熵權(quán)法確定,熵權(quán)法是一種主觀賦權(quán)法。該屬性權(quán)重確定方法屬于一種主客觀綜合賦權(quán)法,體現(xiàn)了主客觀融合的思想,能夠很好地表示非功能需求屬性的不確定性和相對重要性,同時很好地反映了各專家對屬性偏好程度的差異。在對屬性優(yōu)劣的評判過程中,本文使用了盲數(shù)理論的知識,盲數(shù)理論能夠充分地反映客觀信息和決策者個人認(rèn)知水平的模糊性、灰性、隨機性以及不確定性。技術(shù)實現(xiàn)要素:為實現(xiàn)上述目的,本發(fā)明提供一種主客觀融合的軟件非功能需求評價方法,從根本上提高了評價的合理性與可信性。本發(fā)明所采用的技術(shù)方案是,主客觀融合的軟件非功能需求評價方法,按照以下步驟進行:步驟1,主客觀屬性節(jié)點的劃分,將建立的非功能需求esig圖中的最底層節(jié)點中由專家直接評分的節(jié)點分類為主觀屬性節(jié)點,其余節(jié)點劃分為客觀屬性節(jié)點;步驟2,確定專家的權(quán)重向量和屬性權(quán)重向量,由專家給出的猶豫模糊偏好關(guān)系構(gòu)造猶豫模糊偏好關(guān)系矩陣,并根據(jù)專家權(quán)重向量確定算法和屬性權(quán)重向量確定算法分別確定專家的權(quán)重向量和屬性權(quán)重向量;步驟3,確定最底層屬性節(jié)點的評分矩陣,專家對主觀屬性節(jié)點進行打分,對于客觀屬性節(jié)點的評分根據(jù)具體的數(shù)據(jù)確定,最后根據(jù)專家意見的不確定性量化算法得出最底層屬性節(jié)點的評分矩陣;步驟4,計算最底層屬性節(jié)點對應(yīng)的上層屬性節(jié)點的未確知測度值;步驟5,確定屬性節(jié)點的最終評分值,將屬性節(jié)點的未確知測度與對應(yīng)的屬性節(jié)點的權(quán)重進行合成便可得出該屬性節(jié)點的最終得分,自底向上逐層求解便可得出系統(tǒng)的非功能需求屬性評分值。進一步的,所述步驟1中,非功能需求esig圖的建立方法為:1)為明確表示分解路徑和方向,將原sig圖符號中表示分解的線段加上有向標(biāo)識,用實線箭頭表示,方向從父節(jié)點指向子節(jié)點;2)為表示節(jié)點間的促進或者沖突關(guān)系,使用虛線箭頭加“+”號和“-”號的方式分別表示“促進”和“抑制”影響,方向從影響節(jié)點指向被影響節(jié)點;3)使用“單弧加數(shù)字”的方式表示父子節(jié)點的分解關(guān)系,單弧內(nèi)的數(shù)字表示為了滿足父節(jié)點而需要的子節(jié)點的個數(shù)。進一步的,所述步驟2中,專家權(quán)重向量確定算法具體為:1)采用ahfa算子,將專家dk給出的屬性集ai中的所有猶豫模糊偏好值合成為整體猶豫模糊偏好值2)根據(jù)猶豫模糊數(shù)的得分函數(shù),計算得到整體猶豫模糊偏好值的得分表示專家dk對屬性集ai中屬性ai偏好程度的得分值;3)計算專家dk的得分水平向量ei,ei=(ei1,ei2,…,eim)其中,eij表示向量(ei1,ei2,…,eim)中任意一個元素,eim是向量ei中的一個元素,表示所有專家對屬性ai得分值的算術(shù)平均值,表示所有專家對屬性ai得分值的最大值,ei反映了專家dk對屬性集ai所做出的偏好程度的水平;4)計算熵值zi其中,不確定性程度用熵值表示,熵值越小,專家評分水平越高,可信度越高;反之,熵值越大,可信度越低,zij無具體含義,僅為計算熵值,e是自然對數(shù)的底;5)計算專家權(quán)重ωi,并確定專家權(quán)重向量ω:ω=(ω1,ω2,…,ωs)其中,且滿足0<ωi<1,zi的含義是熵值。進一步的,所述步驟2中,屬性權(quán)重向量確定算法具體為:11)設(shè)p為算法的迭代次數(shù),δ為步長,且滿足0≤ξ=pδ≤1,τ為群體共識性水平,令分別得到各專家給出的猶豫模糊偏好關(guān)系的完美積極一致性猶豫模糊偏好關(guān)系12)采用ahfwa算子將所有的個體完美積極一致性猶豫模糊偏好關(guān)系合成為總體猶豫模糊偏好關(guān)系即(i,j=1,2,…,m)其中,為中第t小的元素,ωk為專家dk的權(quán)重;13)判斷所有的個體完美積極一致性猶豫模糊偏好關(guān)系是否達(dá)到可接受的一致性程度;計算各專家的個體完美積極一致性猶豫模糊偏好關(guān)系到總體猶豫模糊偏好關(guān)系的距離,即若對所有k=1,2,…,s,τ為群體共識性水平;說明是可接受的,則轉(zhuǎn)步驟15);否則轉(zhuǎn)步驟14);14)修正非一致性猶豫模糊偏好關(guān)系,令其中,式中,和分別為和中第t小的元素,令p=p+1,轉(zhuǎn)步驟12);15)令采用ahfa算子,將屬性集ai的所有猶豫模糊偏好關(guān)系值hij(j=1,2,…,m)合成為整體猶豫模糊偏好值hi;16)根據(jù)猶豫模糊數(shù)的得分函數(shù),得到整體猶豫模糊偏好值hi的得分wi,用wi來表示屬性集ai中屬性ai的權(quán)重,可得屬性權(quán)重向量w=(w1,w2,…,wm),進行歸一化處理,得w′=(w′1,w′2,…,w′m),且滿足0<w′i<1,進一步的,所述步驟3中,專家意見的不確定性量化算法具體為:21)計算得到專家組d1,d2,…,ds的專家綜合可信度分別為α1,α2,…,αs;22)對存在交叉現(xiàn)象的區(qū)間進行無交叉劃分,重新建立區(qū)間序列并計算新區(qū)間的可信度,得到屬性ai落在給定的標(biāo)準(zhǔn)評分區(qū)間的可能性,具體為將區(qū)間序列的端點值由小到大排列得到新的無交叉區(qū)間序列為[ki1,ki1],[ki2,ki2],…,[kil,kil],按照比例分配法計算新區(qū)間的可信度ηi1,ηi2,…,ηil,將結(jié)果用盲數(shù)fi(x)表示,一般形式為23)根據(jù)盲數(shù)fi(x)計算屬性ai落在給定的標(biāo)準(zhǔn)評分區(qū)間的可能性,得到新的盲數(shù)fi′(x),一般形式為得到屬性集ai的盲數(shù)矩陣:其中l(wèi)為給定的標(biāo)準(zhǔn)區(qū)間個數(shù),m為由專家打分確定評分值的屬性個數(shù)。本發(fā)明的有益效果是提出的主客觀融合的非功能需求評價算法更加符合軟件非功能需求是由多數(shù)定性屬性和一定定量屬性組成的這一實際情況,從根本上提高了評價的合理性與可信性;提出的主客觀融合的專家賦權(quán)算法更好地反映了專家評價結(jié)果的可信度問題,間接地提高了評價的可信性和有效性;提出的屬性權(quán)重方法更好地反映了屬性的模糊性、不確定性和主觀性等;將非功能需求間的分解關(guān)系和相關(guān)關(guān)系作為整體來考慮,避免了無法定量地權(quán)衡系統(tǒng)整體優(yōu)劣的問題,大大地提高了評價的有效性。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是將“性能”作為父節(jié)點進行處理的sig圖。圖2是將“性能”作為父節(jié)點進行處理的esig圖。圖3是評價算法流程圖。圖4是部分非功能需求的esig圖。具體實施方式下面將融合本發(fā)明實施例中,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。1.esig圖模型建立:chung等人提出了非功能需求(non-functionalrequirements,nfrs)計劃。非功能需求框架(nfr框架)是一種面向過程的方法,主要目標(biāo)是對非功能需求進行表示、組織和分析。sig圖是就非功能表示和描述采用的一套圖形化的表示方法,能夠簡單直觀的表示非功能需求,常用來表示品質(zhì)屬性和框架決策。如圖1所示,sig圖中將一個父節(jié)點分解為一組子節(jié)點,主要利用了兩種分解關(guān)系:“and/or”(用單弧和雙弧來表示)。非功能需求的依賴關(guān)系一方面是指相互協(xié)同促進關(guān)系,另一方面是指非功能需求中存在的沖突。sig圖中存在四種依賴關(guān)系:強正相關(guān)(++),正相關(guān)(+),強負(fù)相關(guān)(--)和負(fù)相關(guān)(-)。如圖1中的“磁盤冗余”對“處理時間”產(chǎn)生“正相關(guān)”的促進影響。sig圖對nfr分解的關(guān)系描述上僅限于and/or的關(guān)系,隨著分解的進行不足以表達(dá)nfr分解過程中的復(fù)雜關(guān)系;沒有分解路徑表示符號;隨著nfr的分解,子目標(biāo)數(shù)量增加,會形成大量的sig圖,不能自由的對目標(biāo)進行拆分。針對sig圖存在的不足,對現(xiàn)有的sig圖符號系統(tǒng)進行以下修改和補充,得到非功能需求的esig圖模型:(1)為明確表示分解路徑和方向,將原sig中表示分解的線段加上有向標(biāo)識,用實線箭頭表示,方向從父節(jié)點指向子節(jié)點;(2)為表示節(jié)點間的促進或者沖突關(guān)系,使用虛線箭頭加“+”號和“-”號的方式分別表示“促進”和“抑制”影響,方向從影響節(jié)點指向被影響節(jié)點;(3)使用“單弧加數(shù)字”的方式表示父子節(jié)點的分解關(guān)系。單弧內(nèi)的數(shù)字表示為了滿足父節(jié)點而需要的子節(jié)點的個數(shù)。如圖2所示,圖2中“磁盤空間”節(jié)點被分解為“磁盤冗余”和“數(shù)據(jù)壓縮”兩個節(jié)點,單弧內(nèi)的數(shù)字“1”表示只需要實現(xiàn)其中一個子節(jié)點就能滿足“磁盤空間”這個父節(jié)點?!按疟P壓縮”和“數(shù)據(jù)壓縮”對“處理時間”分別有“促進”和“抑制”影響。其中,“硬盤冗余”、“數(shù)據(jù)壓縮”和“響應(yīng)時間”等需求的優(yōu)劣可以通過具體的數(shù)值來得到表示其優(yōu)劣程度的評分值,即可以使用客觀的方式進行評價。esig圖簡單直觀地描述了非功能需求間的關(guān)系,為后續(xù)的定量評價奠定了基礎(chǔ)。2.主客觀融合的非功能需求評價算法針對具體的軟件非功能需求建立esig圖模型后,首先將圖模型中的最底層節(jié)點劃分為主觀屬性節(jié)點和客觀屬性節(jié)點;然后,專家根據(jù)esig圖給出對各屬性節(jié)點的猶豫模糊偏好關(guān)系,從而確定專家的權(quán)重向量與屬性的權(quán)重向量;接著,專家對最底層主觀屬性節(jié)點評分,最底層客觀屬性節(jié)點根據(jù)實際數(shù)值得出評分值;最后,計算最底層節(jié)點對應(yīng)的上層屬性節(jié)點的未確知測度,進而可確定對應(yīng)的上層屬性節(jié)點的評價得分與等級。依據(jù)同樣的方法,可確定其它上層屬性節(jié)點的未確知測度,自底向上逐層進行,進而可確定該軟件非功能需求的最終評價得分與等級。整個評價算法的流程如圖3所示。猶豫模糊集作為模糊集的一種推廣形式,允許元素到某個集合的隸屬度用[0,1]中多個可能的取值來表示,這使人們能夠更好地表達(dá)對不同目標(biāo)的偏好的猶豫度??梢?,猶豫模糊集能夠更加細(xì)致合理地描述軟件非功能需求屬性的不確定性。定義1,猶豫模糊集設(shè)非空集合x={x1,x2,…,xm},則從x到[0,1]的一個子集的函數(shù)稱為猶豫模糊集,記作:ha(x)={<x,ha(x)>|x∈x}(1)其中:ha(x)為區(qū)間[0,1]中幾個可能的數(shù)的集合,表示x∈x屬于集合a的可能的程度。為便于討論,稱ha(x)為猶豫模糊元。定義2,猶豫模糊偏好關(guān)系方案集{a1,a2,…,am}上的猶豫模糊偏好關(guān)系h為一個矩陣,h=(hij)m×m,其中,為猶豫模糊數(shù),表示方案ai對aj的所有可能的偏好程度,而且其需要滿足的條件為am表示第m個方案集,hij表示矩陣h中第i行第j列元素,i,j=1,2,…,m,表示hij中值的個數(shù),表示猶豫模糊數(shù)hij中的第s個元素。在實際評價中,專家使用自然語言而不是絕對的數(shù)值來表達(dá)對屬性的偏好程度是更為簡單易行、更為合理的方式。因此,本文給出了0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系的定義(見定義3),將自然語言分別對應(yīng)于0.1~0.9標(biāo)度(表1)來表示專家對屬性的偏好程度。表10.1~0.9標(biāo)度定義3,0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系屬性集a={a1,a2,…,am}上的猶豫模糊偏好關(guān)系g為一個矩陣,g=(gij)m×m,其中,gij為猶豫模糊數(shù),表示評價指標(biāo)ai對aj用0.1~0.9標(biāo)度表示的所有的偏好程度,ai表示第i個屬性;且滿足:假設(shè),對于屬性ai和aj某專家“至少強烈偏好”于ai,則此時用自然語言表示的偏好關(guān)系為hij={強烈偏好,非常強烈偏好,極端偏好},即hij={p2,p3,p4}。對應(yīng)的0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系hij={0.7,0.8,0.9}。設(shè)ai={a1,a2,…,am}為esig圖中某非功能需求屬性節(jié)點分解的子節(jié)點及對其存在“促進”和“抑制”影響的節(jié)點組成的屬性集。設(shè)專家集d={d1,d2,…,ds},專家集中除了不同領(lǐng)域的專家外,還應(yīng)當(dāng)包括需求分析師、軟件設(shè)計師、程序員和用戶等整個軟件生命周期中的主要參與者。設(shè)為專家dk給出的猶豫模糊語言偏好關(guān)系對應(yīng)的0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系。k在dk中表示共s個專家中的第k個專家,h(k)表示第k個專家給出的猶豫模糊語言偏好關(guān)系對應(yīng)的0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系。2.1專家權(quán)重向量確定算法當(dāng)有多位專家參與評價時,由于各專家自身知識背景和偏好不同,對評價問題的熟悉程度也不同,因此,對評價結(jié)果的影響程度是不同的。在以往的評價過程中,大多是直接給出專家的權(quán)重,或者采用簡單的算術(shù)平均來綜合各專家的意見,不能較好地反映各專家評價水平的差異,可能會對評價結(jié)果造成較大偏差。本文在猶豫模糊偏好關(guān)系的基礎(chǔ)上引入熵權(quán)法來確定專家的權(quán)重,很好地反映了專家對非功能需求屬性偏好的差異。定義4,ahfwa算子設(shè)hj(j=1,2,…,n)為一列猶豫模糊數(shù),調(diào)整的猶豫模糊加權(quán)算術(shù)平均(adjustedhesitantfuzzyweightedaveraging,ahfwa)算子為映射hn→h,即其中,為hj中第t小的值;ω=(ω1,ω2,…,ωn)t為hj(j=1,2,…,n)的權(quán)重向量,且ωj∈[0,1],特別地,當(dāng)ω=(1/n,1/n,…,1/n)t時,則ahfwa算子退化為調(diào)整的猶豫模糊算術(shù)平均(adjustedhesitantfuzzyaveraging,ahfa)算子,即其中,為hj中第t小的值。定義5,猶豫模糊元的得分函數(shù)設(shè)h(x)為定義在x∈x上的一個猶豫模糊元,則稱為猶豫模糊元h(x)的得分函數(shù),其中l(wèi)h表示猶豫模糊元h(x)中元素的個數(shù)。算法1,專家權(quán)重向量確定算法step1,采用ahfa算子,即根據(jù)式(5)將專家dk給出的屬性集ai中的所有猶豫模糊偏好值合成為整體猶豫模糊偏好值step2,根據(jù)猶豫模糊數(shù)的得分函數(shù),即根據(jù)式(6)計算得到整體猶豫模糊偏好值的得分表示專家dk對屬性集ai中屬性ai偏好程度的得分值。step3,計算專家dk的得分水平向量ei。ei=(ei1,ei2,…,eim)(7)其中,eij表示向量(ei1,ei2,…,eim)中任意一個元素,eim是向量ei中的一個元素,表示所有專家對屬性ai得分值的算術(shù)平均值,表示所有專家對屬性ai得分值的最大值。ei反映了專家dk對屬性集ai所做出的偏好程度的水平。step4,計算熵值zi。其中,不確定性程度用熵值表示,熵值越小,專家評分水平越高,可信度越高;反之,熵值越大,可信度越低。zij沒有具體含義,僅為計算熵值。e是自然對數(shù)的底。step5,計算專家權(quán)重ωi,并確定專家權(quán)重向量ω。ω=(ω1,ω2,…,ωs)(9)其中,且滿足0<ωi<1,zi的含義是熵值。2.2屬性權(quán)重向量確定算法在實際評價中,如果試圖通過分配給不同待評價屬性一些絕對數(shù)值作為評價意見,將會導(dǎo)致同一個評價者在評價過程中由于難于區(qū)分?jǐn)?shù)值間差異而造成評價意見的不穩(wěn)定性,同時,會大大增加專家的工作量。因此使用自然語言進行評價是一個更合理的方式。由于不同的決策者具有不同價值體系和考量,從而群體間的不一致是不可避免的。這就需要群體達(dá)成共識,群體共識是指群體中多數(shù)成員同意而少數(shù)不同意的成員認(rèn)為他們有合理的可能性來施加影響的決策。群體共識是解決群體決策問題的必由之路,因為它能夠確保最終得到的解被群體中的所有人所支持。本文提出的屬性權(quán)重向量確定算法不僅是一種主客觀綜合賦權(quán)法,同時是一種自動的群體共識達(dá)成算法。因為該算法能自動地達(dá)成群體共識,不需要專家之間頻繁地溝通與交流,可以為專家節(jié)省大量的時間,使用起來方便快捷。定義6,完美積極一致性猶豫模糊偏好關(guān)系設(shè)h=(hij)m×m為一個猶豫模糊偏好關(guān)系,則稱為h=(hij)m×m對應(yīng)的完美積極一致性猶豫模糊偏好關(guān)系,此處為便于表示,設(shè)c=(1-a)(1-b),則其中,和分別為hik(x)和hkj(x)中第t小的元素,t=1,2,…,l;算法2,屬性權(quán)重向量確定算法step1.設(shè)p為算法的迭代次數(shù),δ為步長,且滿足0≤ξ=pδ≤1,τ為群體共識性水平。令根據(jù)式(10)分別得到各專家給出的猶豫模糊偏好關(guān)系的完美積極一致性猶豫模糊偏好關(guān)系step2.采用ahfwa算子將所有的個體完美積極一致性猶豫模糊偏好關(guān)系合成為總體猶豫模糊偏好關(guān)系即其中,為中第t小的元素,ωk為專家dk的權(quán)重。step3.判斷所有的個體完美積極一致性猶豫模糊偏好關(guān)系是否達(dá)到可接受的一致性程度。具體為:計算各專家的個體完美積極一致性猶豫模糊偏好關(guān)系到總體猶豫模糊偏好關(guān)系的距離,即若(對所有k=1,2,…,s;τ為群體共識性水平)說明是可接受的,則轉(zhuǎn)step5;否則轉(zhuǎn)step4。step4.修正非一致性猶豫模糊偏好關(guān)系。具體為:令其中,式中,和分別為和中第t小的元素。令p=p+1,轉(zhuǎn)step2。step5.令采用ahfa算子,即根據(jù)式(5)將屬性集ai的所有猶豫模糊偏好關(guān)系值hij(j=1,2,…,m)合成為整體猶豫模糊偏好值hi。step6.根據(jù)猶豫模糊數(shù)的得分函數(shù),即根據(jù)式(6)計算得到整體猶豫模糊偏好值hi的得分wi。用wi來表示屬性集ai中屬性ai的權(quán)重。可得屬性權(quán)重向量w=(w1,w2,…,wm),進行歸一化處理,得w′=(w′1,w′2,…,w′m)(14)且滿足0<w′i<1,2.3專家意見的不確定性量化算法定義7,盲數(shù)概念設(shè)g(i)為一系列的灰區(qū)間ai(此處含義與上文定義不同)構(gòu)成的區(qū)間型灰數(shù)集合,則ai∈g(i),若i=1,2,…,n,f(x)為定義在g(i)上的灰函數(shù),且若ai≠aj,且則稱函數(shù)f(x)為一個盲數(shù)。稱αi為f(x)的ai值的可信度,稱α為f(x)的總可信度,稱n為f(x)的階數(shù)。由于專家的認(rèn)知行為具有主觀性和不確定性,在實際評價過程中,專家對屬性優(yōu)劣作出的評分值往往不是一個確定的點值,而最有可能是落在該點值附近且具有某一可信度的區(qū)間里。由于盲數(shù)是區(qū)間分布的可信度函數(shù),因此用它來表達(dá)專家對屬性優(yōu)劣程度的判斷是十分合理的。在運用盲數(shù)理論進行評價時,為了使決策結(jié)果更準(zhǔn)確,引入“專家可信度”的概念。專家可信度即專家的可信任程度,體現(xiàn)了專家在該領(lǐng)域中的權(quán)威性。一般地說,專家可信度可用表示,值越大,表示專家可信度越高。這樣,最值得人們信任的專家可信度為最不值得人們相信的專家可信度為設(shè)一組專家d1,d2,…,ds的可信度分別為令為專家di關(guān)于專家組d1,d2,…,ds的綜合可信度,簡稱為專家di的綜合可信度。設(shè)一組專家d1,d2,…,ds對屬性ai給出的打分區(qū)間序列分別為[xi1,yi1],[xi2,yi2],…,[xis,yis],專家可信度為可根據(jù)算法2對專家意見的不確定性進行量化。算法3,專家意見的不確定性量化算法step1,根據(jù)式(16)計算得到專家組d1,d2,…,ds的專家綜合可信度分別為α1,α2,…,αs。step2,對存在交叉現(xiàn)象的區(qū)間進行無交叉劃分,重新建立區(qū)間序列并計算新區(qū)間的可信度,得到屬性ai落在給定的標(biāo)準(zhǔn)評分區(qū)間的可能性。具體為:將區(qū)間序列的端點值由小到大排列得到新的無交叉區(qū)間序列為[ki1,ki1],[ki2,ki2],…,[kil,kil],按照比例分配法計算新區(qū)間的可信度ηi1,ηi2,…,ηil。將結(jié)果用盲數(shù)fi(x)表示,一般形式為step3,根據(jù)盲數(shù)fi(x)計算屬性ai落在給定的標(biāo)準(zhǔn)評分區(qū)間的可能性,得到新的盲數(shù)fi′(x),一般形式為得到屬性集ai的盲數(shù)矩陣其中l(wèi)為給定的標(biāo)準(zhǔn)區(qū)間個數(shù),m為由專家打分確定評分值的屬性的個數(shù)。本文解決了以下問題:1.軟件非功能需求是由多數(shù)定性的屬性和少數(shù)定量屬性組成的,而現(xiàn)有評價方法大多僅從客觀或者主觀單方面進行評價,為此,本文提出了一種主客觀融合的評價方法;2.在對非功能需求的評價時,評價者的知識領(lǐng)域、個人偏好及對系統(tǒng)的熟悉程度等的不同使得其評價結(jié)果具有不同的可信度,故應(yīng)當(dāng)為專家設(shè)置權(quán)重。在現(xiàn)有文獻的評價方法中或是直接由筆者給出專家權(quán)重,或是對專家主觀賦權(quán),或是對專家客觀賦權(quán),都不能較好地體現(xiàn)專家的權(quán)重問題,為此,本文提出了一種主客觀融合的專家賦權(quán)算法;3.非功能需求評價中,不同的屬性具有不同的權(quán)重,現(xiàn)有的評價方法雖然大多都考慮到了屬性的模糊性、主觀性和不確定性,使用了三角模糊數(shù)、梯形模糊數(shù)及灰色理論的來解決這一問題,然而這些方法僅表達(dá)了隸屬情況,不能表達(dá)非隸屬度和決策者的猶豫度,為此,本文提出了一種基于模糊偏好關(guān)系的屬性權(quán)重確定方法;4.非功能需求屬性間存在分解關(guān)系和相關(guān)關(guān)系,現(xiàn)有文獻中提到的評價方法基本都是將分解關(guān)系與相關(guān)關(guān)系分開考慮,在綜合這兩種關(guān)系后可能無法定量地權(quán)衡系統(tǒng)整體優(yōu)劣的問題,降低了評價結(jié)果的有效性和可信性。換句話說,如果將非功能需求間的分解關(guān)系和相關(guān)關(guān)系分開來考慮就無法定量地判斷出應(yīng)該選擇哪個屬性節(jié)點了,無法得知選擇哪個節(jié)點對某屬性總體來說是更好的。為此,在本文提出的評價方法中將非功能需求間的這兩種關(guān)系作為一個整體來考慮。本文中所給出的esig圖示例只是整個非功能需求很小的一部分,在實際的非功能需求中,需求的分解關(guān)系和相關(guān)關(guān)系是更為復(fù)雜的。提出的hfpr非功能需求模糊綜合評價算法將非功能需求的分解關(guān)系和相關(guān)關(guān)系集成在一起考慮,能有效地判斷屬性的綜合優(yōu)劣。實例分析:以某“機票網(wǎng)上訂購系統(tǒng)”的非功能需求為例建立esig圖模型并進行評價,從而說明所提出的評價算法的合理性與有效性。由于非功能需求的分類沒有統(tǒng)一的標(biāo)準(zhǔn),所以不同的人建立的esig圖模型也會有所不同。對“機票網(wǎng)上訂購系統(tǒng)”的部分非功能需求建立的eisg圖模型如圖4所示。如圖4所示,“s0”節(jié)點表示需要最終評價的系統(tǒng)非功能需求,“s3-5”表示圖中第3層(根節(jié)點為第0層)從左往右數(shù)的第5個節(jié)點。為便于計算說明,本文僅以“時間”(s2-9節(jié)點)屬性為例給出評價算法的整個過程?!皶r間”節(jié)點分解為“響應(yīng)時間”和“處理時間”兩個子節(jié)點,并且需同時實現(xiàn)這兩個節(jié)點才能滿足“時間”節(jié)點,“rsa加密”和“des加密”對“時間”存在“抑制”影響。對這4個節(jié)點按需要主觀或客觀評分進行劃分,由于“rsa加密”和“des加密”對“時間”的抑制影響很難從它們的實際數(shù)值反映出來,故采用專家打分的方式給出評分值。因“響應(yīng)時間”和“處理時間”可以通過時間數(shù)值的大小很好地反映其優(yōu)劣,故使用客觀的方式獲得評分值。同理,對其它最底層節(jié)點進行劃分。構(gòu)造猶豫模糊偏好關(guān)系構(gòu)建由3個專家組成的專家集d={d1,d2,d3},專家對s3-5,s3-6,s3-12,s3-13這4個屬性進行兩兩比較后,用表1中表示偏好的自然語言表達(dá)了他們對這4個屬性的偏好程度,構(gòu)造的0.1~0.9標(biāo)度猶豫模糊偏好關(guān)系分別為矩陣h1、h2和h3。確定專家的權(quán)重向量根據(jù)算法1確定專家的權(quán)重向量,求解過程如下。step1.根據(jù)式(5)將3個專家給出的所有猶豫模糊偏好值合成為整體猶豫模糊偏好值計算得到專家d1給出的所有猶豫模糊偏好值合成的整體猶豫模糊偏好值為同理可求得其他值。step2.根據(jù)猶豫模糊數(shù)的得分函數(shù),即根據(jù)式(6)計算得到整體猶豫模糊偏好值的得分值計算得step3.根據(jù)式(7)計算專家dk的得分水平向量ei。計算得e1=(0.957,0.993,0.995,0.953)e2=(0.980,0.985,0.976,0.970)e3=(0.977,0.991,0.981,0.983)step4.根據(jù)式(8)計算熵值zi。計算得z1=0.099,z2=0.088,z3=0.066。step5.計算專家權(quán)重ωi,并確定專家權(quán)重向量ω。計算得ω=(0.275,0.31,0.415)。確定屬性權(quán)重向量根據(jù)算法2確定屬性權(quán)重向量,求解過程如下。step1.令(h(k))(p)=h(k)(k=1,2,3),p=1,根據(jù)式(10)分別得到各專家給出的猶豫模糊偏好關(guān)系對應(yīng)的完美積極一致性猶豫模糊偏好關(guān)系計算得step2.根據(jù)下式:將所有的個體完美積極一致性猶豫模糊偏好關(guān)系合成為總體猶豫模糊偏好關(guān)系其中上式為現(xiàn)有技術(shù)屬性權(quán)重向量確定算法中,采用ahfwa算子將所有的個體完美積極一致性猶豫模糊偏好關(guān)系合成為總體猶豫模糊偏好關(guān)系其中,為中第t小的元素,ωk為專家dk的權(quán)重。計算得step3.判斷所有的個體完美積極一致性猶豫模糊偏好關(guān)系是否達(dá)到可接受的一致性程度。根據(jù)式(12)計算距離得不失一般性,令共識性水平τ=0.1。可知,此時和都大于0.1,因此需要修正這些個體猶豫模糊偏好關(guān)系,轉(zhuǎn)step4。step4.修正非一致性猶豫模糊偏好關(guān)系。令ξ=0.7,根據(jù)式(13)分別構(gòu)造新的個體猶豫模糊偏好關(guān)系令p=2,返回step2,最后可計算得到新的距離此時,所有的轉(zhuǎn)step5。step5.令根據(jù)式(5)將所有猶豫模糊偏好關(guān)系值hij(j=1,2,3,4)合成為整體猶豫模糊偏好值hi。計算得h1={0.315,0.458,0.545},h2={0.485,0.537,0.694},h3={0.444,0.519,0.633},h4={0.391,0.503,0.597}。step6.根據(jù)式(6)計算得到整體猶豫模糊偏好值hi的得分wi,wi表示屬性ai的權(quán)重。計算得w=(0.439,0.572,0.532,0.495),對w進行歸一化得w′=(0.215,0.281,0.261,0.243)。確定節(jié)點的評分值矩陣將節(jié)點的得分區(qū)間定義為[-100,0]和[0,100]。對其它節(jié)點存在“抑制”影響的節(jié)點使用區(qū)間[-100,0]的給出評分值,將此區(qū)間細(xì)分為[-100,-75]、(-75,-50]、(-50,-25]和(-25,0]4個標(biāo)準(zhǔn)評分等級區(qū)間,節(jié)點的“抑制”影響越大,得分值越小。其他節(jié)點使用區(qū)間[0,100]給出評分值,同樣地,將區(qū)間細(xì)分為[0,25]、(25,50]、(50,75]和(75,100]4個標(biāo)準(zhǔn)評分等級區(qū)間。打分可以跨區(qū)間進行,為便于計算,設(shè)區(qū)間的端點值為5的整數(shù)倍,評分區(qū)間為一個閉區(qū)間。專家們對客觀屬性節(jié)點“響應(yīng)時間”和“處理時間”給出的評分區(qū)間對照表如表2所示。表2“響應(yīng)時間”和“處理時間”的評分區(qū)間對照表時間取值(單位:s)對應(yīng)得分區(qū)間(-∞,10-7][75,100][10-7,10-5][50,75][10-5,10-3][25,50][10-3,+∞)[0,25]需求文檔中指出,應(yīng)滿足在10000次測試中,“響應(yīng)時間”落在時間區(qū)間(-∞,10-7]在9000次左右,落在時間區(qū)間[10-7,10-5]在1000次左右;“處理時間”落在時間區(qū)間(-∞,10-7]在8000次左右,落在時間區(qū)間[10-7,10-5]在2000次左右。所以得到“響應(yīng)時間”和“處理時間”的評分值落在各等級區(qū)間的可能性函數(shù)分別為專家d1,d2,d3的可信度分別為專家對主觀屬性節(jié)點s3-5和s3-6給出的打分結(jié)果如表3所示。表3專家評分屬性節(jié)點專家d1專家d2專家d3s3-5[-30,-20][-50,-40][-40,-20]s3-6[-35,-5][-55,-10][-25,-10]根據(jù)算法3對專家意見的不確定性進行量化,求解過程如下。step1.根據(jù)式(16)計算得到專家d1,d2,d3的專家綜合可信度分別為α1,α2,α3。求得α1=0.308,α2=0.327,α3=0.365step2.對表3中存在交叉現(xiàn)象的區(qū)間進行無交叉劃分,重新建立區(qū)間序列并計算新區(qū)間的可信度,得到的f1(x)為step3.計算屬性落在給定的標(biāo)準(zhǔn)評分區(qū)間的可能性,計算得得到屬性節(jié)點s3-5和s3-6評分值的盲數(shù)矩陣所以,這4個屬性落在各評分等級區(qū)間的可能性函數(shù)fi′(x)組成的評分值盲數(shù)矩陣為計算未確知測度并確定得分將評分值盲數(shù)矩陣與對應(yīng)的權(quán)重向量進行合成便可得到未確知測度值。由圖4可知實現(xiàn)節(jié)點“s3-5rsa加密”或“s3-6des加密”其中之一便可實現(xiàn)“s2-9安全性”節(jié)點。如果選擇“s3-5”節(jié)點,將屬性權(quán)重重新歸一化為同時將評分值盲數(shù)矩陣調(diào)整為此時,“s2-9”節(jié)點的未確知測度計算得如果選擇“s3-6”節(jié)點,計算得到“s2-9”節(jié)點的未確知測度設(shè)分值向量μ=(-100,-75,-50,-25,25,50,75,100),將分值向量與未確知測度相乘即為最終得分。分別選擇節(jié)點“s3-5”和“s3-6”,求得的上層節(jié)點“時間”屬性的最終得分分別為同理,可求得“s2-10”節(jié)點的未確知測度為x2-10=(0,0,0,0,0,0,0.182,0.818)。如果選擇節(jié)點“s3-6”,可得節(jié)點“s2-9”和“s2-10”落在各評分等級區(qū)間的可能性函數(shù)fi′(x)組成的評分值盲數(shù)矩陣為求得節(jié)點“s2-9”和“s2-10”的屬性權(quán)重向量w1-4=(0.452,0.548)。進一步計算得到節(jié)點“s1-4”的未確知測度進而計算得到節(jié)點“s1-4”,即“性能”屬性的最終得分同理,可求得其它屬性節(jié)點的未確知測度,自底向上逐層計算,即可求得系統(tǒng)非功能需求的最終得分。結(jié)果分析說明從計算得到的“時間”屬性的得分可知,選擇節(jié)點“s3-5”時,“時間”屬性的評分值更高,因此從對“時間”屬性的影響來看,選擇“rsa加密”是更為理想的。然而,對于整個系統(tǒng)的非功能需求來講,選擇“rsa加密”并不一定是較優(yōu)的。因為該屬性還是“安全性”屬性的分解節(jié)點,對其有貢獻作用,從而影響整個系統(tǒng)的非功能需求的優(yōu)劣。同時,本文中所給出的esig圖示例只是整個非功能需求很小的一部分,在實際的非功能需求中,需求的分解關(guān)系和相互影響關(guān)系是更為復(fù)雜的。從整個非功能需求的優(yōu)劣來看,只有分別選擇待選屬性后重新計算,然后根據(jù)系統(tǒng)的得分才能更為全面地判斷如何選擇屬性。同時,也可以根據(jù)具體需要從局部來考量做出權(quán)衡,靈活性好。現(xiàn)有技術(shù)中將需求間的分解關(guān)系和相關(guān)關(guān)系分開來考慮,在權(quán)衡時可能會出現(xiàn)無法確定優(yōu)劣的問題。比如,假設(shè)“rsa加密”對“安全性”的貢獻大于“des加密”,而“rsa加密”對“時間”的抑制影響也大于“des加密”?,F(xiàn)有技術(shù)的方法就無法定量地判斷出應(yīng)該選擇哪個屬性節(jié)點了,因為無法得知這兩個節(jié)點對“時間”的貢獻及抑制影響的綜合情況。而且現(xiàn)有研究中的方法大多僅僅從促進抑制影響的個數(shù)來考慮需求間的相關(guān)關(guān)系,不能切實地反映影響的程度。文本算法將非功能需求的分解關(guān)系和相關(guān)關(guān)系集成在一起考慮,能有效地判斷屬性的綜合優(yōu)劣,體現(xiàn)了算法在非功能需求評價問題中的先進性。以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。當(dāng)前第1頁12