軟件項(xiàng)目規(guī)模成本估算、預(yù)算與控制課件_第1頁(yè)
軟件項(xiàng)目規(guī)模成本估算、預(yù)算與控制課件_第2頁(yè)
軟件項(xiàng)目規(guī)模成本估算、預(yù)算與控制課件_第3頁(yè)
軟件項(xiàng)目規(guī)模成本估算、預(yù)算與控制課件_第4頁(yè)
軟件項(xiàng)目規(guī)模成本估算、預(yù)算與控制課件_第5頁(yè)
已閱讀5頁(yè),還剩143頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件項(xiàng)目管理第四章軟件項(xiàng)目成本管理軟件項(xiàng)目管理第四章軟件項(xiàng)目成本管理1本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念成本估算成本預(yù)算成本控制本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念2第一節(jié)軟件項(xiàng)目規(guī)模成本的概念軟件項(xiàng)目規(guī)模度量單位:LOC(LinesofCode):源代碼程序長(zhǎng)度的測(cè)量FP(FunctionPoint):系統(tǒng)功能數(shù)量的測(cè)量軟件項(xiàng)目工作量是指為了提供軟件的功能而必須完成的軟件工程任務(wù)量。其度量單位為:人月、人天、人年:人在單位時(shí)間內(nèi)完成的任務(wù)量第一節(jié)軟件項(xiàng)目規(guī)模成本的概念軟件項(xiàng)目規(guī)模度量單位:3為了確定工作量度量單位,可設(shè)定一個(gè)“標(biāo)準(zhǔn)程序員”,例如具有15~18個(gè)月開(kāi)發(fā)經(jīng)驗(yàn)的程序員。工作量與規(guī)模緊密相關(guān),此外還與項(xiàng)目和產(chǎn)品特性(如復(fù)雜性)相關(guān)。在不會(huì)引起混淆的情況下,工作量和規(guī)模這兩個(gè)概念可不做區(qū)別。為了確定工作量度量單位,可設(shè)定一個(gè)“標(biāo)準(zhǔn)程序員”,例如具有14軟件項(xiàng)目成本完成軟件項(xiàng)目工作量相應(yīng)付出的代價(jià),即待開(kāi)發(fā)軟件項(xiàng)目所需要的資金。人的勞動(dòng)消耗所需要的代價(jià)是軟件產(chǎn)品的主要成本。成本一般采用貨幣單位來(lái)計(jì)算,如人民幣、美元等。軟件項(xiàng)目成本完成軟件項(xiàng)目工作量相應(yīng)付出的代價(jià),即待開(kāi)發(fā)軟件項(xiàng)5工作量和成本的關(guān)系工作量是成本的主要考慮因素,項(xiàng)目的工作量估算和成本估算常常同時(shí)進(jìn)行。如果確定了單位工作量的成本,則可根據(jù)項(xiàng)目工作量直接計(jì)算出項(xiàng)目成本。例如:如果一個(gè)軟件項(xiàng)目的工作量是20人月,而企業(yè)的人力成本參數(shù)是2萬(wàn)元/人月,則項(xiàng)目的成本是40萬(wàn)元。工作量和成本的關(guān)系工作量是成本的主要考慮因素,項(xiàng)目的工作量估6本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念成本估算成本預(yù)算成本控制本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念7引言成本估算方法一種實(shí)用的項(xiàng)目成本估算過(guò)程第二節(jié)成本估算引言第二節(jié)成本估算82.1引言成本估算是對(duì)完成項(xiàng)目所需費(fèi)用的估計(jì),它是項(xiàng)目成本管理的核心。成本估算可以有一些誤差。估算結(jié)果可用一個(gè)范圍表示,例如$10000±$1000。成本估算所依據(jù)的信息包括:項(xiàng)目需求和WBS,資源要求、資源消耗率(資源單價(jià))、項(xiàng)目進(jìn)度規(guī)劃、歷史項(xiàng)目數(shù)據(jù)等。2.1引言成本估算是對(duì)完成項(xiàng)目所需費(fèi)用的估計(jì),它是項(xiàng)目成本9項(xiàng)目成本的構(gòu)成直接成本:與具體項(xiàng)目的開(kāi)發(fā)直接相關(guān)的成本。如人員的工資、外包外購(gòu)成本等。又可細(xì)分為開(kāi)發(fā)成本、管理成本、質(zhì)量成本等。間接成本:不歸屬于一個(gè)具體的項(xiàng)目,是企業(yè)的運(yùn)營(yíng)成本,分?jǐn)偟礁鱾€(gè)項(xiàng)目中。如房租、水電、保安、稅收、福利、培訓(xùn),等等。項(xiàng)目成本的構(gòu)成102.2成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法2.2成本估算方法代碼行、功能點(diǎn)11代碼行(LOC)從軟件程序量的角度定義項(xiàng)目規(guī)模。要求功能分解足夠詳細(xì)。有一定的經(jīng)驗(yàn)數(shù)據(jù)(類(lèi)比和經(jīng)驗(yàn)方法)。與具體的編程語(yǔ)言有關(guān)。代碼行(LOC)從軟件程序量的角度定義項(xiàng)目規(guī)模。12優(yōu)點(diǎn):直觀(guān)、準(zhǔn)確(在有代碼的情況下)、易于計(jì)算(可使用代碼行統(tǒng)計(jì)工具)。缺點(diǎn):對(duì)代碼行度量沒(méi)有公認(rèn)的標(biāo)準(zhǔn)定義。代碼行數(shù)量依賴(lài)于所用的編程語(yǔ)言和個(gè)人的編程風(fēng)格。在項(xiàng)目早期,需求不穩(wěn)定、設(shè)計(jì)不成熟、實(shí)現(xiàn)不確定的情況下很難準(zhǔn)確地估算代碼量。代碼行(LOC)優(yōu)點(diǎn):代碼行(LOC)13功能點(diǎn)(FP)用系統(tǒng)的功能數(shù)量來(lái)測(cè)量其規(guī)模,與實(shí)現(xiàn)產(chǎn)品所使用的語(yǔ)言和技術(shù)沒(méi)有關(guān)系。對(duì)系統(tǒng)的外部功能和內(nèi)部功能進(jìn)行計(jì)數(shù)。根據(jù)技術(shù)復(fù)雜度因子(權(quán))對(duì)它們進(jìn)行調(diào)整,產(chǎn)生產(chǎn)品規(guī)模的度量結(jié)果。功能點(diǎn)(FP)用系統(tǒng)的功能數(shù)量來(lái)測(cè)量其規(guī)模,與實(shí)現(xiàn)產(chǎn)品所使用14功能點(diǎn)計(jì)算公式FP=UFC*TCFUFC(UnadjustedFunctionPointCount)未調(diào)整功能點(diǎn)計(jì)數(shù)TCF(TechnicalComplexityFactor)技術(shù)復(fù)雜度因子功能點(diǎn)計(jì)算公式FP=UFC*TCF15UFC的計(jì)算方法首先計(jì)算功能計(jì)數(shù)項(xiàng),對(duì)以下五類(lèi)元素計(jì)數(shù):外部輸入:由用戶(hù)輸入的面向應(yīng)用的數(shù)據(jù)項(xiàng)。外部輸出:向用戶(hù)提供的輸出數(shù)據(jù)項(xiàng)。外部查詢(xún):要求系統(tǒng)回答的交互式輸入。外部接口文件:與其它系統(tǒng)的接口數(shù)據(jù)文件。內(nèi)部文件:系統(tǒng)使用的內(nèi)部固定文件。UFC的計(jì)算方法首先計(jì)算功能計(jì)數(shù)項(xiàng),對(duì)以下五類(lèi)元素計(jì)數(shù):16UFC的計(jì)算方法然后對(duì)各功能計(jì)數(shù)項(xiàng)加權(quán)并求和,得到UFC。

功能計(jì)數(shù)項(xiàng)復(fù)雜度權(quán)重簡(jiǎn)單中等復(fù)雜外部輸入346外部輸出457外部查詢(xún)346外部接口文件5710內(nèi)部文件71015UFC的計(jì)算方法然后對(duì)各功能計(jì)數(shù)項(xiàng)加權(quán)并求和,得到UFC。功17案例分析某學(xué)院安裝了一個(gè)工資系統(tǒng),人事處要求創(chuàng)建一個(gè)子系統(tǒng)來(lái)分析每門(mén)課程的人力資源成本。要求該子系統(tǒng)提供查詢(xún)每門(mén)課程人力資源成本的功能。每名教師所得工資的細(xì)節(jié)可以通過(guò)工資系統(tǒng)中的文件得到,教師花在教每門(mén)課上的小時(shí)數(shù)可通過(guò)一個(gè)基于計(jì)算機(jī)的計(jì)時(shí)表系統(tǒng)中的文件得到。該子系統(tǒng)將計(jì)算結(jié)果存放到由總會(huì)計(jì)系統(tǒng)讀取的一個(gè)文件中,并產(chǎn)生一個(gè)報(bào)告,來(lái)顯示每名教師每門(mén)課的課時(shí)數(shù)及這些課時(shí)數(shù)相應(yīng)的成本。案例分析某學(xué)院安裝了一個(gè)工資系統(tǒng),人事處要求創(chuàng)建一個(gè)子系統(tǒng)來(lái)18案例分析問(wèn)題:計(jì)算該子系統(tǒng)的UFC。(子系統(tǒng)產(chǎn)生的報(bào)告復(fù)雜度為高,其它所有元素的復(fù)雜度均為中等)

案例分析問(wèn)題:計(jì)算該子系統(tǒng)的UFC。(子系統(tǒng)產(chǎn)生的報(bào)告復(fù)雜度19案例分析答案:UFC=1*7+1*4+3*7=32功能計(jì)數(shù)項(xiàng)計(jì)數(shù)復(fù)雜度權(quán)重外部輸入無(wú)外部輸出報(bào)告17外部查詢(xún)14外部接口文件工資文件1,計(jì)時(shí)表文件1,計(jì)算結(jié)果文件17內(nèi)部文件無(wú)案例分析答案:UFC=1*7+1*4+3*7=32功能計(jì)數(shù)項(xiàng)20TCF的計(jì)算方法技術(shù)復(fù)雜度影響因素F1可靠的備份和恢復(fù)F2數(shù)據(jù)通信F3分布式函數(shù)F4性能F5大量使用的配置F6聯(lián)機(jī)數(shù)據(jù)輸入F7操作簡(jiǎn)單性F8在線(xiàn)升級(jí)F9復(fù)雜界面F10復(fù)雜數(shù)據(jù)處理F11重復(fù)使用性F12安裝簡(jiǎn)易性F13多重站點(diǎn)F14易于修改TCF的計(jì)算方法技術(shù)復(fù)雜度影響因素F1可靠的備份和恢復(fù)F2數(shù)21TCF=0.65+0.01(sum(Fi)):Fi:0-5,TCF:0.65~1.35TCF的計(jì)算方法每個(gè)技術(shù)復(fù)雜度影響因素的取值范圍:取值對(duì)系統(tǒng)的影響0不存在或者沒(méi)有影響1不顯著的影響2相當(dāng)?shù)挠绊?平均的影響4顯著的影響5強(qiáng)大的影響TCF=0.65+0.01(sum(Fi)):Fi:0-522案例分析案例中技術(shù)復(fù)雜度影響因素的取值F1可靠的備份和恢復(fù)1F2數(shù)據(jù)通信5F3分布式函數(shù)0F4性能3F5大量使用的配置1F6聯(lián)機(jī)數(shù)據(jù)輸入0F7操作簡(jiǎn)單性1F8在線(xiàn)升級(jí)0F9復(fù)雜界面1F10復(fù)雜數(shù)據(jù)處理4F11重復(fù)使用性0F12安裝簡(jiǎn)易性3F13多重站點(diǎn)0F14易于修改3sum(Fi)=22TCF=0.65+0.01(sum(Fi))=0.65+0.01*22=0.87案例分析案例中技術(shù)復(fù)雜度影響因素的取值F1可靠的備份和恢復(fù)123該子系統(tǒng)的功能點(diǎn)為:FP=UFC*TCF=32*0.87=27.8案例分析該子系統(tǒng)的功能點(diǎn)為:案例分析24功能點(diǎn)與代碼行的轉(zhuǎn)換語(yǔ)言代碼行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6功能點(diǎn)與代碼行的轉(zhuǎn)換語(yǔ)言代碼行/FPAssembly320C25成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)26類(lèi)比估算法也稱(chēng)為基于案例的推理,估算人員根據(jù)以往完成的類(lèi)似項(xiàng)目(源案例)所消耗的總成本(或工作量),來(lái)推算將要開(kāi)發(fā)的軟件(目標(biāo)案例)的總成本(或工作量)。需提取項(xiàng)目的一些特性作為比較因子,如項(xiàng)目類(lèi)型(MIS系統(tǒng)、實(shí)時(shí)系統(tǒng)等)、編程語(yǔ)言、項(xiàng)目規(guī)模、開(kāi)發(fā)人員數(shù)量、軟件開(kāi)發(fā)方法等。類(lèi)比估算法也稱(chēng)為基于案例的推理,估算人員根據(jù)以往完成的類(lèi)似項(xiàng)27在項(xiàng)目初期信息不足時(shí)(例如市場(chǎng)招標(biāo)和合同簽訂)適于采用類(lèi)比估算法。該方法簡(jiǎn)單易行,花費(fèi)少,但準(zhǔn)確性差。類(lèi)比估算法在項(xiàng)目初期信息不足時(shí)(例如市場(chǎng)招標(biāo)和合同簽訂)適于采用類(lèi)比估28成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)29參數(shù)估算法使用項(xiàng)目特性參數(shù)建立經(jīng)驗(yàn)估算模型來(lái)估算成本。經(jīng)驗(yàn)估算模型是通過(guò)對(duì)大量的項(xiàng)目歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析(如回歸分析)而導(dǎo)出的。經(jīng)驗(yàn)估算模型提供對(duì)項(xiàng)目工作量的直接估計(jì)。該方法簡(jiǎn)單,而且比較準(zhǔn)確,但如果模型選擇不當(dāng)或提供的參數(shù)不準(zhǔn)確,也會(huì)產(chǎn)生較大的偏差。參數(shù)估算法使用項(xiàng)目特性參數(shù)建立經(jīng)驗(yàn)估算模型來(lái)估算成本。30經(jīng)驗(yàn)估算模型模型形式:E=A+B*SCE:以人月表示的工作量A,B,C:經(jīng)驗(yàn)導(dǎo)出的系數(shù)S:主要的輸入?yún)?shù)(通常是LOC,FP等)經(jīng)驗(yàn)估算模型模型形式:E=A+B*SC31面向LOC的:Walston-Felix(IBM)模型E=5.2*(KLOC)^0.91Balley-Basili模型E=5.5+0.73*(KLOC)^1.16Boehm簡(jiǎn)單模型E=3.2*(KLOC)^1.05Doty模型E=5.288*(KLOC)^1.047經(jīng)驗(yàn)估算模型面向LOC的:經(jīng)驗(yàn)估算模型32面向FP的:

AlbrechtandGaffney模型E=-13.39+0.0545FPMatson,BarnettE=585.7+15.12FP經(jīng)驗(yàn)估算模型面向FP的:經(jīng)驗(yàn)估算模型33Walston-Felix(IBM)模型1977年,IBM的Walston和Felix提出了如下的估算公式:E=5.2×L^0.91,L是源代碼行數(shù)(以KLOC計(jì)),E是工作量(以PM計(jì))D=4.1×L^0.36,D是項(xiàng)目持續(xù)時(shí)間(以月計(jì))S=0.54×E^0.6,S是人員需要量(以人計(jì))DOC=49×L^1.01。DOC是文檔數(shù)量(以頁(yè)計(jì))Walston-Felix(IBM)模型1977年,IBM的34COCOMO(ConstructiveCostmodel)構(gòu)造性成本模型,是世界上應(yīng)用最廣泛的參數(shù)型軟件成本估計(jì)模型。由BarryBoehm利用加利福尼亞的一個(gè)咨詢(xún)公司的大量項(xiàng)目數(shù)據(jù)推導(dǎo)出的一個(gè)成本模型。該模型于1981年首次發(fā)表,于1994年又推出了COCOMOII。COCOMO(ConstructiveCostmodel35模型類(lèi)別基本COCOMO靜態(tài)單變量模型。中等COCOMO在基本模型基礎(chǔ)上考慮各種影響因素(工作量驅(qū)動(dòng)因子),調(diào)整模型。高級(jí)COCOMO中等COCOMO模型基礎(chǔ)上考慮軟件工程中各個(gè)步驟的影響。模型類(lèi)別基本COCOMO36基本COCOMOE=a*(KLOC)exp(b)E是項(xiàng)目的工作量(以人月計(jì))KLOC是軟件產(chǎn)品的代碼行數(shù)a、b是依賴(lài)于項(xiàng)目自然屬性的參數(shù)基本COCOMOE=a*(KLOC)exp(b)37基本COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)2.41.05半相連3.01.12嵌入式3.61.20基本COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)2.41.05半相連338系統(tǒng)類(lèi)型有機(jī)(Organic)各類(lèi)應(yīng)用程序,例如數(shù)據(jù)處理、科學(xué)計(jì)算等。受硬件的約束比較小,接口環(huán)境靈活;軟件的規(guī)模不是很大。嵌入式(Embeded)系統(tǒng)程序,例如實(shí)時(shí)處理、控制程序等。在硬件和軟件的嚴(yán)格約束條件下運(yùn)行,對(duì)系統(tǒng)進(jìn)行變更的代價(jià)很高;軟件的規(guī)模任意。半相連(Semidetached)介于上述兩種系統(tǒng)之間。系統(tǒng)類(lèi)型有機(jī)(Organic)39基本COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬于半相連型的項(xiàng)目,采用基本COCOMO進(jìn)行工作量的估算:a=3.0,b=1.12E=3.0*L^1.12=3.0*33.3^1.12=152PM基本COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬40中等COCOMOE=a(KLOC)exp(b)*工作量系數(shù)工作量系數(shù)是根據(jù)成本驅(qū)動(dòng)因子的打分計(jì)算得出,是對(duì)公式的校正系數(shù)。中等COCOMOE=a(KLOC)exp(b)*工作量系數(shù)41中等COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)3.21.05半相連3.01.12嵌入式2.81.20中等COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)3.21.05半相連342成本驅(qū)動(dòng)因子驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子產(chǎn)品屬性RELY需要的軟件可靠性DATA數(shù)據(jù)庫(kù)規(guī)模CPLX產(chǎn)品復(fù)雜度計(jì)算機(jī)屬性TIME執(zhí)行時(shí)間限制STOR主存限制VIRT操作系統(tǒng)變更的程度TURN計(jì)算機(jī)恢復(fù)時(shí)間要求成本驅(qū)動(dòng)因子驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子產(chǎn)品屬性RELY需要43成本驅(qū)動(dòng)因子(續(xù))驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子人員屬性ACAP分析員能力AEXP應(yīng)用經(jīng)驗(yàn)PCAP程序員能力VEXP虛擬機(jī)(如操作系統(tǒng))經(jīng)驗(yàn)LEXP編程語(yǔ)言經(jīng)驗(yàn)項(xiàng)目屬性MODP現(xiàn)代編程實(shí)踐的使用TOOL軟件工具的使用SCED需要的開(kāi)發(fā)進(jìn)度成本驅(qū)動(dòng)因子(續(xù))驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子人員屬性ACA44工作量系數(shù)的計(jì)算規(guī)定每個(gè)成本驅(qū)動(dòng)因子的取值范圍,將其取值劃分為非常低、低、正常、高、非常高等級(jí)別,每個(gè)級(jí)別對(duì)應(yīng)一個(gè)值。例如,軟件組織可以決定使用以下系數(shù)來(lái)評(píng)估分析員能力(ACAP)的影響:非常低(verylow)1.46低(low)1.19正常(nominal)1.00高(hign)0.80非常高(veryhign)0.71工作量系數(shù)的計(jì)算規(guī)定每個(gè)成本驅(qū)動(dòng)因子的取值范圍,將其取值劃分45當(dāng)每個(gè)成本驅(qū)動(dòng)因子Fi的值選定后,工作量系數(shù)的計(jì)算如下:工作量系數(shù)=F1*F2*…Fi…*Fn典型取值0.9-1.4之間工作量系數(shù)的計(jì)算當(dāng)每個(gè)成本驅(qū)動(dòng)因子Fi的值選定后,工作量系數(shù)的計(jì)算如下:工作46中等COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬于半相連型的項(xiàng)目,采用中等COCOMO進(jìn)行工作量的估算:a=3.0,b=1.12工作量系數(shù)=0.70*0.85*1……*1.15=1.09E=3.0*33.3^1.12×1.09=166PM中等COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬47高級(jí)(詳細(xì))COCOMO考慮了各成本驅(qū)動(dòng)因子對(duì)分析、設(shè)計(jì)等各項(xiàng)目階段的影響。高級(jí)(詳細(xì))COCOMO考慮了各成本驅(qū)動(dòng)因子對(duì)分析、設(shè)計(jì)等各48成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)49專(zhuān)家估算法由多位對(duì)應(yīng)用領(lǐng)域和開(kāi)發(fā)環(huán)境有豐富經(jīng)驗(yàn)的專(zhuān)家進(jìn)行成本估算。為避免單個(gè)專(zhuān)家產(chǎn)生偏見(jiàn),盡量由多位專(zhuān)家進(jìn)行估算,取得多個(gè)估算值,最后得出綜合的估算值。專(zhuān)家估算法由多位對(duì)應(yīng)用領(lǐng)域和開(kāi)發(fā)環(huán)境有豐富經(jīng)驗(yàn)的專(zhuān)家進(jìn)行成本50專(zhuān)家估算法-Delphi組織者發(fā)給每位專(zhuān)家一份軟件系統(tǒng)的規(guī)格說(shuō)明和一張記錄估算值的表格,請(qǐng)他們估算。專(zhuān)家詳細(xì)研究軟件規(guī)格說(shuō)明后,對(duì)該軟件提出3個(gè)工作量(或成本)的估算值:最小值ai

最可能值mi最大值bi組織者對(duì)專(zhuān)家的表格中的答復(fù)進(jìn)行整理,計(jì)算每位專(zhuān)家的平均估算值Ei=(ai+4mi+bi)/6和總的平均值E=(E1+E2+…+En)/n(n表示n個(gè)專(zhuān)家)。專(zhuān)家估算法-Delphi組織者發(fā)給每位專(zhuān)家一份軟件系統(tǒng)的規(guī)格51組織專(zhuān)家無(wú)記名填表格,比較估算差,并查找原因。如果各個(gè)專(zhuān)家的估算差異超出規(guī)定的范圍(例如:15%),則需重復(fù)上述過(guò)程,最終可以獲得一個(gè)多數(shù)專(zhuān)家共識(shí)的軟件工作量(或成本)估計(jì)值。專(zhuān)家估算法-Delphi組織專(zhuān)家無(wú)記名填表格,比較估算差,并查找原因。專(zhuān)家估算法-D52專(zhuān)家估算法舉例某管理信息系統(tǒng)-專(zhuān)家估算專(zhuān)家1:1,8,9(1+9+4*8)/6=7(萬(wàn)元)專(zhuān)家2:4,6,8(4+8+4*6)/6=6(萬(wàn)元)估算結(jié)果=(6+7)/2=6.5(萬(wàn)元)專(zhuān)家估算法舉例某管理信息系統(tǒng)-專(zhuān)家估算53在項(xiàng)目初期(特別是合同階段),項(xiàng)目的需求不很明確,且需要盡快得出成本估算結(jié)果,此時(shí)可采用類(lèi)比估算法或?qū)<夜浪惴āP枨蟠_定之后,開(kāi)始規(guī)劃項(xiàng)目時(shí),可采用參數(shù)估算法。在項(xiàng)目的實(shí)施階段,特別是在發(fā)生變更時(shí),需重新估算項(xiàng)目的成本,這時(shí)可采用參數(shù)估算法和專(zhuān)家估算法。成本估算方法總結(jié)在項(xiàng)目初期(特別是合同階段),項(xiàng)目的需求不很明確,且需要盡快542.3一種實(shí)用的軟件成本估算過(guò)程該過(guò)程步驟如下:1.對(duì)項(xiàng)目進(jìn)行任務(wù)分解:1,2,…,i,…,n2.估算每個(gè)任務(wù)的成本Ci3.項(xiàng)目的直接成本=C1+C2+……+Ci+……+Cn4.項(xiàng)目總估算成本=直接成本+間接成本5.項(xiàng)目總報(bào)價(jià)=項(xiàng)目總估算成本+風(fēng)險(xiǎn)利潤(rùn)2.3一種實(shí)用的軟件成本估算過(guò)程該過(guò)程步驟如下:55估算每個(gè)任務(wù)的成本先估計(jì)任務(wù)的工作量Ei(一般以人月為單位)。然后估算任務(wù)成本Ci=Ei*人力成本參數(shù)。估算每個(gè)任務(wù)的成本先估計(jì)任務(wù)的工作量Ei(一般以人月為單位56直接成本估算直接成本的構(gòu)成:開(kāi)發(fā)成本、管理成本、質(zhì)量成本管理和質(zhì)量成本的簡(jiǎn)易估算法:開(kāi)發(fā)工作量:Effort(Dev)管理和質(zhì)量工作量:Effort(Mgn)=a*Effort(Dev)

a為比例系數(shù),可根據(jù)企業(yè)的具體情況而定,例如20%--25%。直接成本=Effort(Dev)+a*Effort(Dev)直接成本估算直接成本的構(gòu)成:開(kāi)發(fā)成本、管理成本、質(zhì)量成本57間接成本估算根據(jù)企業(yè)具體的成本模型進(jìn)行計(jì)算。簡(jiǎn)易估算方法:間接成本=直接成本*間接成本系數(shù)間接成本系數(shù)根據(jù)企業(yè)的具體情況而定,例如取0.3。間接成本估算根據(jù)企業(yè)具體的成本模型進(jìn)行計(jì)算。58項(xiàng)目總估算成本總估算成本=直接成本+間接成本=直接成本+直接成本*間接成本系數(shù)=直接成本(1+間接成本系數(shù))=工作量*人力成本參數(shù)(1+間接成本系數(shù))成本系數(shù)=人力成本參數(shù)*(1+間接成本系數(shù))總估算成本=工作量*成本系數(shù)例如:某項(xiàng)目的工作量是40人月,成本系數(shù)為2萬(wàn)元/人月,則項(xiàng)目的總估算成本為40*2=80萬(wàn)元。項(xiàng)目總估算成本總估算成本=直接成本+間接成本59項(xiàng)目總報(bào)價(jià)風(fēng)險(xiǎn)利潤(rùn)包括風(fēng)險(xiǎn)基金、項(xiàng)目稅費(fèi)和稅后利潤(rùn)等。風(fēng)險(xiǎn)利潤(rùn)=項(xiàng)目總估算成本*a%a是利潤(rùn)系數(shù),根據(jù)企業(yè)、項(xiàng)目的不同而不同。項(xiàng)目總報(bào)價(jià)=項(xiàng)目總估算成本+項(xiàng)目總估算成本*a%=項(xiàng)目總估算成本(1+a%)項(xiàng)目總報(bào)價(jià)風(fēng)險(xiǎn)利潤(rùn)包括風(fēng)險(xiǎn)基金、項(xiàng)目稅費(fèi)和稅后利潤(rùn)等。602.4成本估算的準(zhǔn)確度類(lèi)型準(zhǔn)確度說(shuō)明量級(jí)估算:合同前Orderofmagnitude-25~~+75%概念和啟動(dòng)階段,決策預(yù)算估算:合同期Budget-10~~+25%編制初步計(jì)劃確定性估算:WBS后Definitive-5~~+10%工作分解后的詳細(xì)計(jì)劃2.4成本估算的準(zhǔn)確度類(lèi)型準(zhǔn)確度說(shuō)明量級(jí)估算:合同前-2561估算不準(zhǔn)確的原因基礎(chǔ)數(shù)據(jù)不足估算對(duì)需求的敏感性軟件項(xiàng)目存在許多變更和不確定因素缺乏有經(jīng)驗(yàn)的估算人員簽約前后的不連貫估算不準(zhǔn)確的原因基礎(chǔ)數(shù)據(jù)不足62避免低劣的估算留出估算的時(shí)間,并做好計(jì)劃注意積累項(xiàng)目數(shù)據(jù),以開(kāi)發(fā)人員提供的經(jīng)驗(yàn)數(shù)據(jù)為基礎(chǔ)進(jìn)行估算分類(lèi)法估算進(jìn)行詳細(xì)的較低層次上的估算使用估算工具使用幾種不同估算技術(shù),并比較它們的結(jié)果避免低劣的估算留出估算的時(shí)間,并做好計(jì)劃63估算的表達(dá)方式加減限定表示6個(gè)人月的工作量可表示為6+3、6-1人月。范圍表示6個(gè)人月的工作量可表示為5~9人月。估算的表達(dá)方式加減限定表示64估算的表達(dá)方式風(fēng)險(xiǎn)量化估算:6個(gè)人月,+3,-2+1人月:延遲交付轉(zhuǎn)換子系統(tǒng)-1人月:新成員的工作效率高+1人月:采用的新工具沒(méi)有預(yù)計(jì)的好-1人月:采用的新工具比預(yù)計(jì)的好+0.5人月:員工病事假+0.5人月:低估規(guī)模估算的表達(dá)方式風(fēng)險(xiǎn)量化估算:6個(gè)人月,+3,-2+1人月:延65本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念成本估算成本預(yù)算成本控制本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念66第三節(jié)成本預(yù)算成本預(yù)算是將項(xiàng)目總估算成本分?jǐn)偟礁鱾€(gè)工作單元中去,主要包括三個(gè)步驟:將項(xiàng)目的總估算成本分?jǐn)偟礁黜?xiàng)活動(dòng)。根據(jù)項(xiàng)目的成本估算確定項(xiàng)目的總預(yù)算成本后,將總預(yù)算成本按照項(xiàng)目工作分解結(jié)構(gòu)(WBS)和每一項(xiàng)活動(dòng)的工作范圍,以一定比例分?jǐn)偟礁黜?xiàng)活動(dòng)中,為每項(xiàng)活動(dòng)建立總預(yù)算成本。第三節(jié)成本預(yù)算成本預(yù)算是將項(xiàng)目總估算67將活動(dòng)總預(yù)算成本分?jǐn)偟焦ぷ靼?。將活?dòng)總預(yù)算成本按照構(gòu)成這一活動(dòng)的工作包和所消耗的資源數(shù)量進(jìn)行成本預(yù)算分?jǐn)?。將活?dòng)總預(yù)算成本分?jǐn)偟焦ぷ靼⒒顒?dòng)總預(yù)算成本按照構(gòu)成這一活68確定各工作包成本預(yù)算支出的時(shí)間以及每一個(gè)時(shí)間所發(fā)生的累積成本支出額,形成成本基線(xiàn)。確定各工作包成本預(yù)算支出的時(shí)間以及每一個(gè)時(shí)間所發(fā)生的累積成本69成本預(yù)算的依據(jù)和特征成本預(yù)算的依據(jù):成本估算工作分解結(jié)構(gòu)(WBS)項(xiàng)目進(jìn)度計(jì)劃成本預(yù)算的特征:計(jì)劃性:將總費(fèi)用精確的分配到WBS的每一個(gè)工作包中??刂菩裕汉侠硪?guī)劃資源,控制資源使用,節(jié)約成本。成本預(yù)算的依據(jù)和特征成本預(yù)算的依據(jù):70降低項(xiàng)目成本預(yù)算的方法降低資源的費(fèi)率減少任務(wù)的工時(shí)減少加班替換資源刪除任務(wù)降低項(xiàng)目成本預(yù)算的方法降低資源的費(fèi)率71降低資源的費(fèi)率降低人力資源的費(fèi)率往往會(huì)打擊工作人員的積極性,但可以通過(guò)降低其他資源的費(fèi)率來(lái)實(shí)現(xiàn),比如降低能源消耗、設(shè)備費(fèi)用、耗材費(fèi)用等。減少任務(wù)的工時(shí)使任務(wù)高效率地執(zhí)行,避免浪費(fèi)時(shí)間,從而適當(dāng)減少任務(wù)的工時(shí),可以降低任務(wù)的費(fèi)用。降低項(xiàng)目成本預(yù)算的方法降低資源的費(fèi)率降低項(xiàng)目成本預(yù)算的方法72減少加班加班需要支付加班費(fèi)率,這通常要高于正常情況下的人力資源費(fèi)率,所以減少加班可以有效的減少項(xiàng)目成本。替換資源用廉價(jià)的資源替換比較高價(jià)的資源,但有一個(gè)前提,那就是替換的資源同樣能勝任這項(xiàng)任務(wù)。刪除任務(wù)確認(rèn)刪除該任務(wù)對(duì)項(xiàng)目沒(méi)有影響或影響在可控制范圍內(nèi)才可采用。降低項(xiàng)目成本預(yù)算的方法減少加班降低項(xiàng)目成本預(yù)算的方法73重視維護(hù)階段的成本預(yù)算加強(qiáng)客戶(hù)對(duì)軟件維護(hù)在軟件應(yīng)用中重要性的認(rèn)識(shí)。在簽訂軟件合同時(shí),應(yīng)增加對(duì)軟件維護(hù)的成本預(yù)算。軟件市場(chǎng)中對(duì)軟件維護(hù)的規(guī)范性要有一個(gè)統(tǒng)一科學(xué)的認(rèn)識(shí)和約束,要形成規(guī)范的軟件服務(wù)市場(chǎng)。堅(jiān)持有償服務(wù)的原則。加強(qiáng)軟件開(kāi)發(fā)中的軟件測(cè)試、軟件復(fù)用,組件化,標(biāo)準(zhǔn)化、泛性模式的運(yùn)用。重視維護(hù)階段的成本預(yù)算加強(qiáng)客戶(hù)對(duì)軟件維護(hù)在軟件應(yīng)用中重要性的74軟件項(xiàng)目管理第四章軟件項(xiàng)目成本管理軟件項(xiàng)目管理第四章軟件項(xiàng)目成本管理75本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念成本估算成本預(yù)算成本控制本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念76第一節(jié)軟件項(xiàng)目規(guī)模成本的概念軟件項(xiàng)目規(guī)模度量單位:LOC(LinesofCode):源代碼程序長(zhǎng)度的測(cè)量FP(FunctionPoint):系統(tǒng)功能數(shù)量的測(cè)量軟件項(xiàng)目工作量是指為了提供軟件的功能而必須完成的軟件工程任務(wù)量。其度量單位為:人月、人天、人年:人在單位時(shí)間內(nèi)完成的任務(wù)量第一節(jié)軟件項(xiàng)目規(guī)模成本的概念軟件項(xiàng)目規(guī)模度量單位:77為了確定工作量度量單位,可設(shè)定一個(gè)“標(biāo)準(zhǔn)程序員”,例如具有15~18個(gè)月開(kāi)發(fā)經(jīng)驗(yàn)的程序員。工作量與規(guī)模緊密相關(guān),此外還與項(xiàng)目和產(chǎn)品特性(如復(fù)雜性)相關(guān)。在不會(huì)引起混淆的情況下,工作量和規(guī)模這兩個(gè)概念可不做區(qū)別。為了確定工作量度量單位,可設(shè)定一個(gè)“標(biāo)準(zhǔn)程序員”,例如具有178軟件項(xiàng)目成本完成軟件項(xiàng)目工作量相應(yīng)付出的代價(jià),即待開(kāi)發(fā)軟件項(xiàng)目所需要的資金。人的勞動(dòng)消耗所需要的代價(jià)是軟件產(chǎn)品的主要成本。成本一般采用貨幣單位來(lái)計(jì)算,如人民幣、美元等。軟件項(xiàng)目成本完成軟件項(xiàng)目工作量相應(yīng)付出的代價(jià),即待開(kāi)發(fā)軟件項(xiàng)79工作量和成本的關(guān)系工作量是成本的主要考慮因素,項(xiàng)目的工作量估算和成本估算常常同時(shí)進(jìn)行。如果確定了單位工作量的成本,則可根據(jù)項(xiàng)目工作量直接計(jì)算出項(xiàng)目成本。例如:如果一個(gè)軟件項(xiàng)目的工作量是20人月,而企業(yè)的人力成本參數(shù)是2萬(wàn)元/人月,則項(xiàng)目的成本是40萬(wàn)元。工作量和成本的關(guān)系工作量是成本的主要考慮因素,項(xiàng)目的工作量估80本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念成本估算成本預(yù)算成本控制本章內(nèi)容提要軟件項(xiàng)目規(guī)模成本的概念81引言成本估算方法一種實(shí)用的項(xiàng)目成本估算過(guò)程第二節(jié)成本估算引言第二節(jié)成本估算822.1引言成本估算是對(duì)完成項(xiàng)目所需費(fèi)用的估計(jì),它是項(xiàng)目成本管理的核心。成本估算可以有一些誤差。估算結(jié)果可用一個(gè)范圍表示,例如$10000±$1000。成本估算所依據(jù)的信息包括:項(xiàng)目需求和WBS,資源要求、資源消耗率(資源單價(jià))、項(xiàng)目進(jìn)度規(guī)劃、歷史項(xiàng)目數(shù)據(jù)等。2.1引言成本估算是對(duì)完成項(xiàng)目所需費(fèi)用的估計(jì),它是項(xiàng)目成本83項(xiàng)目成本的構(gòu)成直接成本:與具體項(xiàng)目的開(kāi)發(fā)直接相關(guān)的成本。如人員的工資、外包外購(gòu)成本等。又可細(xì)分為開(kāi)發(fā)成本、管理成本、質(zhì)量成本等。間接成本:不歸屬于一個(gè)具體的項(xiàng)目,是企業(yè)的運(yùn)營(yíng)成本,分?jǐn)偟礁鱾€(gè)項(xiàng)目中。如房租、水電、保安、稅收、福利、培訓(xùn),等等。項(xiàng)目成本的構(gòu)成842.2成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法2.2成本估算方法代碼行、功能點(diǎn)85代碼行(LOC)從軟件程序量的角度定義項(xiàng)目規(guī)模。要求功能分解足夠詳細(xì)。有一定的經(jīng)驗(yàn)數(shù)據(jù)(類(lèi)比和經(jīng)驗(yàn)方法)。與具體的編程語(yǔ)言有關(guān)。代碼行(LOC)從軟件程序量的角度定義項(xiàng)目規(guī)模。86優(yōu)點(diǎn):直觀(guān)、準(zhǔn)確(在有代碼的情況下)、易于計(jì)算(可使用代碼行統(tǒng)計(jì)工具)。缺點(diǎn):對(duì)代碼行度量沒(méi)有公認(rèn)的標(biāo)準(zhǔn)定義。代碼行數(shù)量依賴(lài)于所用的編程語(yǔ)言和個(gè)人的編程風(fēng)格。在項(xiàng)目早期,需求不穩(wěn)定、設(shè)計(jì)不成熟、實(shí)現(xiàn)不確定的情況下很難準(zhǔn)確地估算代碼量。代碼行(LOC)優(yōu)點(diǎn):代碼行(LOC)87功能點(diǎn)(FP)用系統(tǒng)的功能數(shù)量來(lái)測(cè)量其規(guī)模,與實(shí)現(xiàn)產(chǎn)品所使用的語(yǔ)言和技術(shù)沒(méi)有關(guān)系。對(duì)系統(tǒng)的外部功能和內(nèi)部功能進(jìn)行計(jì)數(shù)。根據(jù)技術(shù)復(fù)雜度因子(權(quán))對(duì)它們進(jìn)行調(diào)整,產(chǎn)生產(chǎn)品規(guī)模的度量結(jié)果。功能點(diǎn)(FP)用系統(tǒng)的功能數(shù)量來(lái)測(cè)量其規(guī)模,與實(shí)現(xiàn)產(chǎn)品所使用88功能點(diǎn)計(jì)算公式FP=UFC*TCFUFC(UnadjustedFunctionPointCount)未調(diào)整功能點(diǎn)計(jì)數(shù)TCF(TechnicalComplexityFactor)技術(shù)復(fù)雜度因子功能點(diǎn)計(jì)算公式FP=UFC*TCF89UFC的計(jì)算方法首先計(jì)算功能計(jì)數(shù)項(xiàng),對(duì)以下五類(lèi)元素計(jì)數(shù):外部輸入:由用戶(hù)輸入的面向應(yīng)用的數(shù)據(jù)項(xiàng)。外部輸出:向用戶(hù)提供的輸出數(shù)據(jù)項(xiàng)。外部查詢(xún):要求系統(tǒng)回答的交互式輸入。外部接口文件:與其它系統(tǒng)的接口數(shù)據(jù)文件。內(nèi)部文件:系統(tǒng)使用的內(nèi)部固定文件。UFC的計(jì)算方法首先計(jì)算功能計(jì)數(shù)項(xiàng),對(duì)以下五類(lèi)元素計(jì)數(shù):90UFC的計(jì)算方法然后對(duì)各功能計(jì)數(shù)項(xiàng)加權(quán)并求和,得到UFC。

功能計(jì)數(shù)項(xiàng)復(fù)雜度權(quán)重簡(jiǎn)單中等復(fù)雜外部輸入346外部輸出457外部查詢(xún)346外部接口文件5710內(nèi)部文件71015UFC的計(jì)算方法然后對(duì)各功能計(jì)數(shù)項(xiàng)加權(quán)并求和,得到UFC。功91案例分析某學(xué)院安裝了一個(gè)工資系統(tǒng),人事處要求創(chuàng)建一個(gè)子系統(tǒng)來(lái)分析每門(mén)課程的人力資源成本。要求該子系統(tǒng)提供查詢(xún)每門(mén)課程人力資源成本的功能。每名教師所得工資的細(xì)節(jié)可以通過(guò)工資系統(tǒng)中的文件得到,教師花在教每門(mén)課上的小時(shí)數(shù)可通過(guò)一個(gè)基于計(jì)算機(jī)的計(jì)時(shí)表系統(tǒng)中的文件得到。該子系統(tǒng)將計(jì)算結(jié)果存放到由總會(huì)計(jì)系統(tǒng)讀取的一個(gè)文件中,并產(chǎn)生一個(gè)報(bào)告,來(lái)顯示每名教師每門(mén)課的課時(shí)數(shù)及這些課時(shí)數(shù)相應(yīng)的成本。案例分析某學(xué)院安裝了一個(gè)工資系統(tǒng),人事處要求創(chuàng)建一個(gè)子系統(tǒng)來(lái)92案例分析問(wèn)題:計(jì)算該子系統(tǒng)的UFC。(子系統(tǒng)產(chǎn)生的報(bào)告復(fù)雜度為高,其它所有元素的復(fù)雜度均為中等)

案例分析問(wèn)題:計(jì)算該子系統(tǒng)的UFC。(子系統(tǒng)產(chǎn)生的報(bào)告復(fù)雜度93案例分析答案:UFC=1*7+1*4+3*7=32功能計(jì)數(shù)項(xiàng)計(jì)數(shù)復(fù)雜度權(quán)重外部輸入無(wú)外部輸出報(bào)告17外部查詢(xún)14外部接口文件工資文件1,計(jì)時(shí)表文件1,計(jì)算結(jié)果文件17內(nèi)部文件無(wú)案例分析答案:UFC=1*7+1*4+3*7=32功能計(jì)數(shù)項(xiàng)94TCF的計(jì)算方法技術(shù)復(fù)雜度影響因素F1可靠的備份和恢復(fù)F2數(shù)據(jù)通信F3分布式函數(shù)F4性能F5大量使用的配置F6聯(lián)機(jī)數(shù)據(jù)輸入F7操作簡(jiǎn)單性F8在線(xiàn)升級(jí)F9復(fù)雜界面F10復(fù)雜數(shù)據(jù)處理F11重復(fù)使用性F12安裝簡(jiǎn)易性F13多重站點(diǎn)F14易于修改TCF的計(jì)算方法技術(shù)復(fù)雜度影響因素F1可靠的備份和恢復(fù)F2數(shù)95TCF=0.65+0.01(sum(Fi)):Fi:0-5,TCF:0.65~1.35TCF的計(jì)算方法每個(gè)技術(shù)復(fù)雜度影響因素的取值范圍:取值對(duì)系統(tǒng)的影響0不存在或者沒(méi)有影響1不顯著的影響2相當(dāng)?shù)挠绊?平均的影響4顯著的影響5強(qiáng)大的影響TCF=0.65+0.01(sum(Fi)):Fi:0-596案例分析案例中技術(shù)復(fù)雜度影響因素的取值F1可靠的備份和恢復(fù)1F2數(shù)據(jù)通信5F3分布式函數(shù)0F4性能3F5大量使用的配置1F6聯(lián)機(jī)數(shù)據(jù)輸入0F7操作簡(jiǎn)單性1F8在線(xiàn)升級(jí)0F9復(fù)雜界面1F10復(fù)雜數(shù)據(jù)處理4F11重復(fù)使用性0F12安裝簡(jiǎn)易性3F13多重站點(diǎn)0F14易于修改3sum(Fi)=22TCF=0.65+0.01(sum(Fi))=0.65+0.01*22=0.87案例分析案例中技術(shù)復(fù)雜度影響因素的取值F1可靠的備份和恢復(fù)197該子系統(tǒng)的功能點(diǎn)為:FP=UFC*TCF=32*0.87=27.8案例分析該子系統(tǒng)的功能點(diǎn)為:案例分析98功能點(diǎn)與代碼行的轉(zhuǎn)換語(yǔ)言代碼行/FPAssembly320C150COBOL105FORTRAN105PASCAL91ADA71PL/165PROLOG/LISP64SMALLTALK21SPREADSHEET6功能點(diǎn)與代碼行的轉(zhuǎn)換語(yǔ)言代碼行/FPAssembly320C99成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)100類(lèi)比估算法也稱(chēng)為基于案例的推理,估算人員根據(jù)以往完成的類(lèi)似項(xiàng)目(源案例)所消耗的總成本(或工作量),來(lái)推算將要開(kāi)發(fā)的軟件(目標(biāo)案例)的總成本(或工作量)。需提取項(xiàng)目的一些特性作為比較因子,如項(xiàng)目類(lèi)型(MIS系統(tǒng)、實(shí)時(shí)系統(tǒng)等)、編程語(yǔ)言、項(xiàng)目規(guī)模、開(kāi)發(fā)人員數(shù)量、軟件開(kāi)發(fā)方法等。類(lèi)比估算法也稱(chēng)為基于案例的推理,估算人員根據(jù)以往完成的類(lèi)似項(xiàng)101在項(xiàng)目初期信息不足時(shí)(例如市場(chǎng)招標(biāo)和合同簽訂)適于采用類(lèi)比估算法。該方法簡(jiǎn)單易行,花費(fèi)少,但準(zhǔn)確性差。類(lèi)比估算法在項(xiàng)目初期信息不足時(shí)(例如市場(chǎng)招標(biāo)和合同簽訂)適于采用類(lèi)比估102成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)103參數(shù)估算法使用項(xiàng)目特性參數(shù)建立經(jīng)驗(yàn)估算模型來(lái)估算成本。經(jīng)驗(yàn)估算模型是通過(guò)對(duì)大量的項(xiàng)目歷史數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析(如回歸分析)而導(dǎo)出的。經(jīng)驗(yàn)估算模型提供對(duì)項(xiàng)目工作量的直接估計(jì)。該方法簡(jiǎn)單,而且比較準(zhǔn)確,但如果模型選擇不當(dāng)或提供的參數(shù)不準(zhǔn)確,也會(huì)產(chǎn)生較大的偏差。參數(shù)估算法使用項(xiàng)目特性參數(shù)建立經(jīng)驗(yàn)估算模型來(lái)估算成本。104經(jīng)驗(yàn)估算模型模型形式:E=A+B*SCE:以人月表示的工作量A,B,C:經(jīng)驗(yàn)導(dǎo)出的系數(shù)S:主要的輸入?yún)?shù)(通常是LOC,FP等)經(jīng)驗(yàn)估算模型模型形式:E=A+B*SC105面向LOC的:Walston-Felix(IBM)模型E=5.2*(KLOC)^0.91Balley-Basili模型E=5.5+0.73*(KLOC)^1.16Boehm簡(jiǎn)單模型E=3.2*(KLOC)^1.05Doty模型E=5.288*(KLOC)^1.047經(jīng)驗(yàn)估算模型面向LOC的:經(jīng)驗(yàn)估算模型106面向FP的:

AlbrechtandGaffney模型E=-13.39+0.0545FPMatson,BarnettE=585.7+15.12FP經(jīng)驗(yàn)估算模型面向FP的:經(jīng)驗(yàn)估算模型107Walston-Felix(IBM)模型1977年,IBM的Walston和Felix提出了如下的估算公式:E=5.2×L^0.91,L是源代碼行數(shù)(以KLOC計(jì)),E是工作量(以PM計(jì))D=4.1×L^0.36,D是項(xiàng)目持續(xù)時(shí)間(以月計(jì))S=0.54×E^0.6,S是人員需要量(以人計(jì))DOC=49×L^1.01。DOC是文檔數(shù)量(以頁(yè)計(jì))Walston-Felix(IBM)模型1977年,IBM的108COCOMO(ConstructiveCostmodel)構(gòu)造性成本模型,是世界上應(yīng)用最廣泛的參數(shù)型軟件成本估計(jì)模型。由BarryBoehm利用加利福尼亞的一個(gè)咨詢(xún)公司的大量項(xiàng)目數(shù)據(jù)推導(dǎo)出的一個(gè)成本模型。該模型于1981年首次發(fā)表,于1994年又推出了COCOMOII。COCOMO(ConstructiveCostmodel109模型類(lèi)別基本COCOMO靜態(tài)單變量模型。中等COCOMO在基本模型基礎(chǔ)上考慮各種影響因素(工作量驅(qū)動(dòng)因子),調(diào)整模型。高級(jí)COCOMO中等COCOMO模型基礎(chǔ)上考慮軟件工程中各個(gè)步驟的影響。模型類(lèi)別基本COCOMO110基本COCOMOE=a*(KLOC)exp(b)E是項(xiàng)目的工作量(以人月計(jì))KLOC是軟件產(chǎn)品的代碼行數(shù)a、b是依賴(lài)于項(xiàng)目自然屬性的參數(shù)基本COCOMOE=a*(KLOC)exp(b)111基本COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)2.41.05半相連3.01.12嵌入式3.61.20基本COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)2.41.05半相連3112系統(tǒng)類(lèi)型有機(jī)(Organic)各類(lèi)應(yīng)用程序,例如數(shù)據(jù)處理、科學(xué)計(jì)算等。受硬件的約束比較小,接口環(huán)境靈活;軟件的規(guī)模不是很大。嵌入式(Embeded)系統(tǒng)程序,例如實(shí)時(shí)處理、控制程序等。在硬件和軟件的嚴(yán)格約束條件下運(yùn)行,對(duì)系統(tǒng)進(jìn)行變更的代價(jià)很高;軟件的規(guī)模任意。半相連(Semidetached)介于上述兩種系統(tǒng)之間。系統(tǒng)類(lèi)型有機(jī)(Organic)113基本COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬于半相連型的項(xiàng)目,采用基本COCOMO進(jìn)行工作量的估算:a=3.0,b=1.12E=3.0*L^1.12=3.0*33.3^1.12=152PM基本COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬114中等COCOMOE=a(KLOC)exp(b)*工作量系數(shù)工作量系數(shù)是根據(jù)成本驅(qū)動(dòng)因子的打分計(jì)算得出,是對(duì)公式的校正系數(shù)。中等COCOMOE=a(KLOC)exp(b)*工作量系數(shù)115中等COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)3.21.05半相連3.01.12嵌入式2.81.20中等COCOMO系數(shù)表系統(tǒng)類(lèi)型ab有機(jī)3.21.05半相連3116成本驅(qū)動(dòng)因子驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子產(chǎn)品屬性RELY需要的軟件可靠性DATA數(shù)據(jù)庫(kù)規(guī)模CPLX產(chǎn)品復(fù)雜度計(jì)算機(jī)屬性TIME執(zhí)行時(shí)間限制STOR主存限制VIRT操作系統(tǒng)變更的程度TURN計(jì)算機(jī)恢復(fù)時(shí)間要求成本驅(qū)動(dòng)因子驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子產(chǎn)品屬性RELY需要117成本驅(qū)動(dòng)因子(續(xù))驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子人員屬性ACAP分析員能力AEXP應(yīng)用經(jīng)驗(yàn)PCAP程序員能力VEXP虛擬機(jī)(如操作系統(tǒng))經(jīng)驗(yàn)LEXP編程語(yǔ)言經(jīng)驗(yàn)項(xiàng)目屬性MODP現(xiàn)代編程實(shí)踐的使用TOOL軟件工具的使用SCED需要的開(kāi)發(fā)進(jìn)度成本驅(qū)動(dòng)因子(續(xù))驅(qū)動(dòng)因子類(lèi)型編碼成本驅(qū)動(dòng)因子人員屬性ACA118工作量系數(shù)的計(jì)算規(guī)定每個(gè)成本驅(qū)動(dòng)因子的取值范圍,將其取值劃分為非常低、低、正常、高、非常高等級(jí)別,每個(gè)級(jí)別對(duì)應(yīng)一個(gè)值。例如,軟件組織可以決定使用以下系數(shù)來(lái)評(píng)估分析員能力(ACAP)的影響:非常低(verylow)1.46低(low)1.19正常(nominal)1.00高(hign)0.80非常高(veryhign)0.71工作量系數(shù)的計(jì)算規(guī)定每個(gè)成本驅(qū)動(dòng)因子的取值范圍,將其取值劃分119當(dāng)每個(gè)成本驅(qū)動(dòng)因子Fi的值選定后,工作量系數(shù)的計(jì)算如下:工作量系數(shù)=F1*F2*…Fi…*Fn典型取值0.9-1.4之間工作量系數(shù)的計(jì)算當(dāng)每個(gè)成本驅(qū)動(dòng)因子Fi的值選定后,工作量系數(shù)的計(jì)算如下:工作120中等COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬于半相連型的項(xiàng)目,采用中等COCOMO進(jìn)行工作量的估算:a=3.0,b=1.12工作量系數(shù)=0.70*0.85*1……*1.15=1.09E=3.0*33.3^1.12×1.09=166PM中等COCOMO舉例一個(gè)33.3KLOC的軟件開(kāi)發(fā)項(xiàng)目,屬121高級(jí)(詳細(xì))COCOMO考慮了各成本驅(qū)動(dòng)因子對(duì)分析、設(shè)計(jì)等各項(xiàng)目階段的影響。高級(jí)(詳細(xì))COCOMO考慮了各成本驅(qū)動(dòng)因子對(duì)分析、設(shè)計(jì)等各122成本估算方法代碼行、功能點(diǎn)類(lèi)比估算法參數(shù)估算法專(zhuān)家估算法成本估算方法代碼行、功能點(diǎn)123專(zhuān)家估算法由多位對(duì)應(yīng)用領(lǐng)域和開(kāi)發(fā)環(huán)境有豐富經(jīng)驗(yàn)的專(zhuān)家進(jìn)行成本估算。為避免單個(gè)專(zhuān)家產(chǎn)生偏見(jiàn),盡量由多位專(zhuān)家進(jìn)行估算,取得多個(gè)估算值,最后得出綜合的估算值。專(zhuān)家估算法由多位對(duì)應(yīng)用領(lǐng)域和開(kāi)發(fā)環(huán)境有豐富經(jīng)驗(yàn)的專(zhuān)家進(jìn)行成本124專(zhuān)家估算法-Delphi組織者發(fā)給每位專(zhuān)家一份軟件系統(tǒng)的規(guī)格說(shuō)明和一張記錄估算值的表格,請(qǐng)他們估算。專(zhuān)家詳細(xì)研究軟件規(guī)格說(shuō)明后,對(duì)該軟件提出3個(gè)工作量(或成本)的估算值:最小值ai

最可能值mi最大值bi組織者對(duì)專(zhuān)家的表格中的答復(fù)進(jìn)行整理,計(jì)算每位專(zhuān)家的平均估算值Ei=(ai+4mi+bi)/6和總的平均值E=(E1+E2+…+En)/n(n表示n個(gè)專(zhuān)家)。專(zhuān)家估算法-Delphi組織者發(fā)給每位專(zhuān)家一份軟件系統(tǒng)的規(guī)格125組織專(zhuān)家無(wú)記名填表格,比較估算差,并查找原因。如果各個(gè)專(zhuān)家的估算差異超出規(guī)定的范圍(例如:15%),則需重復(fù)上述過(guò)程,最終可以獲得一個(gè)多數(shù)專(zhuān)家共識(shí)的軟件工作量(或成本)估計(jì)值。專(zhuān)家估算法-Delphi組織專(zhuān)家無(wú)記名填表格,比較估算差,并查找原因。專(zhuān)家估算法-D126專(zhuān)家估算法舉例某管理信息系統(tǒng)-專(zhuān)家估算專(zhuān)家1:1,8,9(1+9+4*8)/6=7(萬(wàn)元)專(zhuān)家2:4,6,8(4+8+4*6)/6=6(萬(wàn)元)估算結(jié)果=(6+7)/2=6.5(萬(wàn)元)專(zhuān)家估算法舉例某管理信息系統(tǒng)-專(zhuān)家估算127在項(xiàng)目初期(特別是合同階段),項(xiàng)目的需求不很明確,且需要盡快得出成本估算結(jié)果,此時(shí)可采用類(lèi)比估算法或?qū)<夜浪惴āP枨蟠_定之后,開(kāi)始規(guī)劃項(xiàng)目時(shí),可采用參數(shù)估算法。在項(xiàng)目的實(shí)施階段,特別是在發(fā)生變更時(shí),需重新估算項(xiàng)目的成本,這時(shí)可采用參數(shù)估算法和專(zhuān)家估算法。成本估算方法總結(jié)在項(xiàng)目初期(特別是合同階段),項(xiàng)目的需求不很明確,且需要盡快1282.3一種實(shí)用的軟件成本估算過(guò)程該過(guò)程步驟如下:1.對(duì)項(xiàng)目進(jìn)行任務(wù)分解:1,2,…,i,…,n2.估算每個(gè)任務(wù)的成本Ci3.項(xiàng)目的直接成本=C1+C2+……+Ci+……+Cn4.項(xiàng)目總估算成本=直接成本+間接成本5.項(xiàng)目總報(bào)價(jià)=項(xiàng)目總估算成本+風(fēng)險(xiǎn)利潤(rùn)2.3一種實(shí)用的軟件成本估算過(guò)程該過(guò)程步驟如下:129估算每個(gè)任務(wù)的成本先估計(jì)任務(wù)的工作量Ei(一般以人月為單位)。然后估算任務(wù)成本Ci=Ei*人力成本參數(shù)。估算每個(gè)任務(wù)的成本先估計(jì)任務(wù)的工作量Ei(一般以人月為單位130直接成本估算直接成本的構(gòu)成:開(kāi)發(fā)成本、管理成本、質(zhì)量成本管理和質(zhì)量成本的簡(jiǎn)易估算法:開(kāi)發(fā)工作量:Effort(Dev)管理和質(zhì)量工作量:Effort(Mgn)=a*Effort(Dev)

a為比例系數(shù),可根據(jù)企業(yè)的具體情況而定,例如20%--25%。直接成本=Effort(Dev)+a*Effort(Dev)直接成本估算直接成本的構(gòu)成:開(kāi)發(fā)成本、管理成本、質(zhì)量成本131間接成本估算根據(jù)企業(yè)具體的成本模型進(jìn)行計(jì)算。簡(jiǎn)易估算方法:間接成本=直接成本*間接成本系數(shù)間接成本系數(shù)根據(jù)企業(yè)的具體情況而定,例如取0.3。間接成本估算根據(jù)企業(yè)具體的成本模型進(jìn)行計(jì)算。132項(xiàng)目總估算成本總估算成本=直接成本+間接成本=直接成本+直接成本*間接成本系數(shù)=直接成本(1+間接成本系數(shù))=工作量*人力成本參數(shù)(1+間接成本系數(shù))成本系數(shù)=人力成本參數(shù)*(1+間接成本系數(shù))總估算成本=工作量*成本系數(shù)例如:某

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論