全球专业中文经管百科,由121,994位网友共同编写而成,共计436,047个条目

功能點估演算法

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

目錄

什麼是功能點估演算法

  面向功能的軟體度量使用軟體的功能作為測量的規範化值。因為“功能”不能直接測量,所以必須通過其他直接測量來導出,用得最多的是功能點技術。功能點(Function Point,FP)技術是Albrecht在1979年首先提出來的一種比較流行的估算方法,它將估算的關註點集中於程式的“功能性”和“實用性”上,而不是LOC的計數上。可以說,功能點估演算法是指一種基於軟體功能的度量方法。與代碼行估演算法不同的是,功能點估演算法是對軟體和軟體開發過程的間接度量。

功能點估演算法的運用

  功能點是基於軟體信息領域的可計算的(直接的)測量及對其複雜性的評估而導出的。功能計算如圖1所示。針對每個功能確定了外部輸出數、外部輸入數、文件數、用戶查詢數和外部介面數等五個信息域特征,每個信息域特征值按下列方式定義。

  1)用戶輸出數

  計算每個用戶輸出,外部輸出是為用戶提供的面嚮應用的輸出信息,這些信息通常包括報告、屏幕信息、錯誤信息等方面的內容。每一個外部輸出數據都要進行計數,獲得外部輸出數。

  2)用戶輸人數

  計算每個用戶輸入,它們向軟體提供面嚮應用的數據。外部輸入是每個用戶輸入的面向不同應用的輸入數據,輸入應該與查詢區分開來,分別計算。

  3)文件數

  計算每個邏輯的主文件。邏輯文件是軟體修改或保存的邏輯記錄集合,它可以是一個大的資料庫的一部分,也可以是一個獨立的文件。

  4)用戶查詢數

  一個查詢被定義為一次聯機輸入,它引發軟體以聯機方式產生某種即時響應,是軟體以聯機輸出方式產生的獨立查詢信息。每一個不同的查詢都要計算。

  5)外部介面數

  外部介面是所有用來將信息與其他系統進行交互或共用的埠(如磁帶或磁碟上的數據文件),利用這些介面可以將信息從一個系統傳送到另一個系統。

  收集到以上五個信息域特征值後,就將每個計數與一個複雜度值(加權因數)關聯上。採用功能點的組織建立了一個標準,以確定某個特定條目是簡單的、平均的還是複雜的。不過複雜的確定多少有些主觀。

  每個功能的總計數值可以作為這個功能的功能點使用,以估算該功能的成本和工作量。整個項目的估算還應考慮一些全局性的因素,並不是所以功能總計數值的簡單相加。整個項目的功能點計算採用下麵的公式:

  總FP=∑每個功能的總計數值×(0.65+0.01×∑Fi)

  其中,Fi(i=1,2,…,14)是基於對圖2中問題的回答而得到的“複雜度調整值(0~5)”。等式中的常數是根據經驗確定的。

  Fi的取值在0~5之間:

  Fi:

  (1)系統需要可靠的備份和複原嗎?

  (2)需要數據通信嗎?

  (3)有分佈處理功能嗎?

  (4)性能很關鍵嗎?

  (5)系統在一個已有的、很實用的操作環境中運行嗎?

  (6)系統需要聯機數據項嗎?

  (7)聯機數據項是否需要在多個屏幕或多個操作之間切換以完成輸入?

  (8)需要聯機更新主文件嗎?

  (9)輸入、輸出、文件或查詢很複雜嗎?

  (10)內部處理複雜嗎?

  (11)代碼需要被設計成可復用的嗎?

  (12)設計中需要包括轉換及安裝嗎?

  (13)系統的設計支持不同組織的多次安裝嗎?

  (14)應用的設計方便用戶修改和使用嗎?

  一旦計箕出功能點,則可以使用它以規範軟體生產率質量及其他屬性的測量和估算,也可以類似於LOC的方法來對每個功能點的錯誤數、每個功能點的缺陷數、每個功能點的成本、每個功能點的文檔頁數、每人月完成的功能點數進行估算。

  功能點也可以按照一定的條件轉換為代碼行(LOC),如表1就是一個轉換表,這個表是根據業界的經驗研究得出針對各種語言的轉換率。

  表1 功能點到代碼行的轉換表

語言代碼行/FP
彙編語言320
C128
C++64
VB32
JAVA30
SQL12

參考文獻

  • 李彤,王煒,鬱湧編著,軟體工程概論,科學出版社,2012.02,第249頁
本條目對我有幫助12
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

Tracy,刘维燎.

評論(共0條)

提示:評論內容為網友針對條目"功能點估演算法"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP

闽公网安备 35020302032707号