代碼行分析方法常見的軟件規(guī)模估算方法
測試工作量的估計往往和軟件開發(fā)的規(guī)模是緊密相關(guān)的.很多軟件公司往往是在估計了即將要開發(fā)的軟件規(guī)模后才做測試工作量的估計,然后求和得出項目的最終工作量估計.這種方法比較適用于有經(jīng)驗積累,測試和開發(fā)模式穩(wěn)定的公司或項目,提供了一個比較準(zhǔn)確,有參考的數(shù)字.但同時由于其完全依賴其前提-開發(fā)工作量的估計,顯得比較脆弱,如果開發(fā)工作量出現(xiàn)較大偏差,測試工作量也就變得毫無用處.在加之代碼行本身就存在著許多問題和局限,所以在選擇其做為項目估算方法時需要好好了解它的原理,優(yōu)缺點進(jìn)而有選擇性的使用.
代碼行, 是來源與英文line of code.那么代碼行分析方法就是就是對軟件產(chǎn)品的源代碼的行數(shù)進(jìn)行測量.但是仔細(xì)想想,可能會有以下疑問:
是計算物理行數(shù),還是程序的命令數(shù)量?
空行是否計算?
注釋是否計算?
預(yù)定義文件是否計算?
不同版本如何計算?
這里面是否設(shè)計到一系列的規(guī)則定義問題?
開發(fā)過程種的配置腳本,編譯腳本是否計算?
共享文件(例如共享的開發(fā)庫文件種的頭部文件)如何計算?
那么現(xiàn)在的一般規(guī)則是計算物理行數(shù),不計算空行,不計算注釋.對于其他選項,一般為計算源文件根目錄下的所有文件.所以代碼行指的是指所有的可執(zhí)行的源代碼行數(shù),包括可交付的工作控制語言 (JCL : job control language) 語句、數(shù)據(jù)定義、數(shù)據(jù)類型聲明、等價聲明、輸入 / 輸出格式聲明等。常使用的單位有: SLOC(single line of code)、KLOC(thousand lines of code)、 LLOC(logical line of code)、PLOC(physical line of code)、NCLOC (non-commented line of code)、DSI(delivered source instruction)。其中SLOC和KLOC比較常用.
代碼行分析方法對技術(shù)人員是有意義的,因為它的確從某種程序上反映了軟件的規(guī)模,并且是物理上可測量的.但是這種方法也存在如下諸多問題.
在需求、計劃、設(shè)計階段因為本身沒有代碼行,需要靠估算來解決??傮w上估算準(zhǔn)確度不高,除非有多年的類似項目經(jīng)驗。估算的準(zhǔn)確程度取決于是否有同類項目的數(shù)據(jù)和估算人員的經(jīng)驗。在編碼、測試、實施階段可以直接數(shù)出來。
在滿足客戶的要求以及反映進(jìn)度方面的能力差強人意,對于管理者意義不大.因此項目很難從整體上跟蹤代碼行數(shù)的指標(biāo)采取行動.
近來可視化編程工具的大量采用,以及模板庫,類庫的廣泛采用,在程序的結(jié)果中有大量自動生成的代碼或者復(fù)雜的自動配置腳本或資源文件設(shè)置,在采用這些工具的項目中,用代碼行分析方法得到數(shù)值的意義已經(jīng)大大降低.
對于不同的編程語言來說,代碼行也缺乏可信轉(zhuǎn)換方式.
盡管代碼行方法有很多缺點,但是由于它容易使用,操作成本低(如果采用適當(dāng)?shù)闹С止ぞ?,還是推薦使用代碼行作為軟件項目管理的參考和補充手段.