
阿爾布雷希特功能點方法
功能點度量提供了一種標準化的方法來測量軟體應用程式的各種功能。它從使用者的角度測量功能,即基於使用者請求並獲得的回報。功能點分析是從使用者的角度衡量軟體開發的一種標準方法。
阿爾布雷希特最初提出的功能點度量,隨著1986年國際功能點使用者組(IFPUG)的成立而越來越受歡迎。2002年,IFPUG功能點成為國際ISO標準——ISO/IEC 20926。
什麼是功能點?
FP(功能點)是用於量化軟體應用程式最廣泛使用的功能型別度量。它基於五個使用者可識別的邏輯“功能”,這些功能分為兩種資料功能型別和三種事務功能型別。對於給定的軟體應用程式,這些元素中的每一個都被量化和加權,計算其特徵元素,例如檔案引用或邏輯欄位。
結果數字(未調整的FP)被分組到已新增、已更改或已刪除的功能集,並與價值調整因子(VAF)組合以獲得最終的FP數量。每種計數型別(應用程式、開發專案或增強專案)都使用不同的最終公式。
應用阿爾布雷希特功能點方法
現在讓我們瞭解如何應用阿爾布雷希特功能點方法。其程式如下:
確定元件的數量(EI、EO、EQ、ILF和ELF)
EI - 外部輸入的數量。這些是派生資料跨越邊界從外部傳遞到內部的基本過程。在一個示例圖書館資料庫系統中,輸入現有使用者的圖書館卡號。
EO - 外部輸出的數量。這些是派生資料跨越邊界從內部傳遞到外部的基本過程。在一個示例圖書館資料庫系統中,顯示借給使用者的書籍列表。
EQ - 外部查詢的數量。這些是具有輸入和輸出元件的基本過程,這些過程導致從一個或多個內部邏輯檔案和外部介面檔案中檢索資料。在一個示例圖書館資料庫系統中,確定當前借給使用者的書籍。
ILF - 內部邏輯檔案數量。這些是完全位於應用程式邊界內、透過外部輸入維護的使用者可識別的一組邏輯相關資料。在一個示例圖書館資料庫系統中,圖書館書籍的檔案。
ELF - 外部邏輯檔案數量。這些是僅用於參考目的、完全位於系統外部的使用者可識別的一組邏輯相關資料。在一個示例圖書館資料庫系統中,包含圖書館計費系統中交易的檔案。
計算未調整的功能點計數 (UFC)
將每個元件評定為低、平均或高。
對於事務(EI、EO和EQ),評級基於FTR和DET。
FTR - 更新或引用的檔案數量。
DET - 使用者可識別的欄位數量。
根據下表,引用2個檔案和10個數據元素的EI將被評為平均。
FTRs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
0-1 | 低 | 低 | 平均 | |
2-3 | 低 | 平均 | 高 | |
>3 | 平均 | 高 | 高 |
對於檔案(ILF和ELF),評級基於RET和DET。
RET - ILF或ELF中使用者可識別的數目元素。
DET - 使用者可識別的欄位數量。
根據下表,包含10個數據元素和5個欄位的ILF將被評為高。
RETs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | 低 | 低 | 平均 | |
2-5 | 低 | 平均 | 高 | |
>5 | 平均 | 高 | 高 |
將評級轉換為UFCs。
評級 | 值 | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
低 | 4 | 3 | 3 | 7 | 5 |
平均 | 5 | 4 | 4 | 10 | 7 |
高 | 6 | 5 | 6 | 15 | 10 |
計算最終功能點計數 (FPC)
基於14個一般系統特徵(GSC)計算價值調整因子(VAF)。
一般系統特性 | 簡短描述 | |
---|---|---|
GSC 1 | 資料通訊 | 有多少通訊設施可以幫助與應用程式或系統交換資訊? |
GSC 2 | 分散式資料處理 | 如何處理分散式資料和處理功能? |
GSC 3 | 效能 | 使用者是否需要響應時間或吞吐量? |
GSC 4 | 大量使用的配置 | 應用程式將在其上執行的當前硬體平臺的使用頻率如何? |
GSC 5 | 交易率 | 交易每天、每週、每月等的執行頻率如何? |
GSC 6 | 線上資料輸入 | 線上輸入的資訊百分比是多少? |
GSC 7 | 終端使用者效率 | 應用程式是否針對終端使用者效率而設計? |
GSC 8 | 線上更新 | 有多少ILF透過線上事務更新? |
GSC 9 | 複雜處理 | 應用程式是否具有廣泛的邏輯或數學處理? |
GSC 10 | 可重用性 | 應用程式是為滿足一個還是多個使用者的需求而開發的? |
GSC 11 | 安裝簡易性 | 轉換和安裝有多困難? |
GSC 12 | 操作簡易性 | 啟動、備份和恢復程式的有效性和/或自動化程度如何? |
GSC 13 | 多個站點 | 應用程式是否專門設計、開發和支援在多個站點為多個組織安裝? |
GSC 14 | 促進變更 | 應用程式是否專門設計、開發和支援以促進變更? |
根據其影響程度(無影響到強烈影響)在0到5的範圍內對每個GSC進行加權。
計算FPC如下:
FPC = UFC * (0.65+(sum(GSC) * .01))
複雜性
複雜性是規模的一個單獨組成部分。它分為兩種型別:
問題的複雜性 - 這是針對問題尋求最佳解決方案所需的資源量。
解決方案的複雜性 - 這是實施特定解決方案所需的資源。它有兩個方面,如下所示:
時間複雜度 - 資源是計算機時間。
空間複雜度 - 資源是計算機記憶體。
測量複雜性
複雜性的一方面是效率。它測量任何可以建模為演算法的軟體產品。
例如:如果解決特定問題的所有例項的演算法需要f(n)次計算,那麼如果對於具有複雜性g的任何其他解決問題的演算法,f是O(g),則f(n)是漸近最優的。那麼,給定問題的複雜度就是問題的解決方案的漸近最優演算法的大O。