【正文】
估算模型。TD開發(fā)持續(xù)時(shí)間(以年計(jì))。(Ck3TD4)其中: L源代碼行數(shù)(以LOC計(jì))。下面是對(duì)Putnam算法模型,經(jīng)驗(yàn)估算模型的分析。工作量的估計(jì)可采用下面的公式進(jìn)行:工作量(人月)= {規(guī)模(LOC)/ 生產(chǎn)率(LOC/人天)}/ 22(天/月)參考?xì)v史項(xiàng)目數(shù)據(jù)中項(xiàng)目各階段工作量所占百分比,可估算出各階段工作量:各階段工作量(人月) = 總工作量(人月) * 各階段工作量百分比。目前可以參考的歷史數(shù)據(jù)包括:(1)有歷史項(xiàng)目的準(zhǔn)確數(shù)據(jù);(2)至少有一個(gè)歷史項(xiàng)目與現(xiàn)有項(xiàng)目規(guī)模類似;(3)現(xiàn)有項(xiàng)目將和類似的歷史項(xiàng)目采用類似的生命周期、開發(fā)過程、開發(fā)技術(shù)和工具,類似技能和經(jīng)驗(yàn)的項(xiàng)目成員。 比如,在項(xiàng)目開發(fā)過程中,1期做了三個(gè)模塊,2期又要做三個(gè)模塊,但其中2期與1期有部分重用的代碼,根據(jù)這個(gè)方法可以估算出實(shí)際的規(guī)模。 即:重用這10000代碼相當(dāng)于編寫5000代碼行的規(guī)模。根據(jù)這三個(gè)百分比,可用下面的計(jì)算公式計(jì)算等價(jià)新代碼行:等價(jià)代碼行=[重新設(shè)計(jì)%+重新編碼%+重新測(cè)試%247。軟件項(xiàng)目中用類比法,往往還要解決可重用代碼的估算問題。(3)通過步驟1和2得出各個(gè)功能的估計(jì)值。 其基本步驟是:(1)整理出項(xiàng)目功能列表和實(shí)現(xiàn)每個(gè)功能的代碼行。適合評(píng)估一些與歷史項(xiàng)目在應(yīng)用領(lǐng)域、環(huán)境和復(fù)雜度的相似的項(xiàng)目,通過新項(xiàng)目與歷史項(xiàng)目的比較得到規(guī)模估計(jì)。(6)專家重新無記名地填寫表格,該過程要適當(dāng)?shù)刂貜?fù)多輪。(2)協(xié)調(diào)員召集小組會(huì)議,專家與協(xié)調(diào)員以及專家之間對(duì)估計(jì)問題進(jìn)行討論(3)專家無記名地填寫表格。規(guī)模估計(jì)的方法有Wideband Delphi方法、功能點(diǎn)估計(jì)方法、PERT估計(jì)法、類比估算法等,由于篇幅有限本文只介紹Wideband Delphi方法和類比估算法??傮w軟件規(guī)模估算。如下圖:圖11 估算流程圖邊框成本估算的過程是在確定被估算主題之后,參照歷史項(xiàng)目數(shù)據(jù),先進(jìn)行規(guī)模估算,工作量估算,開發(fā)工期估算,這些過程是后來進(jìn)行成本估算的準(zhǔn)備過程,在成本估算之后,再將實(shí)際軟件項(xiàng)目開發(fā)成本與估算的進(jìn)行比較,選擇是否需要重新估算,并把實(shí)際軟件項(xiàng)目開發(fā)結(jié)果數(shù)據(jù)做為下一次估算的歷史數(shù)據(jù)。因此,軟件開發(fā)成本的估算,應(yīng)是從軟件計(jì)劃、需求分析、設(shè)計(jì)、編碼、單元測(cè)試、集成測(cè)試到認(rèn)證測(cè)試,整個(gè)開發(fā)過程所花費(fèi)的代價(jià)作為依據(jù)的。不同與傳統(tǒng)的工業(yè)產(chǎn)品,軟件的成本不包括原材料和能源的消耗,主要是人的勞動(dòng)的消耗。AbstractThe paper discussed the important problem in software management and development, cost estimation in the process of software project management. Administrator of software project management and users can’t ignore the munication. We must manage the cost of software project to avoid of costing a lot of time and money. So, the cost estimation in the process of software project management is important in the early