簡介
IFPUG 功能點估算基本方法
Function Point Estimation 功能點估算是一種用來估算項目大小的技術。
項目經理從已經界定的軟體範圍開始,並根據該陳述將軟體分解為可以被單獨估算的功能單元,然後估算每一個功能的FP值。這種分析方法是按照功能為估算單元進行分解,同樣如果以其它元素作為估算單元,例如類、對象、業務過程,以下都以功能分解進行討論。
注意:功能單元是指分解到的最小可估算單元。
FP值是按照經驗,使用複雜度參數進行估算調整過的量化的數值。
過程
a) 基本過程;
b) 分解項目到可以被估算的最小功能單元;
c) 識別功能單元的類型,估算複雜度;
d) 計算總體系統特徵值;
e) 計算調整因子;
f) 套用公式計算FP值。
1. 界定項目範圍
界定項目範圍這次不討論。
2. 分解項目到可以被估算的最小功能單元
系統用5種信息域特徵進行描述:
事務(Transaction):
外部輸入( External Input EI)
外部輸出(External Output EO)
外部查詢(External Inquiry EQ)
數據存儲:
內部邏輯檔案(Internal Logical File ILF)
外部接口檔案(External Interface File EIF)。
內部檔案(ILF)指每個邏輯主檔案(即數據的一個邏輯組合,它可能是某大型資料庫的一部分或者是一個獨立的檔案),例如資料庫表。注意不是一個資料庫表就是一個ILF,例如契約數據可以包括契約信息、契約條款、契約付款計畫。
外部接口:所有機器可讀的接口,是不由本系統維護的邏輯檔案,是其它系統的ILF。例如:web service取回的數據,一個人工維護的Excel表格。
3. 估算功能點的複雜度
數據元素類型(Data Element Types DET)是一個用戶可識別的、唯一性的、非遞歸的域。
記錄元素類型(Record Element Types RET)是ILF或者EIF中用戶能夠識別的數據元素小組。
檔案類型(File Types Referenced FTR)是被引用或更新的內部邏輯檔案。
交易類信息域(EI、EQ、EO)的複雜程度取決於這個交易牽涉到的數據元素類型數量,以及被引用或者更新的檔案檔案類型的數量。
數據存儲(EIF、ILF)的複雜程度取決於這個數據的邏輯組合包含了多少類記錄元素類型,以及包含了多少數據元素類型。例如契約數據包括了契約信息、契約條款、契約付款計畫,就是3個RET。
記錄了每個信息域的DET、RET、FTR之後,按照下表為每個信息域進行複雜度評定、打分,總分就是這個功能點的分值。
評估EI複雜度
引用的檔案類型個數(FTR’s) 數據元素(Data Elements)
1-4 5-15 >15
0-1 低 低 低
2 低 中 高
>=3 中 高 高
評估EO和EQ複雜度
引用的檔案類型個數(FTR’s) 數據元素(Data Elements)
1-5 6-19 >19
0-1 低 低 中
2-3 低 中 高
>3 中 高 高
事務型信息域評分值
級數(Rating) 加權值
低 4 3 3
中 5 4 4
高 7 6 6
評估 ILF EIF 的複雜度
記錄元素類型(RET’s) 數據元素(Data Elements)
1-19 20-50 >50
1 低 低 中
2-5 低 中 高
>5 中 高 高
ILF EIF 的評分值
級數(Rating) 加權值
ILF EIF
低 7 5
中 10 7
高 15 10
FP = Σ 各個複雜度等級的信息域數量 × 加權值
4. 計算總體系統特徵值General Sysytem Characteristics GSC
也稱做複雜度調整值,是系統整體複雜程度的度量,取值 Fi 為0-5。
通用特性 描述
1. 數據通信 多少個通信設施在套用或系統之間輔助傳輸和交換信息。
2. 分布數據處理 分布的數據和過程函式如何處理?
3. 性能 用戶要求相應時間或者吞吐量嗎?
4. 硬體負荷 套用運行在的硬體平台工作強度如何?
5. 事務頻度 事務執行的頻率(天、周、月)如何?
6. 線上數據輸入 線上數據輸入率是多少?
7. 終端用戶效率 應用程式設計考慮到終端用戶的效率嗎?
8.線上更新 多少ILF被線上事務所更新?
9. 處理複雜度 套用有很多的邏輯或者數據處理嗎 ?
10. 重用性 被開發的套用要滿足一個或者多個用戶需要嗎?
11. 易安裝性 升級或者安裝的難度如何?
12. 易操作性 啟動、備份、恢復過程的效率和自動化程度如何?
13.跨平台性 套用被設計、開發和支持被安裝在多個組織的多個安裝點(不同的安裝點的軟硬體平台環境不同)嗎?
14.可擴展性 套用被設計、開發以適應變化嗎?
調整過的FP = FP * ( 0.65 + 0.001 *Σ Fi)
參考IFPUG的《功能點計算實踐手冊》