2.成本估算模型
。1)IBM模型1977年Walston和Felix總結(jié)了IBM聯(lián)合系統(tǒng)分部(FSD)負(fù)責(zé)的60個(gè)項(xiàng)目的數(shù)據(jù)。其中源代碼從400到467000行,工作量從12到11758人-月,共使用29種不同語(yǔ)言和66種計(jì)算機(jī)。
(2)SLIM模型1979年前后,Putnam在軟件開(kāi)發(fā)生存期雷利(Rayleigh)曲線模型的基礎(chǔ)上提出SLIM商業(yè)化的成本估算模型,SLIM基本估算算式為L(zhǎng)=C k K 1/3 t 4/3d 其中:L和t d 分別表示可交付的源指令數(shù)和開(kāi)發(fā)時(shí)間(單位以年計(jì));K是整個(gè)生存期內(nèi)人的工作量(單位以人一年計(jì)),可從總的開(kāi)發(fā)工作量ED=0.4K求得;C k 是根據(jù)經(jīng)驗(yàn)數(shù)據(jù)確定的常數(shù),表示了開(kāi)發(fā)技術(shù)的先進(jìn)性級(jí)別。如果軟件開(kāi)發(fā)環(huán)境較差(沒(méi)有一定的開(kāi)發(fā)方法,缺少文檔和評(píng)審或批處理方式),取C k =6500;正常的開(kāi)發(fā)環(huán)境(有適當(dāng)?shù)拈_(kāi)發(fā)方法,較好的文檔和評(píng)審,以及交互式的執(zhí)行方式),C k =10000;而一個(gè)較好的開(kāi)發(fā)環(huán)境(自動(dòng)工具和技術(shù)),則取C k =12500。交換上式,可得開(kāi)發(fā)工作量算式 K=L 3 C 3k t 4d 可從美國(guó)或英國(guó)買到SLIM計(jì)算程序,它除了提供開(kāi)發(fā)時(shí)間和成本估算外,還提供關(guān)于風(fēng)險(xiǎn)、可行性、估算CPU時(shí)間需求及項(xiàng)目計(jì)劃中其它有關(guān)信息。
(3)PRICE-S模型Freiman在1979年提出了另一個(gè)商業(yè)化的成本估算模型RCA PRICE-S。PRICE-S計(jì)算程序以一個(gè)未發(fā)表的啟發(fā)式算法為基礎(chǔ),將若干成本因素作為輸入,關(guān)鍵是生成源代碼或目標(biāo)代碼指令的數(shù)量,然后輸出成本和進(jìn)度估算,以及其它可供選擇的項(xiàng)目管理數(shù)據(jù)。另一個(gè)程序PRICE-SL可用于估算系統(tǒng)維護(hù)成本,根據(jù)若干個(gè)用戶提供的參數(shù),如軟件的期望壽命、發(fā)展和使用率等,PRICE-SL運(yùn)行時(shí)以PRICE-S的輸出作為它的輸入。
。4)COCOMO模型TRW開(kāi)發(fā)的結(jié)構(gòu)性成本模型COCOMO(Constructive Cost Model)是最精確、最易于使用的成本估算方法之一,1981年Boehm在他的著作中進(jìn)行了詳盡的描述。
(5)Belley-Basili元模型這種模型提供了最適用于在給定的開(kāi)發(fā)環(huán)境中,工作量估算方程的開(kāi)發(fā)方法。結(jié)果類似于IBM和COCOMO模型。
。6)Schneider模型上述所有模型完全是經(jīng)驗(yàn)性的,1978年Schneider根據(jù)1977年Halstead的軟件科學(xué)理論推導(dǎo)出幾種估算方程,得到的工作量方程與冪定律算式形式相同。
3.代碼行的成本估算方法
這是一種自底向上的估算方法,即從模塊開(kāi)始進(jìn)行估算,步驟如下:
。1)確定功能首先將功能反復(fù)分解,直到可以對(duì)為實(shí)現(xiàn)該功能所要求的源代碼行數(shù)做出可靠性的估算為止。對(duì)各子功能,根據(jù)經(jīng)驗(yàn)數(shù)據(jù)或?qū)嵺`經(jīng)驗(yàn),可以給出極好、正常和較差三種情況下的源代碼估算行數(shù)的期望值,分別用a、m、b表示。
。2)根據(jù)經(jīng)驗(yàn)數(shù)據(jù),確定各子功能的代碼行成本
。3)計(jì)算各子功能的成本和工作量,并計(jì)算任務(wù)的總成本(元)和總工作量(人-月)
。4)計(jì)算開(kāi)發(fā)時(shí)間
。5)對(duì)結(jié)果進(jìn)行分析比較4.每項(xiàng)任務(wù)工作量的成本估算方法開(kāi)發(fā)過(guò)程中,最常用的是每項(xiàng)任務(wù)工作量的成本估算方法。工作量可以用人-日、人-月或人-年的數(shù)量來(lái)表示。知道單位工作量的成本,就可得到估算成本。
下面仍以上節(jié)中的CAD軟件包為例,估算步驟如下:
。1)確定任務(wù) 即每個(gè)功能都必須經(jīng)過(guò)需求分析、設(shè)計(jì)、編碼和測(cè)試工作
(2)確定每項(xiàng)任務(wù)的工作量,對(duì)每項(xiàng)任務(wù)要估算它們所需要的人-月數(shù)。
(3)找出與各項(xiàng)任務(wù)的對(duì)應(yīng)的勞務(wù)費(fèi)數(shù)據(jù) 即每個(gè)單位工作量成本(元/人-月)。因?yàn)楦麟A段的勞務(wù)費(fèi)用不同,需求分析和概要設(shè)計(jì)階段需要較多的高級(jí)技術(shù)人員;而詳細(xì)設(shè)計(jì)、編碼和早期測(cè)試則要求較多的初級(jí)技術(shù)人員。而他們的工資是不相同的。
(4)計(jì)算 計(jì)算各個(gè)工作各個(gè)階段的成本和工作量,然后計(jì)算總成本和總工作量。
。5)分析比較 在整個(gè)開(kāi)發(fā)工作量中,需求分析和設(shè)計(jì)用去了75人-月,約占全部分任務(wù)工作量的50%,說(shuō)明了這項(xiàng)工作的重要性。勞務(wù)費(fèi)反映了勞動(dòng)者的成本,其中包括管理費(fèi)。需求分析的勞務(wù)費(fèi)(5200元/人-月)比設(shè)計(jì)、編碼和單元測(cè)試都高,這也說(shuō)明了這項(xiàng)工作的重要性。
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |