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