王志華++李克文
摘 要本文闡述了基于NESMA功能點分析方法的基本原則和方法,針對一個實例公司資料管理系統,實施基于NESMA功能點分析法,統計該系統的功能點數。
【關鍵詞】功能點 NESMA 功能點計算
1 引言
軟件項目早期階段,首要的工作就是提交給客戶的軟件系統的規模、完成它所需要的工作量和成本估計。其中軟件規模估計是進行項目工作量、成本及進度估計的前提條件,因此本文著重研究與規模估計相關的技術方法。目前,國際上已經存在很多軟件規模估計方法和模型,如功能點(Function Point)、代碼行(Line of Code)、德爾菲(Delphi)、用例點(Use Case Point)等,
NESMA功能規模度量是從用戶角度來估計規模,通過量化與外部數據輸入、輸出或文件類型等有關的功能性處理信息,來度量軟件規模的方法,不去考慮軟件的具體實現。
2 NESMA功能點分析方法研究
2.1 概述
功能點分析法FPA(FunctionPointAnalysis)是由IBM的工程師Allan JAlbrecht于20世紀70年代末提出的,是一種與程序語言無關,能夠有效衡量軟件規模的方法。荷蘭軟件度量協會(Netherland Software Measurement Association)推出了NESMA功能點,都是Albrecht功能點分析理論的發展和細化。
2.2 規模估計過程
一般分為以下幾個步驟:
(1)確定估計的類型,根據可收集到的文檔;
(2)確定估計范圍和系統邊界;
(3)度量數據功能和事務功能;
(4)確定未調整功能點數;
(5)確定調整因子;
(6)計算調整后的功能點數。
2.3 功能類型
軟件項目管理中的功能點估計法將功能點分為5類:
2.3.1 內部邏輯文件(ILF Internal Logical File)
在應用程序邊界內維護的用戶可識別的邏輯相關數據組或控制信息。其主要目的是保存由被計數的應用程序的一個或多個基本處理所維護的數據。
2.3.2 外部接口文件(EIF External Interface File)
被一應用程序引用但在另一應用程序邊界內被維護的,用戶可識別的邏輯相關數據組或控制信息, 其主要目的是保存由被計數的應用程序邊界內的一個或多個基本處理所引用的數據。
2.3.3 外部查詢(EQ External Inquiry)
發送數據或控制信息到應用程序邊界外的一個基本處理,其主要目的是通過檢索來自內部邏輯文件或外部接口文件的數據或控制信息,向用戶提供信息。處理邏輯既不包含數學公式或計算,也不創建新的數據。處理期間不維護內部邏輯文件,也不改變系統行為。
2.3.4 外部輸入(EI External Input)
數據或控制信息由外向內穿越應用程序邊界的一個基本處理過程,其主要目的是維護一個或多個 內部邏輯文件和/或改變系統行為。
2.3.5 外部輸出(EO External Output)
發送數據或控制信息到應用程序邊界外的一個基本處理,其主要目的是通過檢索數據或控制信息, 此外還通過處理邏輯來向用戶提供信息,其處理邏輯必須包含至少一個數學公式或計算,或創建派生 的數據。一個外部輸出也可以維護一個或多個內部邏輯文件,和/或改變系統行為。
其中:
(1)數據類型:ILF、EIF
(2)事務類型:EI、EO、EQ
2.4 確定未調整功能點數
(1)計算各模塊的內部邏輯文件、外部接口文件、查詢、輸入、輸出的數目;
(2)計算未調整功能點數UFP=事務功能+數據功能,即等于ILF、EIF、EO、EI、EQ的總和。
2.5 確定調整因子
UFP 是通過建立一個準則來確定某個特定的度量參數進行計算。 調整后的功能點數=UFP *TCF(技術復雜因子,technical complexity factor)
其中TCF 共由 14 個因素組成,如下所示:數據通信、分布式數據處理、性能、大量使用配置、事物處理速率、在線數據輸入、最終用戶使用效率、在線更新、復雜處理、復用性、易于安裝、易于操作、多站點、支持變更。
2.6 計算調整后的功能點數
調整后的功能點數S:=UFP*TCF
S:調整后的功能點數
3 應用實例
以公司內部資料管理系統為例,資料管理系統主要包括管理員基本信息、資料信息管理、借閱管理及查詢等。應用NESMA功能點分析方法進行軟件項目規模估計。
資料管理系統功能點:
EI:資料續借、資料借閱、添加和修改資料、修改規則
EO:借閱者信息統計、借閱詳細信息、
EQ:查看規則信息、查看借閱者信息、查詢資料信息、
EIF:管理員信息文件、借閱者信息文件、員工信息文件
LIF:規則信息文件、權限信息文件、資料信息文件
未調整功能點表 :UFP=ILF+EIF+EO+EI+EQ=95+60+23+25+20=223
調整后的功能點數:S=UFP*TCF=223*(0.65+0.01*Fi)=223*1.3=289.9
4 結束語
本文首先闡述了基于NESMA的功能點的分析方法,以及如何按照NESMA步驟對應用系統功能點的分析和統計,最后根據實例:資料管理系統,實施NESMA功能點分析方法。
鑒于篇幅的原因,基于NESMA的功能點的分析方法未能詳細的描述清楚,在以后的工作中,繼續探索簡化NESMA功能點分析方法,提高項目估計的準確度。
參考文獻
[1]DavidGarmus&DavidHerros著功能點分析[M].北京:清華大學出版社,2003.
[2]Harold Kerzner著.項目管理--計劃、進度和控制的系統方法[M].北京:電子工業出版社,2002.
[3]馮靜,朱小冬,甘茂治.軟件發布周期費用估計方法研究[J].微計算機信息,2006,7-3:288-290.
[4]李幟,林立新,曹亞波.軟件工程項目管理-功能點分方法與實踐[M].北京:清華大學出版社,2005.
作者簡介
王志華(1978- ),女,中國石油大學(華東)計算機與通信工程學院碩士研究生,研究方向為項目管理。
李克文(1969-),男,中國石油大學(華東)計算機與通信工程學院教授,博士。
作者單位
中國石油大學(華東)計算機與通信工程學院 山東省青島市 266000