什么是功能點方法?
功能點方法是一種估算軟件項目大小的方法,它是從用戶視角出發(fā),通過量化系統(tǒng)功能來度量軟件的規(guī)模,這種度量主要基于系統(tǒng)的邏輯設計。功能點方法最早由IBM于1979年提出,它是一種相對抽象的方法,是一種“人為設計”出的度量方式,主要能夠?qū)椖康墓ぷ髁窟M行合理估計,并能夠在項目的整個生命周期中對之進行客觀、公正、有效性地度量。
功能點方法是一種分解類的規(guī)模度量方法,即把復雜的系統(tǒng)分解為較小的子系統(tǒng)進行評估的方法。功能點度量方法是基于軟件文檔的功能性需求來進行度量,其結(jié)果是以功能點數(shù)的形式來表示軟件的規(guī)模。把軟件系統(tǒng)按照組件進行分解,從而確定系統(tǒng)的功能點數(shù)量。
目前應用比較廣泛的是國際功能點用戶組(IFPUG)發(fā)布的標準功能點法和荷蘭軟件度量協(xié)會(NESMA)發(fā)布的快速功能點法。
在軟件成本評估時,我們?nèi)绾闻袛嗷蜃R別功能點呢?
功能點計數(shù)項分為數(shù)據(jù)功能和交易功能2大類,具體包括以下5個:
a)內(nèi)部邏輯文件(Internal Logical File,ILF,簡稱內(nèi)部數(shù)據(jù))
軟件內(nèi)部需要維護(如增刪改查)的數(shù)據(jù)。
b)外部接口文件(External Interface File,EIF,簡稱外部接口)
在其它系統(tǒng)中維護但本軟件需要調(diào)用的數(shù)據(jù)。
c)外部輸入(External Input,EI)
向軟件輸入數(shù)據(jù)或發(fā)送指令。
d)外部輸出(External Output,EO)
軟件向使用者或其它系統(tǒng)輸出的數(shù)據(jù)或發(fā)送的指令。
e)外部查詢(External Query,EQ)
EQ指使用軟件進行的簡單查詢。
數(shù)據(jù)功能代表系統(tǒng)提供給用戶的滿足系統(tǒng)內(nèi)部和外部數(shù)據(jù)需求的功能,分為內(nèi)部邏輯文件(ILF)、外部接口文件(EIF)兩類。
交易功能代表提供給用戶的處理數(shù)據(jù)的功能,每一個交易功能都是一個完整的基本過程,一個基本過程應該是業(yè)務上的原子操作,并產(chǎn)生基本的業(yè)務價值,基本過程必然穿越系統(tǒng)邊界,基本過程分為EI、EO和EQ類。
項目早期(如甲方預算)通常采用預估功能點方法,只需要識別ILF/EIF。
在項目中期(如技術(shù)方案、立項、項目計劃)通常采用估算功能點方法,需要識別ILF/EIF/EI/EO/EQ。
在項目中后期(如需求分析、變更、項目決算)可采用詳細功能點方法。
數(shù)據(jù)功能(邏輯文件)符合如下簡易識別規(guī)則:
1、ILF(內(nèi)部邏輯文件)
——ILF指在待開發(fā)系統(tǒng)內(nèi)部邏輯上的一組數(shù)據(jù)
——用戶可以理解和識別ILF,對ILF的操作是用戶的業(yè)務需求
示例:根據(jù)如下需求從“邏輯”性上識別ILF
會議管理系統(tǒng)……包括X局(信息中心)局、處(或公司)舉行的會議、會議計劃、安排、記錄、查詢、通知、紀要等功能均實現(xiàn)電子化,提高會議效率。
從需求中識別的內(nèi)部邏輯文件包括:會議信息、人員信息、單位信息。如會議紀要需要獨立記錄,如會議記錄刪除后會議紀要仍單獨保留,則會議紀要也要識別為邏輯數(shù)據(jù)。
2、EIF(外部接口文件)
——EIF指由本系統(tǒng)引用(即“讀”),在系統(tǒng)邊界外由其他系統(tǒng)進行維護的邏輯上的一組數(shù)據(jù)。這里的維護是指邏輯上而物理上的維護或存儲。引用的實現(xiàn)方式不影響計數(shù)結(jié)果。
——本系統(tǒng)的EIF一定是其他某系統(tǒng)的ILF。
由此可知,我們在進行軟件成本度量時,識別為邏輯文件的有:業(yè)務數(shù)據(jù)或業(yè)務規(guī)則;內(nèi)部維護(ILF);僅引用,其他系統(tǒng)維護(EIF)。而一些如:中間表、內(nèi)部只讀信息、缺省值、數(shù)據(jù)編碼等不是邏輯文件。
交易功能(基本過程)符合如下簡易識別規(guī)則:
1、EI的基本識別規(guī)則如下:
a) 是來自系統(tǒng)邊界之外的輸入數(shù)據(jù)或控制信息;
b) 如果穿過邊界的數(shù)據(jù)不是改變系統(tǒng)行為的控制信息,那么至少應維護一個ILF;
c) 確保該EI沒有被重復計數(shù),即任何被分別計數(shù)的兩個EI至少滿足三個條件之一(涉及的ILF或EIF不同、涉及的數(shù)據(jù)元素不同或處理邏輯不同),否則被視為同一EI;
2、EO的基本識別規(guī)則如下:
a) 將數(shù)據(jù)或控制信息發(fā)送出系統(tǒng)邊界;
b) 處理邏輯包含至少一個數(shù)學公式或計算過程;或者產(chǎn)生了衍生數(shù)據(jù);或者維護了至少一個ILF;或者改變了系統(tǒng)的行為;
c) 確保該EO沒有被重復計數(shù),即任何被分別計數(shù)的兩個EO至少滿足三個條件之一(涉及的ILF或EIF不同、涉及的數(shù)據(jù)元素不同或處理邏輯不同),否則被視為同一EO;
3、EQ的基本識別規(guī)則如下:
a) 將數(shù)據(jù)或控制信息發(fā)送出系統(tǒng)邊界;
b) 處理邏輯可以包含篩選、分組或排序;
c) 處理邏輯不可以包含數(shù)學公式或計算過程,不可以產(chǎn)生派生數(shù)據(jù),不可以修改邏輯文件;也不可以改變系統(tǒng)行為,但可以對已有數(shù)據(jù)進行篩選、分組或排序
d) 確保該EQ沒有被重復計數(shù),即任何被分別計數(shù)的兩個EQ至少滿足三個條件之一(涉及的ILF或EIF不同、涉及的數(shù)據(jù)元素不同或處理邏輯不同),否則被視為同一EQ。
以上就是軟件造價評估公司中基數(shù)聯(lián)為您帶來的“使用功能點方法估算軟件開發(fā)成本時如何判斷功能點?”所有內(nèi)容,更多軟件開發(fā)成本估算知識敬請關注中基數(shù)聯(lián)!