軟件項(xiàng)目工作量評估方法很多,如代碼行法、類比法、WBS、故事點(diǎn)、用例點(diǎn)、NESMA、FPA、cosmic、COCOMOⅡ等。本文主要對功能點(diǎn)方法(FPA)簡述。

功能點(diǎn) FPA 方法

(一)    簡介

  FPA 是從用戶角度出發(fā)度量軟件規(guī)模的一種方法。它從用戶的角度出發(fā),將系統(tǒng)分為數(shù)據(jù)功能和事物功能兩大類,分別根據(jù)具體的規(guī)則來計(jì)算功能點(diǎn),最后結(jié)合系統(tǒng)的特征因子來調(diào)整功能點(diǎn)數(shù), 從而得到最終的系統(tǒng)規(guī)模。

  FPA 較適用于商業(yè)數(shù)據(jù)處理、管理信息系統(tǒng)的估算,因?yàn)樗芨玫胤从诚到y(tǒng)需求上的復(fù)雜度和數(shù)量。從滿足客戶需求的角度講,F(xiàn)PA 具有階段性,對用戶早期參與項(xiàng)目管理、項(xiàng)目經(jīng)理制定項(xiàng)目計(jì)劃更有意義。

(二)    重要概念

  功能點(diǎn)估算法是從用戶視角出發(fā),對軟件的規(guī)模從邏輯設(shè)計(jì)的角度進(jìn)行度量的標(biāo)準(zhǔn)方法。
 
  在功能點(diǎn)估算的過程中,以下概念應(yīng)貫穿始終:

  1、    用戶視角

  用戶視角(User View)是指功能點(diǎn)被用戶所認(rèn)可,由用戶需求書面正式描述,且獨(dú)立于所采用的開發(fā)技術(shù)。

  2、    穿越系統(tǒng)邊界

  穿越系統(tǒng)邊界(Application Boundary)是指數(shù)據(jù)或控制信息由系統(tǒng)內(nèi)發(fā)送到系統(tǒng)外,或由系統(tǒng)外發(fā)送到系統(tǒng)內(nèi)。

  是否穿越系統(tǒng)邊界是 FPA 重要的判斷標(biāo)準(zhǔn)。

  3、    IPO 的異同

  輸入(Input)、處理過程(Process)和輸出(Output)的同與不同亦是FPA 重要的判斷標(biāo)準(zhǔn)。

(三)    FPA 估算方法基本步驟


  1、 收集可得的文檔

  文檔可以包括需求、數(shù)據(jù)/對象模型、類圖、數(shù)據(jù)流圖、用例、
 
  過程描述、報(bào)表顯示、界面顯示、用戶手冊,以及其它軟件開發(fā)文檔。

  2、 確定計(jì)數(shù)范圍和邊界并識別功能用戶需求

  計(jì)數(shù)范圍和邊界需識別計(jì)數(shù)目的。不同的計(jì)數(shù)目的決定了計(jì)數(shù)范圍和軟件邊界的劃分。實(shí)際使用過程中通常為系統(tǒng)的管理邊界, 特殊系統(tǒng)會以架構(gòu)為邊界。

  3、 度量數(shù)據(jù)功能

  數(shù)據(jù)功能的計(jì)算工序(Counting Procedures)包括以下活動:



  FPA 將數(shù)據(jù)功能分為兩類,分別為內(nèi)部邏輯文件(ILF)和外部接口文件(EIF)。

  1)    識別內(nèi)部邏輯文件 ILF

  內(nèi)部邏輯文件(Internal Logical File,簡稱ILF)是在系統(tǒng)邊界內(nèi)部維護(hù)的一組用戶可識別的邏輯上相關(guān)的數(shù)據(jù)或控制信息。ILF 的首要目的是保存由被度量系統(tǒng)的一個或多個基本流程維護(hù)的數(shù)據(jù)。

  2)    識別外部接口文件EIF

  外部接口文件(External Interface File,簡稱 EIF)是用戶可識別的、邏輯相關(guān)的數(shù)據(jù)組或控制信息組,其由被度量應(yīng)用所引用,但在另一應(yīng)用邊界內(nèi)維護(hù)。EIF 的主要目的是保存由被度量應(yīng)
 
  用的一個或多個基本過程引用的數(shù)據(jù)。這意味著一個應(yīng)用的 EIF 必定是另一個應(yīng)用的ILF。

  3)    識別數(shù)據(jù)功能 DET 

  數(shù)據(jù)元素類型(Data Element Types,簡稱DETs)是指在一個

  ILF 或EIF 內(nèi),用戶可認(rèn)知的、唯一的、非重復(fù)的字段。如客戶姓名、年齡、地址、聯(lián)系方式等。

  4)    識別數(shù)據(jù)功能 RET 

  記錄元素類型(Record Element Types,簡稱 RETs)是指在一個ILF 或EIF 內(nèi),用戶可認(rèn)知的數(shù)據(jù)元素子集。如客戶的家庭信息為客戶信息的 RET

  5)    確定ILF 或EIF 的貢獻(xiàn)度

  根據(jù)每一個已確認(rèn)的 ILF 和EIF 的復(fù)雜度(DETs 和RETs 數(shù)量),對其進(jìn)行分類,并賦予未調(diào)節(jié)功能點(diǎn)數(shù)值(Unadjusted Function Points,簡稱UFP)的過程,即為確定其貢獻(xiàn)度



  6)    確定ILF 或EIF 的貢獻(xiàn)度值

  對用戶而言,ILF 與EIF 的業(yè)務(wù)意義是完全不同。因此,對于貢獻(xiàn)度相同的 ILF 和EIF,其未調(diào)節(jié)功能點(diǎn)值是不同的。



  4、 度量事物功能

  事物功能的計(jì)算工序(Counting Procedures)包括以下活動:



  FPA 將事物功能分為三類,外部輸入(EI)、外部輸出(EO)和外部查詢(EQ)。

  1)    識別外部輸入(EI):是處理來自系統(tǒng)邊界外部的數(shù)據(jù)或控制信息的一個基本過程。其首要目的(Primary Intent,簡稱 PI) 是維護(hù)一個或多個ILFs 或者去改變系統(tǒng)行為。

  2)    識別外部輸出(EO):是發(fā)送數(shù)據(jù)或控制信息到系統(tǒng)邊界外部的一個基本過程。其首要目的(PI)是通過處理邏輯呈現(xiàn)信息給用戶,并非或者另外檢索數(shù)據(jù)或控制信息。

  3)    識別外部查詢(EQ):是發(fā)送數(shù)據(jù)或控制信息到系統(tǒng)邊界外部的一個基本過程。其首要目的(PI)是通過從一個 ILF 或EIF 檢索數(shù)據(jù)或控制信息,呈現(xiàn)信息給用戶。

  4)    基本過程

  把功能用戶需求組合或分解為最小活動單元,滿足以下條件:
 
  1)    對用戶有意義,構(gòu)成一個完整的事務(wù);

  2)    自包含;

  3)    使應(yīng)用的業(yè)務(wù)保持持續(xù)狀態(tài),

  例 :功能用戶需求要求提供維護(hù)員工信息的功能。該需求被分解為較小的工作單元,如添加員工信息、修改員工信息、刪除員工信息和查詢員工信息。

  5)    識別事物功能 DET

  數(shù)據(jù)元素類型(Data Element Types,簡稱DET)是指在一個EI、EO 或EQ 內(nèi),用戶可認(rèn)知的、唯一的、非重復(fù)的字段。

  6)    識別事物功能 FTR

  引用文件類型(File Types Referenced,簡稱FTR)是指一個交易功能讀取或維護(hù)的一個ILF,或者一個交易功能所讀取的一個EIF。

  7)    確定EI、EO 和EQ 的貢獻(xiàn)度

  根據(jù)每一個已確認(rèn)的 EI、EO 和EQ 的復(fù)雜度(FTRs 和DETs 數(shù)量),對其進(jìn)行分類,并賦予未調(diào)節(jié)功能點(diǎn)數(shù)值(Unadjusted Function Points)的過程,即為確定其貢獻(xiàn)度。





  8)    確定EI、EO 和EQ 的貢獻(xiàn)度

  我們應(yīng)注意到,貢獻(xiàn)度相同的 EI、EQ,其未調(diào)節(jié)功能點(diǎn)值是相同的;與EI、EQ 貢獻(xiàn)度相同的 EO,其未調(diào)節(jié)功能點(diǎn)值略高。



 ?。怠⒂?jì)算功能規(guī)模

  1)    計(jì)算未調(diào)整功能點(diǎn)數(shù)

  UFP= ILFs+EIFs+EIs+EOs+EQs

  2)    確定系統(tǒng)調(diào)節(jié)因子

  在實(shí)際軟件項(xiàng)目開發(fā)過程中因技術(shù)因素和環(huán)境因素會對軟件項(xiàng)目工作量有不同程度的影響??筛鶕?jù)組織級基準(zhǔn)庫設(shè)定相關(guān)調(diào)整因子(System Adjustment Factor,簡稱SAF)。如應(yīng)用類型、質(zhì)量特征、開發(fā)語言、團(tuán)隊(duì)背景、評估時點(diǎn)等。

  計(jì)算調(diào)整后的功能點(diǎn)數(shù)  AFP=UFP*SAF

  3)    確定生產(chǎn)率PDR

  可根據(jù)系統(tǒng)特點(diǎn)測算組織級系統(tǒng)基準(zhǔn)生產(chǎn)率。4)測算工作量
 
  工作量   AE=AFP*PDR

  6、 報(bào)告功能點(diǎn)計(jì)數(shù)結(jié)果

  將功能點(diǎn)計(jì)數(shù)過程和工作量計(jì)數(shù)結(jié)果編寫報(bào)告呈現(xiàn)給讀者。(中基數(shù)聯(lián)版權(quán)所有,轉(zhuǎn)載需標(biāo)明出處。)