1 目的
本規程的目的是基于軟件需求產生軟件規模的估計。功能點是基于應用軟件的外部、內部特性以及軟件性能的,一種間接的軟件規模的測量。功能點與軟件成本具有重大的成本估計關系(CER:Cost Estimating Relationship)。功能點可以作為經驗統計參數化軟件成本估計公式和模型的輸入,以對軟件的成本進行估計。功能點方法被廣泛的認可在信息系統、數據庫密集型、4GL應用系統開發的規模測量。
2 范圍
功能點是對軟件功能和規模的間接定量測量,它基于客觀的外部應用接口和主觀的內部應用復雜度以及總體的性能特征。該規程由三個邏輯部分組成:決定未調整的功能點計數、加權因子和功能點。
決定未調整的功能計數包括對外部輸入、外部輸出、外部查詢、內部邏輯文件和外部接口文件的計數。決定加權因子包括劃定系統、輸入和輸出、應用復雜度的級別。決定功能點包括將未調整的功能點和加權因子整合在一起。
功能點具有兩個獨立的目標。第一個目標是作為軟件測量、對比和分析(如,軟件度量方法)的基礎。第二個,也是更重要的目標是作為軟件成本估計模型(如,公式)和產出工作量(如,工時)工具的輸入,軟件成本估計模型和工具則基于功能點和工作量之間的經驗成本估計關系(CER)。
3 角色和職責
任務經理:任務經理負責為軟件成本估計進行對功能點的估計。任務經理必須基于外部應用接口估計未調整功能點,和基于應用程序的復雜度和性能對加權因子進行估計。 任務經理必須輔助決定功能點以及從技術人員處獲取輸入。
下列任務承擔責任:
! 6.1 決定未調整功能點計數
! 6.2 決定加權因子
! 6.3 決定功能點
4 輸入
事務和文件清單:應用軟件功能和規模的間接的定量測量基于外部應用接口客觀的數量,如:外部輸入、外部輸出、外部查詢、內部邏輯文件和外部接口文件。
! 外部輸入:數據由外向內跨越邊界的基本處理過程。數據可能來自于數據輸入屏幕、電子輸入或其它應用程序。數據可以是控制信息或業務信息。如果數據是業務信息,它用于維護一個或多個內部邏輯文件。如果數據是控制信息,它不必更新內部邏輯文件。
! 外部輸出:導出的數據由內向外跨越邊界的基本處理過程。數據創建發送給其它應用的報表或輸出文件。這些報表和文件由一個或多個內部邏輯文件和外部接口文件所創建。
! 外部查詢:包括輸入和輸出構件的基本處理過程。輸入和輸出構件導致一個或多個內部邏輯文件和外部接口文件的數據檢索。該信息被發送出應用程序邊界。輸入過程不會更新任何內部邏輯文件以及輸出不包含導出的數據。
! 內部邏輯文件:完全駐留在應用程序內部的邏輯相關數據的用戶可識別的組,通過外部輸入所維護。
! 外部接口文件:僅用于引用目的的邏輯相關數據的用戶可識別的組。數據完全駐留在應用程序外部,由其它應用程序所維護。外部接口文件是其它應用程序的內部邏輯文件。
下列任務需要輸入條件:
! 6.1 決定未調整功能點計數
系統的總體特性:間接和主觀的應用軟件功能和規模的測量基于內部應用復雜度和整體性能特性級別的劃分,如系統、輸入和輸出以及應用復雜度。
以下的任務需要輸入條件:
! 6.2 決定加權因子
5 輸出
功能點:功能點作為軟件成本估計基礎,是軟件規模、功能和復雜度的測量。
下列任務需要輸出條件:
! 6.3 決定功能點
6 步驟
6.1 決定未調整功能點:
決定未調整功能點的數目包括對外部輸入、外部輸出、外部查詢、內部邏輯文件和外部接口文件的計數。
6.1.1 決定外部輸入:
外部輸入是數據由外向內跨越邊界的基本處理過程。數據可能來自于數據輸入屏幕、電子輸入或其它應用程序。數據可以是控制信息或業務信息。如果數據是業務信息,它用于維護一個或多個內部邏輯文件。如果數據是控制信息,它不必更新內部邏輯文件。
對于低、平均或高,將數目分別乘以3、4或6。
6.1.2 決定外部輸出:
外部輸出是導出的數據由內向外跨越邊界的基本處理過程。數據創建發送給其它應用的報表或輸出文件。這些報表和文件由一個或多個內部邏輯文件和外部接口文件所創建。
對于低、平均或高,將數目分別乘以4、5或7。
6.1.3 決定外部查詢:
外部查詢是包括輸入和輸出構件的基本處理過程。輸入和輸出構件導致一個或多個內部邏輯文件和外部接口文件的數據檢索。該信息被發送出應用程序邊界。輸入過程不會更新任何內部邏輯文件以及輸出不包含導出的數據。
對于低、平均或高,將數目分別乘以3、4或6。