得到x的值
在上文中,我們通過相關(guān)性和顯著性分析,最終決定使用需求文檔中的用例數(shù)量作為x。下面就是要確定x的值,這個(gè)不必多說,直接從需求文檔中得到相應(yīng)的數(shù)量即可。
確定相關(guān)函數(shù)f
知道了x的值,下面就是要確定相關(guān)函數(shù)了。這一步是最艱難也是最有技術(shù)性的,因?yàn)橄嚓P(guān)函數(shù)不但和數(shù)理因素相關(guān),還與開發(fā)團(tuán)隊(duì)、團(tuán)隊(duì)中的人以及管理方法有關(guān)。如果人員變動(dòng)很大或管理方法做了很大的調(diào)整,歷史數(shù)據(jù)可能就不具備參考價(jià)值了。不過如果團(tuán)隊(duì)的開發(fā)水平和管理方法沒有重大變動(dòng),這個(gè)函數(shù)還是相對(duì)穩(wěn)定的。
在函數(shù)選型上,一般會(huì)選擇線性函數(shù),當(dāng)然我個(gè)人對(duì)此是十分懷疑的,但是這里為了簡(jiǎn)單起見,我們姑且照例使用線性函數(shù)作為預(yù)測(cè)模型。這樣可以建立一元線性回歸模型如下:
這個(gè)函數(shù)并不是簡(jiǎn)單的線性函數(shù),而是包含了一個(gè)隨機(jī)變量ε,這是一個(gè)服從正態(tài)分布的隨機(jī)變量。上述模型的直觀意義可以如下描述:a代表與x即用例數(shù)量無關(guān)的起始時(shí)間,b代表每一個(gè)用例所耗費(fèi)的平均時(shí)間,而ε代表開發(fā)中的不確定性。在不同的團(tuán)隊(duì)中或不同的管理方法下,a,b和ε都是不一樣的,但是當(dāng)團(tuán)隊(duì)和管理方法相對(duì)穩(wěn)定,可以認(rèn)為a,b和ε是可通過歷史數(shù)據(jù)估計(jì)的。而因?yàn)?epsilon;的期望為0,所以只要給出a和b的合理估計(jì),就可以得到y(tǒng)的一個(gè)無偏估計(jì)。
下面我們估計(jì)a和b的值。估計(jì)方法有很多,如曲線擬合法或最小二乘法。這里我們采用最小二乘法進(jìn)行估計(jì)。
最小二乘法估計(jì)的基本原理如下:
求極值可以使用微積分中的求極值方法,首先令Q(a,b)對(duì)a和b分別求偏導(dǎo),并令偏導(dǎo)為零,得如下方程組:
經(jīng)過一系列計(jì)算和推導(dǎo),最終可得到:
將以前的歷史數(shù)據(jù)代入上述方程,就可以得到a和b的最小二乘估計(jì)。同樣,這種機(jī)械而乏味的計(jì)算一般交由工具去完成。我用Excel得到a和b的估計(jì)分別為56.251和10.653.Excel分析結(jié)果如圖3所示:
圖3
根據(jù)估計(jì)結(jié)果,我們可以得出相關(guān)函數(shù)為y=56.251+10.653。我們還可以證明,這個(gè)估計(jì)是一致最小方差無偏估計(jì),證明過程從略。
現(xiàn)在我們不但得到了相關(guān)函數(shù),還得到了如下有用的數(shù)據(jù)結(jié)果:這個(gè)團(tuán)隊(duì)在目前的管理模式下,開發(fā)一個(gè)項(xiàng)目平均準(zhǔn)備時(shí)間為56.251人時(shí),而平均每個(gè)用例開發(fā)耗時(shí)為10.653人時(shí)。
得出y
有了上面的結(jié)果,我們可以很輕易得出新項(xiàng)目的計(jì)劃工時(shí)。例如新項(xiàng)目有50個(gè)用例,代入可以得到y(tǒng)=56.251+10.653*50=588.901,約為589個(gè)人時(shí),再假設(shè)團(tuán)隊(duì)中有3個(gè)開發(fā)人員,平均每周工作五天,每天工作8小時(shí),就可以得到項(xiàng)目大約需要開發(fā)24.54個(gè)人日,開發(fā)周期約為5周。
得出y
有了上面的結(jié)果,我們可以很輕易得出新項(xiàng)目的計(jì)劃工時(shí)。例如新項(xiàng)目有50個(gè)用例,代入可以得到y(tǒng)=56.251+10.653*50=588.901,約為589個(gè)人時(shí),再假設(shè)團(tuán)隊(duì)中有3個(gè)開發(fā)人員,平均每周工作五天,每天工作8小時(shí),就可以得到項(xiàng)目大約需要開發(fā)24.54個(gè)人日,開發(fā)周期約為5周。
后面的話
至此我們已經(jīng)完成了利用一元線性回歸模型對(duì)軟件工期的估計(jì)。但是不得不承認(rèn),這個(gè)估計(jì)方法存在很多缺陷,如估計(jì)變量單一以及估計(jì)模型過于簡(jiǎn)單等等。實(shí)驗(yàn)證明,這種一元線性模型對(duì)中小型項(xiàng)目相對(duì)有效,如果團(tuán)隊(duì)比較大并且項(xiàng)目十分復(fù)雜,估計(jì)效果就不理想了。不過這篇文章給出了一種思路,就是如何利用數(shù)理統(tǒng)計(jì)模型以及歷史經(jīng)驗(yàn)數(shù)據(jù)來估計(jì)新項(xiàng)目的工期。對(duì)于文中的具體方法則可以進(jìn)行諸多擴(kuò)展,例如使用多個(gè)估計(jì)代理進(jìn)行多元回歸分析、細(xì)化估計(jì)方法等等。例如PSP中就給出一種非常精細(xì)的PROBE估計(jì)法,有興趣的朋友可以參考。另外,除了求得估計(jì)值,還可以給出估值置信區(qū)間,甚至使用蒙特卡洛模擬技術(shù)進(jìn)行更復(fù)雜的分析,都可以得到更理想的估值。但是其核心思想與本文是相通的。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |