亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于加權(quán)調(diào)整的新需求代碼量量化評估方法及系統(tǒng)的制作方法

文檔序號:6604117閱讀:217來源:國知局
專利名稱:一種基于加權(quán)調(diào)整的新需求代碼量量化評估方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機軟件開發(fā)技術(shù)領(lǐng)域,涉及一種新需求產(chǎn)生代碼量的量化評估方 法及其系統(tǒng)。
背景技術(shù)
Standish Group于1995年對8000個項目進(jìn)行分析,結(jié)果表明31%的項目在完 成之前被迫取消,52. 7%的項目曾陷入困境,只有16. 2%的項目取得成功。在2004年, Standi sh Group又對13522個軟件項目進(jìn)行調(diào)查,結(jié)果表明18%的項目失敗,53%的項目 遭到質(zhì)疑,僅有29%的項目是成功的。軟件項目經(jīng)常以失敗告終,其中一個重要原因是需求 經(jīng)常處于演化之中?,F(xiàn)有的研究表明,軟件項目中需求的演化非常頻繁,并且在很大程度上 決定了軟件項目的成敗。軟件項目的開發(fā)人員通常希望在需求獲取階段確定所有的需求,并且在整個軟件 開發(fā)過程中需求都不發(fā)生變化。然而,軟件開發(fā)的實踐表明,需求的演化存在于整個軟件 開發(fā)的生命周期。Ebert等人展示了一個實際的軟件項目的演化過程,結(jié)果表明該項目在 僅僅2年內(nèi)就有多于30%的需求發(fā)生了變化(參考文獻(xiàn)“C.Ebert,“ Understanding the Product Life Cycle :Four Key Requirements Engineering Techniques " . IEEE Software,May/Jun, 2006, 23 (3) 19-25")。而對不斷變化的需求進(jìn)行管理是一件十分困難 的事情。當(dāng)需求發(fā)生演化時,需要對演化帶來的影響進(jìn)行評價和分析,以便采取相應(yīng) 的處理措施。精確的估算方法將有利于上層決策者對于軟件演化做出準(zhǔn)確的分析 和決策,從而保證軟件項目順利完成。然而,正如Knethen所指出,現(xiàn)有研究中缺乏 準(zhǔn)確的方法來估算需求演化的影響(參考文獻(xiàn)“A. Knethen, “ Change-Oriented Requirements Traceability Support for Evolutionof Embedded Systems " . 18th IEEE International Conference on Software Maintenance(ICSM ' 02),2002 0482”)。Yan的研究也認(rèn)為目前缺乏對于需求演化產(chǎn)生的影響量化分析的方法(參考文 獻(xiàn)“Y.Yan,S.Li,X. Liu. “ Quantitative Analysis for Requirements Evolution' s Ripple-Effect" .2009 International Asia Conference on Informatics in Control, Automation and Robotics,2009”)。需求演化分為增加新需求、修改需求和刪除需求三種演化方式。修改和刪除兩種 演化方式是針對軟件項目已有的需求進(jìn)行的操作,上述方法可以較好地適用于這兩種演化 方式。而增加新需求則是對軟件項目增加一條新需求,以完成一個新添加的功能。要滿足 新需求一般需要向已完成的軟件代碼中添加一定量的新代碼。由于新需求所需的代碼尚未 實現(xiàn),無法利用上述方法對新需求所需的代碼規(guī)模進(jìn)行估算。新需求的增加是需求演化的一種形式。由于缺乏新需求與已有需求或代碼間的直 接聯(lián)系,因而對于新需求的代碼規(guī)模的估算十分困難。現(xiàn)有的需求演化影響分析方法中,能夠預(yù)測代碼變更量的方法比較少。已有方法主要分為兩類,一類是根據(jù)代碼中的調(diào)用關(guān)系進(jìn)行估算;一類是根據(jù)需求間的依賴關(guān)系進(jìn) 行估算。(1)根據(jù)代碼調(diào)用關(guān)系的估算需求演化代碼影響量的方法(參考文獻(xiàn): “Franck Xia, Praveen Srikanth. “ A Change Impact Dependency Measure for Predicting the Maintainability ofSource Code, " . compsac, vol. 2,28th Annual International Computer Software and ApplicationsConference-fforkshops and Fast Abstracts-(COMPSAC' 04), 2004 22-23")當(dāng)一個需求發(fā)生變化的時候,由于受到這個變 化導(dǎo)致代碼中某部分直接受到影響,影響根據(jù)代碼的調(diào)用與被調(diào)用關(guān)系擴散,并且隨著調(diào) 用層次的增加,受到的影響逐漸變小。對受到影響的代碼量進(jìn)行求和,作為需求影響值。(2)根據(jù)需求依賴關(guān)系的估算需求演化代碼影響量的方法(參考文獻(xiàn)“楊鶴標(biāo), 張繼敏,朱玉全.一種需求變更影響的評估算法.計算機工程,2006,32 (23) :82_84”)根 據(jù)需求依賴關(guān)系,建立由需求依賴樹形成的森林。當(dāng)依賴源需求發(fā)生變化,會對依賴目標(biāo)需 求產(chǎn)生影響,影響通過依賴關(guān)系從源需求向目標(biāo)需求傳遞。對受到影響的需求對應(yīng)的工作 量求和,作為需求的影響值。以上兩類方法在估算影響時,都需要首先確定演化的需求所對應(yīng)的代碼,而對于 增加的新需求,則不能夠?qū)⑿滦枨笈c已有代碼建立有效的關(guān)聯(lián)關(guān)系,所以無法準(zhǔn)確估算新 需求將要產(chǎn)生的代碼量。

發(fā)明內(nèi)容
鑒于量化新需求代碼規(guī)模的重要性以及現(xiàn)有方法的局限性,本發(fā)明通過基于加權(quán) 調(diào)整的新需求代碼規(guī)模的估算方法(the Estimation Method for the Code size of New Requirementsusing Weight, EMCNR-ff)對代碼變更量進(jìn)行量化分析,并實現(xiàn)了基于EMCNR-W 方法的自動化評估系統(tǒng)。即本發(fā)明的目的之一在于提供一種基于加權(quán)調(diào)整的新需求代碼規(guī) 模的評估方法其能夠估算新需求將要產(chǎn)生的代碼量,從而當(dāng)軟件項目增加新需求的時候, 能夠有效的幫助項目管理者降低軟件項目失敗的風(fēng)險;本發(fā)明的另一目的為提供一種自動 化評估系統(tǒng)。為了實現(xiàn)本發(fā)明的第一目的,本發(fā)明采用的技術(shù)方案為一種新需求產(chǎn)生代碼量的量化評估方法,其步驟包括1)根據(jù)設(shè)定的需求特征對數(shù)據(jù)庫中某軟件項目已有的N個需求進(jìn)行特征提??;2)選取該項目中m個需求的特征提取數(shù)據(jù)(RS1,Rs2,Rsi,RsJ作為訓(xùn)練數(shù)據(jù), 其中0 < m < N ;3)將m個需求中每個需求的特征提取數(shù)據(jù)Rsi分別與除該需求外的已有需求的特 征提取數(shù)據(jù)計算距離,并計算相應(yīng)的影響權(quán)重wu,設(shè)置軟件項目的調(diào)整參數(shù)γ = 1,計算需 求Rsi的代碼量估算值Esi;4)求出比值廣,其中,i = l...m,LSi為實際代碼量;取調(diào)整參數(shù)Y的值為所
L Si
有的比值Yi的平均值;5)根據(jù)設(shè)定的需求特征對該軟件項目的新需求進(jìn)行特征提??;6)利用1)和5)的特征提取數(shù)據(jù)對每一新需求Rnewi與該N個已有需求計算距離
5
7)根據(jù)新需求Rnewi與N個已有需求之間的距離計算需求相互影響的權(quán)重;8)根據(jù)公式年=廣C,計算新需求的代碼量估算值E”其中
為已有需求Rj對新需求Rnewi的影響權(quán)重,Lj為已有需求民的實際代碼量。所述設(shè)定的需求特征包括需求描述質(zhì)量、需求內(nèi)容質(zhì)量、需求文本長度、需求依賴 密度、開發(fā)團隊綜合能力。進(jìn)一步,將特征提取的需求特征值映射到一個相同的取值區(qū)間。所述特征提取數(shù)據(jù)保存為XML格式。所述計算距離采用了歐式距離法,或者使用向量內(nèi)積法、向量余弦系數(shù)法、Dice系 數(shù)法、Jaccard系數(shù)法。所述需求之間的距離與需求相互影響的權(quán)重之間成反比。進(jìn)一步,需求影響權(quán)重與需求間距離的三次方成反比。所述步驟7)軟件項目已有的N個需求對于新需求Rnewi的影響權(quán)重之和為1,即
Ix;1。
7=1為了實現(xiàn)本發(fā)明的另一目的,采用的技術(shù)方案是一種基于加權(quán)調(diào)整的新需求代碼規(guī)模的估算系統(tǒng),其包括特征提取模塊、影響權(quán) 重計算模塊、調(diào)整參數(shù)Y訓(xùn)練模塊、代碼量預(yù)測模塊;所述特征提取模塊,用于根據(jù)設(shè)定的需求特征對軟件項目的每個需求進(jìn)行特征提 取;所述需求影響權(quán)重計算模塊,用于提供所需的權(quán)重計算算法,對輸入的需求數(shù)據(jù) 進(jìn)行影響權(quán)重的計算;所述調(diào)整參數(shù)Y訓(xùn)練模塊,用于根據(jù)特征提取的數(shù)據(jù),調(diào)用需求影響權(quán)重計算法 模塊的接口,訓(xùn)練調(diào)整參數(shù)Y,獲得估算公式;所述代碼量預(yù)測模塊,用于根據(jù)新需求和已有需求的特征提取后的數(shù)據(jù),調(diào)用影 響權(quán)重計算模塊的接口并利用所述估算公式,預(yù)測每一新需求將要產(chǎn)生的代碼量。上述系統(tǒng)還包括測試驗證模塊,對代碼量預(yù)測模塊估算出來的新需求代碼量與實 際代碼量進(jìn)行比較,驗證估算方法的有效性。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點和技術(shù)效果如下(1)本發(fā)明的方法將新需求與軟件項目已有需求計算相似度,使用全部已有需求 的特征數(shù)據(jù),能夠準(zhǔn)確的量化新需求將要產(chǎn)生的代碼量。(2)本發(fā)明根據(jù)EMCNR-W方法實現(xiàn)的估算系統(tǒng),在用戶輸入根據(jù)需求特征提取的 數(shù)據(jù)后,能夠自動化的預(yù)測新需求將要產(chǎn)生的代碼量,并且能夠直觀顯示估算結(jié)果。


圖1為本發(fā)明的EMCNR-W方法執(zhí)行示意圖;圖2為本發(fā)明的EMCNR-W方法訓(xùn)練調(diào)整參數(shù)、并獲得估算公式的流程圖;圖3為本發(fā)明的EMCNR-W方法預(yù)測新需求的代碼量流程圖4為本發(fā)明的自動化評估系統(tǒng)流程圖;
具體實施例方式下面結(jié)合附圖和具體實施方式
對本發(fā)明進(jìn)行詳細(xì)的介紹。如圖1所示為本發(fā)明方法的執(zhí)行示意圖,本發(fā)明的EMCNR-W方法是一種針對新需 求與已有需求進(jìn)行相似性比較,來估算新需求的代碼量的方法,能夠準(zhǔn)確的量化新需求將 要產(chǎn)生的代碼量。對于一個已開發(fā)了 η條需求(R1, R2, ...,Rn)的軟件項目,要對軟件項目中增加的 一個新需求Rnrati將要產(chǎn)生的代碼量Lnrati進(jìn)行估算,可以直接使用需求之間的距離作為需求 的相似性,與Rnrati越接近的&對Lnrati的影響越大,與Rmwi越疏遠(yuǎn)的&對Lmwi的影響越小。 為了表示影響的大小關(guān)系,給每一個需求民對于新需求Rmwi的影響加上一個權(quán)重Wu。并
η
且,設(shè)Σ%=1。
M如圖2所示為訓(xùn)練調(diào)整參數(shù)Y并獲得估算公式的流程圖,訓(xùn)練調(diào)整參數(shù)Y,獲得 估算公式包括以下步驟1)對已有的N個需求進(jìn)行特征提取選擇需求描述質(zhì)量、需求內(nèi)容質(zhì)量、需求文本 長度、需求依賴密度、開發(fā)團隊綜合能力作為需求特征。進(jìn)一步的,將特征提取的需求特征 值映射到一個相同的取值區(qū)間;每個需求的特征提取數(shù)據(jù)保存為XML格式,格式如下XML格式表士 <xml>士 <reqname=〃 Rl" ><attrid=〃 1〃 >6</attr><attr id = 〃 2" >8</attr><attr id = 〃 3〃 >5</attr><attr id = 〃 4〃 >10</attr><attr id = 〃 5〃 >6</attr><code>808</code></req>士 <reqname=〃 R2〃 ><attr id =〃 1〃 >4</attr><attr id = 〃 2" >4</attr><attr id = 〃 3〃 >3</attr><attr id = 〃 4〃 >l</attr><attr id = 〃 5〃 >8</attr><code>409</code></req>士 <reqname=〃 R3〃 >士 <reqname=〃 R4〃 >士 <reqname=〃 R5〃 >
7
士 <reqname=〃 R6〃 >士 <reqname=〃 R7〃 >士 <reqname=〃 R8〃 >士 <reqname=〃 R9〃 >士<reqname=〃 R10〃 type =" new" ><attr id =〃 1〃 >6</attr><attr id = 〃 2" >5</attr><attr id = 〃 3〃 >3</attr><attr id = 〃 4" >2</attr><attr id = 〃 5" >6</attr><code>461</code></req>士<reqname=〃 Rll〃 type = " new" ></xml>格式說明如下(l)<req name = " R1 〃 >. . . </req>為一個編號為R1的已有需求的全部數(shù)據(jù)。 需求編號是一個字符串,與需求一一對應(yīng),不可重復(fù)。其中包含有<attr id=〃 1" >6</ attr> 和 <code>808</code> 兩種標(biāo)簽;(2)<attr id = “ 1" >6</attr>為編號為1的需求特征,其特征值為6。需求特 征編號不可重復(fù),并且為連續(xù)編號的正整數(shù),需求特征編號與需求特征一一對應(yīng)。一個需求 可以有多個需求的特征,每個特征的特征值為數(shù)值型字符串;(3)<code>808</code>說明需求對應(yīng)的代碼量為808。一個需求只能有一個代碼 量,并且代碼量為數(shù)值型字符串;(4) <req name = “ R10〃 type = “ new" >. . . </req> 為一個編號為 R10 的新需 求的全部數(shù)據(jù)。req標(biāo)簽中的屬性type =" new",說明此需求為新需求。新需求可以包 含的數(shù)據(jù)同已有需求相同,包含多個需求特征以及一個可選的需求代碼量。如果新需求中 包含代碼量,則可以將方法估算值與該代碼量進(jìn)行誤差分析;如果不包含,則僅進(jìn)行估算。2)選擇該軟件項目中的m(0 < m < N)個需求(RS1,RS2,. . .,RSi,. . .,RSm)作為訓(xùn) 練數(shù)據(jù),以獲得調(diào)整參數(shù)、;3)設(shè)置調(diào)整參數(shù)、=1,對選擇的訓(xùn)練數(shù)據(jù)中的每一個需求RSi分別與除該需求 外的已有需求的特征提取數(shù)據(jù)計算相似度,并計算相應(yīng)的影響權(quán)重,最后計算該需求RSi的
實際代碼量LSi與其代碼量估算值ESi的比值 4)將
作為針對當(dāng)前軟件項目的調(diào)整系數(shù)。5)得到估算公式 如圖3所示,為本發(fā)明方法的流程圖,包括新需求特征提取的步驟、計算已 有需求民對新需求Rmwi的影響權(quán)重^的步驟、計算新需求RnOTi的代碼量參考值
德步驟、使用估算公式
計算新需
求Rnrati代碼量估算值的步驟。以下詳細(xì)進(jìn)行說明,本發(fā)明提出的EMCNR-W方法可以分為兩大步驟第一步驟,訓(xùn) 練調(diào)整參數(shù)Y,獲得估算公式;第二步驟,估算新需求將要產(chǎn)生的代碼量。(一 )訓(xùn)練調(diào)整參數(shù)Y,獲得估算公式;REIA-W方法提出一個估算新需求RnewJf要產(chǎn)生的代碼量的方法,并給出估算公式
其中,
丄為新需求Rnewi代碼量
參考值,而Y為調(diào)整參數(shù)。Y是根據(jù)估算的軟件項目而定制的調(diào)整參數(shù),使得估算公式更 加準(zhǔn)確的應(yīng)用于某一個軟件項目。Vij為已有需求民對新需求Rnewi的影響權(quán)重屯為已有 需求&的代碼量。訓(xùn)練調(diào)整參數(shù)Y的步驟主要有以下四步(1)已有需求的特征提?。灰驗樽罱K的目的是為了量化新需求將要產(chǎn)生的代碼量,所以在進(jìn)行需求特征提取 的時候,只選擇與需求對應(yīng)代碼量相關(guān)聯(lián)的需求特征。最終選擇的特征是需求描述質(zhì)量、需 求內(nèi)容質(zhì)量、需求文本長度、需求依賴密度、開發(fā)團隊綜合能力作為需求特征。在此,不使用 通常的文本相似度計算時所用到的文本特征(特征詞),主要的原因是同一個軟件的需求 的描述比較相似,因而文本特征對于不同需求的區(qū)分度不夠,如果摻入文本特征將會對于 需求固有的特征造成一定的影響。在進(jìn)行需求特征提取時,為了保證每個需求特征在相似度計算的效果的有效性, 應(yīng)將每個需求特征值映射到一個相同的取值區(qū)間中,比如
,其中0表示“非常差/非 常短/非常弱”,10表示“非常好/非常長/非常強”。對于一個軟件項目的已有的N個需求進(jìn)行特征提取,并生成需求特征提取后的 XML格式的數(shù)據(jù)文件,如XML格式表所示。(2)選擇訓(xùn)練調(diào)整參數(shù)的訓(xùn)練數(shù)據(jù);數(shù)據(jù)選擇時,應(yīng)該去除掉比較明顯的不合理數(shù)據(jù),以避免對于估算方法的影響,使 得估算公式盡量的準(zhǔn)確。不合理數(shù)據(jù)包括軟件項目開發(fā)過程中,工作量極大和極小的需 求,或者工作量明顯偏離當(dāng)時估算值的。最終,選擇該軟件項目中的m(0<m<N)個需求 (Rsi,Rs2,. .. ,Rsi,... , Rsm)作為訓(xùn)練數(shù)據(jù)。(3) Yi 的計算;設(shè)置調(diào)整參數(shù)Y取值為1,將選擇的訓(xùn)練數(shù)據(jù)(m個需求)中的每一 個需求Rsi作為新需求,將另外N-I個已有的需求作為軟件項目已有需求,使用
計算需求Rsi的代碼量估算值Esi,又根據(jù)需求Rsi的
實際代碼量Lsi,從而計算7 =。(4)計算調(diào)整參數(shù)Y ; 為了使得估算公式更加的準(zhǔn)確,對m個γ i取均值,將
作為針對當(dāng)前軟件項目的調(diào)整參數(shù),并帶入估算公式用于當(dāng)前軟件項目的新需求估算。( 二)估算新需求將要產(chǎn)生的代碼量;(1)新需求的特征提取;選擇與步驟(一)(1)中相同的需求特征以相同的標(biāo)準(zhǔn)對新需求進(jìn)行需求特征的 提取,并生成相同格式的數(shù)據(jù)。(2)計算需求距離Du ;計算每一個新需求Rnewi與已有需求民之間的距離Du。此步驟中的計算距離算法, 使用上一步中需求特征提取的數(shù)據(jù),并且使用與(一)(3)中相同的計算距離的方法。距離 Djj越小表示Rmwi與民越相似,D^.越大表示Rmwi與民越相異;(3)對于新需求RMwi,每一個軟件已開發(fā)的需求&都對Rmwi的代碼量有一定的影
n
響,設(shè)需求Rmwi受民的影響的權(quán)重為Wu。由于2] W y = 1并且越小^越大,
越大越小。當(dāng)歷史數(shù)據(jù)較為密集的時候,數(shù)據(jù)間的距離0。.普遍偏小,而此時可能導(dǎo)致 ffij的值差異較小,因而可能對估算方法準(zhǔn)確性造成一定的影響。為了避免這個問題,將 進(jìn)行3此方運算,以擴大數(shù)據(jù)間的距離,即,認(rèn)為權(quán)重與的3次方成反比。計算的 公式推理過程如下計算需求相互影響的權(quán)重;
n1
V ~1-根據(jù)公式⑶給出的Mti D 3方法,使用計算相應(yīng)
W — -J1_ ^ _11_
0 ~ D 3 D 3 U ij U ij
V(4)估算新需求的代碼量;按照EMCNR-W估算公式,新需求Rmwi的代碼量估算值為E t = y -C i = r -■ L j)
7 = 1其中,Y為(一)中獲得的調(diào)整參數(shù);Wij為已有需求民對新需求影響權(quán) 重屯為已有需求民的代碼量。如圖4所示,為本發(fā)明自動化評估系統(tǒng)流程圖。以下結(jié)合實例對操作各部分進(jìn)行具體說明。實例為辦公自動化軟件項目 OfficeAutomation,該軟件項目自2002年開始開發(fā)并不斷維護(hù)升級,主要應(yīng)用于實驗室內(nèi) 部人員的工作記錄。該軟件項目共有11個大的功能模塊(具體功能及描述參照表1中需 求對應(yīng)模塊一欄的11個功能模塊),按照這11個大的功能模塊,對應(yīng)將需求歸類為11個大 類的功能需求并編號為隊,R2,R3,. . .,Rn,每大類的功能需求氏的實現(xiàn)一個對應(yīng)的功能模 塊,i的取值范圍是1到11。實驗的主要過程如下啟動分析系統(tǒng)對數(shù)據(jù)進(jìn)行特征提?。贿x擇需求數(shù)據(jù)文件, 可以直接輸入調(diào)整參數(shù)Y,并調(diào)用估算算法函數(shù),計算出評估結(jié)果,但是為了得到更精確 的代碼量數(shù)據(jù),需要對訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練以獲得調(diào)整參數(shù)Y ;然后使用估算公式進(jìn)行預(yù)測。(1)歷史經(jīng)驗數(shù)據(jù)與測試數(shù)據(jù)的劃分選擇這11個功能需求中的隊至R9作為歷史經(jīng)驗數(shù)據(jù),而將需求R1(l和Rn作為測 試數(shù)據(jù)。即把需求禮至R9作為當(dāng)前軟件項目已經(jīng)開發(fā)完成的需求,而將R1(l和、視作新需 求,使用EMCNR-W方法分別估算兩個新需求將要產(chǎn)生的代碼量,并將估算代碼量與實際代 碼量作比較,以驗證估算方法的有效性。(2)需求特征提取此步驟中,需要完成對于全部需求的特征提取工作,包括已有需求與新需求。在選取需求特征時,使用需求描述質(zhì)量、需求內(nèi)容質(zhì)量、需求描述的文本長度、需 求依賴密度、開發(fā)團隊綜合能力作為需求特征。進(jìn)行需求特征提取,并將每個需求特征值映 射到
區(qū)間中,其中0表示“非常差/非常短/非常弱”,10表示“非常好/非常長/ 非常強”。需求特征值以及需求對應(yīng)代碼量統(tǒng)計結(jié)果如表1 表1需求特征值以及需求對應(yīng)代碼量統(tǒng)計結(jié)果 經(jīng)過需求特征提取后的需求數(shù)據(jù),需要保存為XML格式表所示的格式,以供下一 步計算使用。(3)訓(xùn)練調(diào)整參數(shù)Y按照訓(xùn)練調(diào)整參數(shù)Y過程的描述,首先需要從軟件以開發(fā)需求中選擇一部分需 求作為訓(xùn)練數(shù)據(jù)。為了能夠獲得相對準(zhǔn)確的調(diào)整參數(shù)Y,去除掉歷史需求數(shù)據(jù)(禮至仏)中 代碼量最小的需求R4和最大的需求R8,而將需求禮、R2> R3、R5> R6> R7和R9作為訓(xùn)練調(diào)整參 數(shù)Y的訓(xùn)練數(shù)據(jù)使用。分別將訓(xùn)練數(shù)據(jù)中的每一個需求Ri視為新需求,將其余的8個軟件已開發(fā)的需求 作為歷史經(jīng)驗數(shù)據(jù),利用估算方法對需求Ri的代碼量估算值Ei進(jìn)行計算,然后計算需求Ri 的實際值Li與代碼量估算值Ei的比值Yi,最后計算軟件項目的調(diào)整參數(shù)Y。設(shè)置調(diào)整參數(shù)Y = 1,根據(jù)EMCNR-W估算方法,使用公式
Ei = r - Ci = Yj (fV, ·分別對訓(xùn)練數(shù)據(jù)中的每一個需求Ri的代碼量估算值Ei
7 = 1
進(jìn)行計算,并計算需求Ri的實際值Li與代碼量估算值Ei的比值γ ”分析結(jié)果如表2 表2分析結(jié)果 最終,取調(diào)整參數(shù)Y的值為全部訓(xùn)練數(shù)據(jù)對應(yīng)的比值Yi的平均值
1 m1廠二一 Y^ =-(0.903f0.981+0.997+1.022+1.003fl.550f 0.89^ = 1.050(4)估算新需求代碼量將測試集數(shù)據(jù)中的需求Rltl和R11作為新需求,使用相應(yīng)的估算方法,利用全部歷史 經(jīng)驗數(shù)據(jù),對兩個新需求的代碼量進(jìn)行估算。在進(jìn)行估算的過程中,為了避免兩個新需求之 間的相互影響,分別對需求Rltl和R11進(jìn)行估算。將需求R1至R9作為歷史經(jīng)驗數(shù)據(jù),使用EMCNR-W方法對需求Rltl和R11的代碼量估
12算值Eltl和E11進(jìn)行估算。使用估算公式盡=廣廣其中調(diào)整參數(shù)Y使用
產(chǎn)1,
步驟(3)中訓(xùn)練的得到的值1.050。估算結(jié)果如表3:表3需求Rltl和R11估算結(jié)果分析 上表分析結(jié)果中,需求Rltl和R11對應(yīng)代碼量的實際值取自步驟(2)中進(jìn)行需求特 征提取及代碼量統(tǒng)計過程中獲得的。誤差的統(tǒng)計方式為=REIA-DM方法對需求R的代碼量的估算值為Ε,而需求R實際 對應(yīng)的代碼量為L,則(a)誤差代碼行 Δ L。c 為Δ L0C = | L-E(b)誤差百分比 Δ %為:Δ % ==綜上,本發(fā)明所提出的基于加權(quán)調(diào)整的新需求代碼規(guī)模的估算方法是通過有效的 利用軟件項目的歷史數(shù)據(jù),最終得出新需求代碼量的估算值。本發(fā)明提供的基于加權(quán)調(diào)整 的新需求代碼規(guī)模的估算系統(tǒng)可以全自動的完成新需求代碼量的預(yù)測的過程,也可以根據(jù) 用戶的需求進(jìn)行手動進(jìn)行數(shù)據(jù)的調(diào)整。以上對本發(fā)明所述的基于加權(quán)調(diào)整的新需求代碼規(guī)模的估算方法及其系統(tǒng)進(jìn)行 了詳細(xì)的說明,但顯然本發(fā)明的具體實現(xiàn)形式并不局限于此。對于本技術(shù)領(lǐng)域的一般技術(shù) 人員來說,在不背離本發(fā)明所述方法的精神和權(quán)利要求范圍的情況下對它進(jìn)行的各種顯而 易見的改變都在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種基于加權(quán)調(diào)整的新需求代碼量量化評估方法,其步驟包括1)根據(jù)設(shè)定的需求特征對數(shù)據(jù)庫中某軟件項目已有的N個需求進(jìn)行特征提??;2)選取該項目中m個需求的特征提取數(shù)據(jù)(RS1,RS2,RSi,...,RSm)作為訓(xùn)練數(shù)據(jù),其中0<m<N;3)將m個需求中每個需求的特征提取數(shù)據(jù)RSi分別與除該需求外的已有需求的特征提取數(shù)據(jù)計算距離,并計算相應(yīng)的影響權(quán)重Wij,設(shè)置軟件項目的調(diào)整參數(shù)γ=1,計算需求RSi的代碼量估算值ESi;4)求出比值其中,i=1...m,LSi為實際代碼量;取調(diào)整參數(shù)γ的值為所有的比值γi的平均值;5)根據(jù)設(shè)定的需求特征對該軟件項目的新需求進(jìn)行特征提取;6)利用1)和5)的特征提取數(shù)據(jù)對每一新需求Rnewi與該N個已有需求計算距離Dij;7)根據(jù)新需求Rnewi與N個已有需求之間的距離Dij計算需求相互影響的權(quán)重Wij;8)根據(jù)公式計算新需求Rnewi的代碼量估算值Ei,其中Wij為已有需求Rj對新需求Rnewi的影響權(quán)重,Lj為已有需求Rj的實際代碼量。FSA00000165560800011.tif,FSA00000165560800012.tif
2.如權(quán)利要求1所述的方法,其特征在于,所述設(shè)定的需求特征包括需求描述質(zhì)量、需 求內(nèi)容質(zhì)量、需求文本長度、需求依賴密度、開發(fā)團隊綜合能力。
3.如權(quán)利要求1所述的方法,其特征在于,將特征提取的需求特征值映射到一個相同 的取值區(qū)間。
4.如權(quán)利要求1或3所述的方法,其特征在于,所述特征提取數(shù)據(jù)保存為XML格式。
5.如權(quán)利要求3所述的方法,其特征在于,所述計算距離采用了歐式距離法,或者使用 向量內(nèi)積法或者向量余弦系數(shù)法或者Dice系數(shù)法或者Jaccard系數(shù)法。
6.如權(quán)利要求1所述的方法,其特征在于,所述需求之間的距離與需求相互影響的 權(quán)重之間成反比。
7.如權(quán)利要求6所述的方法,其特征在于,需求影響權(quán)重與需求間距離的三次 方成反比。
8.如權(quán)利要求1所述的方法,其特征在于,所述步驟7)軟件項目已有的N個需求對于n新需求Rn6Wi的影響權(quán)重之和為1,即=1。M
9.一種基于加權(quán)調(diào)整的新需求代碼量量化評估系統(tǒng),其包括特征提取模塊、影響權(quán)重 計算模塊、調(diào)整參數(shù)Y訓(xùn)練模塊、代碼量預(yù)測模塊;所述特征提取模塊,用于根據(jù)設(shè)定的需求特征對軟件項目的每個需求進(jìn)行特征提取; 所述需求影響權(quán)重計算模塊,用于提供所需的權(quán)重計算算法,對輸入的需求數(shù)據(jù)進(jìn)行 影響權(quán)重的計算;所述調(diào)整參數(shù)Y訓(xùn)練模塊,用于根據(jù)特征提取的數(shù)據(jù),調(diào)用需求影響權(quán)重計算法模塊 的接口,訓(xùn)練調(diào)整參數(shù)Y,獲得估算公式;所述代碼量預(yù)測模塊,用于根據(jù)新需求和已有需求的特征提取后的數(shù)據(jù),調(diào)用影響權(quán) 重計算模塊的接口并利用所述估算公式,預(yù)測每一新需求將要產(chǎn)生的代碼量。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,還包括測試驗證模塊,對代碼量預(yù)測模塊 估算出來的新需求代碼量與實際代碼量進(jìn)行比較,驗證估算方法的有效性。
全文摘要
本發(fā)明公開了一種基于加權(quán)調(diào)整的新需求代碼量量化評估方法及系統(tǒng),該方法根據(jù)軟件項目已有的N個需求進(jìn)行特征提取;從中選取m個需求的特征提取數(shù)據(jù),每個需求的特征提取數(shù)據(jù)RSi,設(shè)置軟件項目的調(diào)整參數(shù)γ=1,計算需求RSi的代碼量估算值ESi;求出估算值和真實值的比值ri,取調(diào)整參數(shù)γ的值為所有的比值γi的平均值;對該軟件項目的新需求進(jìn)行特征提取;每一新需求Rnewi與已有需求計算距離Dij;計算需求相互影響的權(quán)重Wij;根據(jù)公式計算新需求Rnewi的代碼量估算值Ei。本發(fā)明的方法將新需求與軟件項目已有需求計算相似度,使用全部已有需求的特征數(shù)據(jù),能夠準(zhǔn)確的量化新需求將要產(chǎn)生的代碼量。
文檔編號G06F11/36GK101894070SQ20101019902
公開日2010年11月24日 申請日期2010年6月4日 優(yōu)先權(quán)日2010年6月4日
發(fā)明者李娟 , 李引, 楊達(dá), 王青, 鐘浩, 高健 申請人:中國科學(xué)院軟件研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1