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