現(xiàn)在距離2013年下半年CPMP項(xiàng)目管理師考試時(shí)間僅有30來(lái)天了,再對(duì)教材進(jìn)行一次全面復(fù)習(xí)已經(jīng)不太可能,為幫助考生鞏固所學(xué)知識(shí)點(diǎn),唯學(xué)網(wǎng)小編特別在項(xiàng)目管理師頻道設(shè)置輔導(dǎo)專題,將項(xiàng)目管理師考試的要點(diǎn)加以重點(diǎn)輔導(dǎo),方便考生查閱記憶。本篇將為大家講解項(xiàng)目管理師考試中的要點(diǎn)之一有關(guān)軟件項(xiàng)目成本估算的問(wèn)題,具體如下所示:
一、軟件成本估算貫穿于整個(gè)軟件生命周期
項(xiàng)目初期粗略的成本估算是必要的,它往往用于確定項(xiàng)目的可行性分析。在項(xiàng)目計(jì)劃階段還需對(duì)項(xiàng)目進(jìn)行詳細(xì)的成本估算,設(shè)定項(xiàng)目工作分解表中每項(xiàng)任務(wù)可能的成本,作為項(xiàng)目執(zhí)行階段進(jìn)行成本控制的基準(zhǔn)。并且,在項(xiàng)目執(zhí)行階段,當(dāng)項(xiàng)目實(shí)際成本與計(jì)劃成本出現(xiàn)差異時(shí),還需對(duì)項(xiàng)目后期的成本重新進(jìn)行必要的估算。因此,項(xiàng)目成本估算在項(xiàng)目的管理和控制中占據(jù)著非常重要的地位。而在軟件項(xiàng)目中,由于在人員、開發(fā)周期、項(xiàng)目范圍及技術(shù)難度等方面與其它項(xiàng)目相比具有更大的不確定性,故準(zhǔn)確估算其成本就顯得特別困難。因而合理估算軟件項(xiàng)目成本就尤其重要。
二、軟件項(xiàng)目中的成本估算模型
現(xiàn)有的大多數(shù)軟件成本估算模型適于預(yù)算、權(quán)衡分析、計(jì)劃、控制和投資分析等范疇。成本估算模型技術(shù)多采用經(jīng)驗(yàn)公式對(duì)軟件項(xiàng)目進(jìn)行成本估算。在大多數(shù)估算模型中,軟件規(guī)模是決定成本的主要因素。有兩種衡量軟件規(guī)模的常規(guī)方法:基于代碼行的估算方法和基于功能點(diǎn)的估算方法。許多成本估算模型中將代碼行或功能點(diǎn)數(shù)作為主要的輸入?yún)?shù)。
1.面向代碼行的成本估算模型
代碼行(lines of code,LOC)是衡量源代碼長(zhǎng)度的最常用的方法。NCLOC(non-comments source lines ofcode縮寫)用于表達(dá)不含注解的源代碼行數(shù)。NCLOC也常常被當(dāng)作為有效的代碼行數(shù)(effective lines of code,ELOC)。在很多情況下,為了日后更清楚地閱讀和理解程序,提高系統(tǒng)的可維護(hù)性,在程序開發(fā)中往往要求在程序中附上詳細(xì)的注解,在這種情況下,包含注解的源代碼行數(shù)也是一個(gè)有效的度量標(biāo)準(zhǔn)。CLOC(commented source line of code縮寫)用于表達(dá)含注解的源代碼行數(shù)。綜上所述,我們給出代碼行的定義如公式1所示:總長(zhǎng)度(LOC)=NCLOC+CLOC(1)
2.面向功能點(diǎn)的成本估算模型
面向功能點(diǎn)(Function points,F(xiàn)P)的成本估算模型是用系統(tǒng)的功能數(shù)量來(lái)測(cè)量軟件規(guī)模的。該方法先評(píng)估產(chǎn)品所需功能,然后根據(jù)技術(shù)復(fù)雜度因子(權(quán))對(duì)其成本進(jìn)行量化和修正,估算出最終的軟件成本。
其基本步驟是:
(1)計(jì)算未調(diào)整的功能點(diǎn)(UFC)數(shù)目這里所談的功能點(diǎn)數(shù)并非最終軟件中實(shí)際的功能數(shù)量,最終軟件實(shí)際功能模塊的個(gè)數(shù)在軟件開發(fā)之前是不可能精確估算的。在此,我們首先將軟件的所有功能分為外部輸入、外部輸出、外部查詢、外部文件及內(nèi)部文件五大類,并估算每類功能的數(shù)量(FPi),然后依據(jù)待開發(fā)軟件的特點(diǎn)評(píng)估各類功能的復(fù)雜度權(quán)重(Wi),在依據(jù)公式2可得未調(diào)整的功能點(diǎn)數(shù)(UFC)。UFC=SUM(FPi*Wi)
(2)外部輸入由用戶提供的、描述面向應(yīng)用的數(shù)據(jù)外部輸出系統(tǒng)向用戶提供的、面向用戶的數(shù)據(jù)外部查詢要求回答的交互式輸入外部文件對(duì)其他系統(tǒng)可讀的文件內(nèi)部文件系統(tǒng)里的邏輯主文件權(quán)重因素(Wi)項(xiàng)簡(jiǎn)單一般復(fù)雜外部輸入3 4 6外部輸出4 5 7外部查詢3 4 6外部文件7 10 15內(nèi)部文件5 7 10(2)計(jì)算調(diào)整后的功能點(diǎn)數(shù)考慮到用戶對(duì)系統(tǒng)性能的不同要求,我們還需從表3中反映的14個(gè)方面對(duì)UFC作進(jìn)一步的調(diào)整,從而計(jì)算出待開發(fā)系統(tǒng)的技術(shù)復(fù)雜度因子(technical complexity factor,TCF)。表3技術(shù)復(fù)雜度因子第12期舒小仙:軟件項(xiàng)目管理的成本估算81F1可靠的備份和恢復(fù)F2數(shù)據(jù)通信F3分布式處理F4性能F5大量使用的配置F6聯(lián)機(jī)數(shù)據(jù)輸入F7操作簡(jiǎn)便性F8在線升級(jí)F9界面的復(fù)雜性F10數(shù)據(jù)處理的復(fù)雜性F11代碼的復(fù)用性F12安裝的簡(jiǎn)易性F12多重站點(diǎn)F14易修改性表3中的因子Fi(其中:i=1,2,……14)取值范圍在0-5之間[1],值0表示該因子對(duì)系統(tǒng)無(wú)影響,值5表示該因子是對(duì)系統(tǒng)有強(qiáng)大的影響。技術(shù)復(fù)雜度因子的計(jì)算公式如公式3所示:TCF=0.65+0.01(SUM(Fi))(3)由UFC乘以技術(shù)復(fù)雜度因子(technical complexityfactor,TCF)得到調(diào)整后的功能點(diǎn)數(shù)FP,參見公式4。FP=UFC×TCF(4)
3.基于回歸分析的成本模型
成本模型提供工作量的直接估算,通常有一個(gè)主要的成本因素和若干個(gè)次要的調(diào)整因素。該模型是利用過(guò)去軟件項(xiàng)目中收集的數(shù)據(jù)進(jìn)行回歸分析導(dǎo)出待開發(fā)軟件的成本模型[1]。其整體結(jié)構(gòu)如公式5所示:E=A+B×SC(5)ABC為經(jīng)驗(yàn)性的導(dǎo)出常數(shù),E為每個(gè)月的投入,S為主要輸入(常用源代碼行數(shù)LOC或功能點(diǎn)數(shù)FP)[1]。以LOG為主要輸入?yún)?shù)來(lái)計(jì)算的成本模型的例子:E=5.2×(KLOC)0.91 Walston-Felix模型E=3.2×(KLOC)1.05 COCOMO基礎(chǔ)模型以FP為主要輸入?yún)?shù)來(lái)計(jì)算的成本模型的例子:E=-12.39+0.0545FP Albrecht and Gdffney模型E=585.7+15.12FP Matson,Barnett,和Mellichamp模型
4.各類模型存在的問(wèn)題分析
當(dāng)一個(gè)模型有75%的準(zhǔn)確性時(shí),我們認(rèn)為是可以接受。但目前大多數(shù)的模型無(wú)法達(dá)到這個(gè)標(biāo)準(zhǔn)[1]。從前面模型中不難看出,無(wú)論是模型結(jié)構(gòu)、復(fù)雜度或軟件項(xiàng)目規(guī)模,都是靠開發(fā)者的經(jīng)驗(yàn)估計(jì)出來(lái)的,而這些參數(shù)在開發(fā)的早期很難預(yù)測(cè)。大多數(shù)模型在當(dāng)初導(dǎo)出它們的工作范圍內(nèi)工作的很好,但應(yīng)用于普通情況時(shí)表現(xiàn)很差。軟件需求是復(fù)雜的,有差異的。雖許多模型包含解決差異的調(diào)整因素,評(píng)估員可依靠調(diào)整因素去解決當(dāng)前問(wèn)題的任何變動(dòng),然而這種方法常常是不適當(dāng)?shù)。?shí)際上,許多因素會(huì)相互影響,有時(shí)會(huì)導(dǎo)致過(guò)度忽略了某個(gè)因素的重要性。同時(shí),這些方法也非常具有主觀性,常常帶有開發(fā)者的個(gè)人傾向。另外,調(diào)整因素的計(jì)算過(guò)程也過(guò)于復(fù)雜,不是一個(gè)容易確定的值。一般模型要求對(duì)軟件規(guī)模進(jìn)行估算,但項(xiàng)目初期很難預(yù)測(cè)。對(duì)規(guī)模的估計(jì)結(jié)果也很主觀,并要求模型的規(guī)模度量與用于實(shí)際中的規(guī)模度量相同,否則不能給出準(zhǔn)確的結(jié)果。
三、軟件項(xiàng)目成本管理中的直覺思維
直覺思維是指不受某種固定的邏輯規(guī)則約束而直接領(lǐng)悟事物本質(zhì)的一種思維形式。許多項(xiàng)目管理人憑借直覺對(duì)項(xiàng)目成本的進(jìn)行估算。項(xiàng)目管理人利用多年的經(jīng)驗(yàn)和能力預(yù)測(cè)項(xiàng)目成本,有時(shí)這種估算很準(zhǔn)確。同時(shí)這種以真實(shí)經(jīng)驗(yàn)為基礎(chǔ)的人為的判斷也有利于對(duì)特殊情況的調(diào)整。項(xiàng)目管理人員在成本估算時(shí)常會(huì)借鑒以往的相似的項(xiàng)目經(jīng)驗(yàn),但項(xiàng)目管理人員很少考慮到相似項(xiàng)目的風(fēng)險(xiǎn),如先前項(xiàng)目的成本是什么?先前項(xiàng)目所用的專有技術(shù)是什么?先前項(xiàng)目是否按計(jì)劃完成?先前項(xiàng)目有哪些地方出過(guò)錯(cuò)誤?項(xiàng)目管理人員在進(jìn)行成本估算時(shí)傾向于“軟性”的經(jīng)驗(yàn),而忽視先前項(xiàng)目執(zhí)行時(shí)的“硬性”證據(jù)。管理人員傾向依據(jù)少量的——大多數(shù)情況下僅一兩次——以往經(jīng)驗(yàn)作出決定。缺乏足夠的經(jīng)驗(yàn),作出的估算是不可信的。另一個(gè)問(wèn)題是傾向于依靠項(xiàng)目“專家”的定性闡述。項(xiàng)目管理者經(jīng)常會(huì)過(guò)度樂(lè)觀地看待項(xiàng)目的進(jìn)展,會(huì)給出與事實(shí)偏離的現(xiàn)狀報(bào)告,這很容易造成錯(cuò)誤的分配或浪費(fèi)掉不可缺少的資源。研究證明,大多情況下主觀的判斷甚至不如最簡(jiǎn)單的統(tǒng)計(jì)模型。這也表現(xiàn)出直覺思維的局限性——非邏輯思維是非必然的。試驗(yàn)表明系統(tǒng)的分析整合工具和項(xiàng)目管理技術(shù)能夠改善項(xiàng)目的開發(fā)和管理。項(xiàng)目管理者不相信統(tǒng)計(jì)的結(jié)果是正常的,當(dāng)統(tǒng)計(jì)分析的結(jié)果明顯低于項(xiàng)目總成本時(shí),項(xiàng)目管理人常常調(diào)高估算,這是一種對(duì)成本估算的有效調(diào)整措施。所以,關(guān)鍵是如何將項(xiàng)目管理者主觀估算的能力和利用模型系統(tǒng)估算成本有機(jī)地結(jié)合起來(lái)。
四、結(jié)語(yǔ)
項(xiàng)目管理中的成本估算是非常困難的,它受很多因素的影響。用數(shù)學(xué)模型去估算成本時(shí),有時(shí)不總是有效。許多項(xiàng)目管理人依靠自己的直覺去作出最佳估測(cè),這種方法簡(jiǎn)單易行,但它也存在很大的差異性。因此將數(shù)學(xué)模型與直觀判定結(jié)合使用構(gòu)造合理估算,可同時(shí)具備各技術(shù)的優(yōu)點(diǎn),是一種較好的方法。在軟件項(xiàng)目成本估算中,我們可以使用數(shù)學(xué)模型做初步估算,然后運(yùn)用項(xiàng)目管理人的直覺調(diào)整結(jié)果。另外,在項(xiàng)目執(zhí)行和控制中也可以對(duì)特殊情況進(jìn)行人為的判斷調(diào)整,F(xiàn)在將兩種或多種技術(shù)結(jié)合來(lái)估算成本的合成技術(shù)估算方法應(yīng)用較為廣泛。
想要查閱更多2013年項(xiàng)目管理師考試輔導(dǎo)要點(diǎn)嗎?想要第一時(shí)間了解2013年項(xiàng)目管理師考試大綱嗎?想要項(xiàng)目管理師考試的歷年真題嗎?來(lái)唯學(xué)網(wǎng)項(xiàng)目管理師培訓(xùn)頻道吧!唯學(xué)網(wǎng)是一個(gè)大型的教育考試培訓(xùn)平臺(tái),各種各樣的考試信息、教育新聞小編都會(huì)第一時(shí)間為大家更新提供!敬請(qǐng)大家關(guān)注!