摘要:項目管理論文代寫/軟件成本估算在軟件項目管理中處于非常重要的地位。本文介紹了常用的幾種成本估算數(shù)學(xué)模型和直覺思維方法,分析了成本估算模型和直觀判定存在的問題,并在此基礎(chǔ)上提出將數(shù)學(xué)模型與直觀判定結(jié)合起來構(gòu)造合理估算的一種合成技術(shù)的估算方案。
關(guān)鍵詞:軟件項目管理;成本估算模型;直覺思維
一、軟件成本估算貫穿于整個軟件生命周期
項目初期粗略的成本估算是必要的,它往往用于確定項目的可行性分析。在項目計劃階段還需對項目進行詳細的成本估算,設(shè)定項目工作分解表中每項任務(wù)可能的成本,作為項目執(zhí)行階段進行成本控制的基準。并且,在項目執(zhí)行階段,當(dāng)項目實際成本與計劃成本出現(xiàn)差異時,還需對項目后期的成本重新進行必要的估算。因此,項目成本估算在項目的管理和控制中占據(jù)著非常重要的地位。而在軟件項目中,由于在人員、開發(fā)周期、項目范圍及技術(shù)難度等方面與其它項目相比具有更大的不確定性,故準確估算其成本就顯得特別困難。因而合理估算軟件項目成本就尤其重要。
二、軟件項目中的成本估算模型
現(xiàn)有的大多數(shù)軟件成本估算模型適于預(yù)算、權(quán)衡分析、計劃、控制和投資分析等范疇。成本估算模型技術(shù)多采用經(jīng)驗公式對軟件項目進行成本估算。在大多數(shù)估算模型中,軟件規(guī)模是決定成本的主要因素。有兩種衡量軟件規(guī)模的常規(guī)方法:基于代碼行的估算方法和基于功能點的估算方法。許多成本估算模型中將代碼行或功能點數(shù)作為主要的輸入?yún)?shù)。
1.面向代碼行的成本估算模型
代碼行(lines of code,LOC)是衡量源代碼長度的最常用的方法。NCLOC(non-comments source lines ofcode縮寫)用于表達不含注解的源代碼行數(shù)。NCLOC也常常被當(dāng)作為有效的代碼行數(shù)(effective lines of code,ELOC)。在很多情況下,為了日后更清楚地閱讀和理解程序,提高系統(tǒng)的可維護性,在程序開發(fā)中往往要求在程序中附上詳細的注解,在這種情況下,包含注解的源代碼行數(shù)也是一個有效的度量標準。CLOC(commented source line of code縮寫)用于表達含注解的源代碼行數(shù)。綜上所述,我們給出代碼行的定義如公式1所示:總長度(LOC)=NCLOC+CLOC(1)
2.面向功能點的成本估算模型
面向功能點(Function points,F(xiàn)P)的成本估算模型是用系統(tǒng)的功能數(shù)量來測量軟件規(guī)模的。該方法先評估產(chǎn)品所需功能,然后根據(jù)技術(shù)復(fù)雜度因子(權(quán))對其成本進行量化和修正,估算出最終的軟件成本。
其基本步驟是:
(1)計算未調(diào)整的功能點(UFC)數(shù)目這里所談的功能點數(shù)并非最終軟件中實際的功能數(shù)量,最終軟件實際功能模塊的個數(shù)在軟件開發(fā)之前是不可能精確估算的。在此,我們首先將軟件的所有功能分為外部輸入、外部輸出、外部查詢、外部文件及內(nèi)部文件五大類,并估算每類功能的數(shù)量(FPi),然后依據(jù)待開發(fā)軟件的特點評估各類功能的復(fù)雜度權(quán)重(Wi),在依據(jù)公式2可得未調(diào)整的功能點數(shù)(UFC)。UFC=SUM(FPi*Wi)
(2)外部輸入由用戶提供的、描述面向應(yīng)用的數(shù)據(jù)外部輸出系統(tǒng)向用戶提供的、面向用戶的數(shù)據(jù)外部查詢要求回答的交互式輸入外部文件對其他系統(tǒng)可讀的文件內(nèi)部文件系統(tǒng)里的邏輯主文件權(quán)重因素(Wi)項簡單一般復(fù)雜外部輸入3 4 6外部輸出4 5 7外部查詢3 4 6外部文件7 10 15內(nèi)部文件5 7 10(2)計算調(diào)整后的功能點數(shù)考慮到用戶對系統(tǒng)性能的不同要求,我們還需從表3中反映的14個方面對UFC作進一步的調(diào)整,從而計算出待開發(fā)系統(tǒng)的技術(shù)復(fù)雜度因子(tec