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