NESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点方法是五种ISO国际功能点标准之一,不但易学易用、快速、经济,而且容易开发和建立用户自己特有的估算模型。
在五种国际标准中,只有NESMA方法定义了3种应用场景以支持不同粒度的估算,并且随着项目的进展和需求的完善,估算者可以不断修正之前的结果,进行持续的软件度量。因此如果使用行业标准进行早期估算(如编制预算、招投标),则应采用NESMA方法中的预估功能点或估算功能点方法。
相比IFPUG方法,NESMA方法更着重于项目早期的估算功能,针对IFPUG方法分析过程比较复杂,计算工作量大,估算成本高,不适合项目早期规模估算的不足,NESMA方法基于原有规则提出了2种快速计算的方法,共3种应用场景,在估算的不同时期可选择不同精度的方法进行估算。
NESMA方法3种应用场景如下:
a) 预估功能点(简化一)
功能点规模统计只识别ILF和EIF文件,可用于预算或招投标阶段,采用如下公式计算:
功能点数≈35ILF+15EIF
这一公式基于如下假设:平均情况下,每个ILF对应3个EI、2个EO和1个EQ,每个EIF对应1个EO和1个EQ,35和15是将上述ILF、EIF、EI、EO、EQ的复杂度默认为中,再考虑系统整体的功能性得出的。
b) 估算功能点(简化二)
功能点规模统计仍是5类基本功能组件的功能点数之和,采用如下公式计算:
功能点数=10ILF+7EIF+4EI+5EO+4*EQ
这一公式基于如下假设:将ILF、EIF、EI、EO、EQ的复杂度默认为中,其他步骤与IFPUG方法一样。
c) 详细功能点
识别5类基本功能组件的功能点数,并根据复杂度决定取值后计算见表5.2。
表5.2 各类基本功能组件的功能点数参考值.jpg
NESMA的两种简化方法都是基于“默认”值来计算的,根据大量样本项目分析,此种计算结果与IFPUG方法得到的结果的平均值相近,但对个体项目,特别是小型项目常有较大差异。
在规模估算时,应考虑可能的需求变更程度,并对规模估算结果进行适当调整。据北京软件造价评估技术创新联盟统计数据,规模变更因子预算时取值为2,招标时取值为1.5,投标为1.26;项目计划为1.26,软件开发团队也可以根据具体情况进行调整,如根据组织内项目规模变更统计数据校正此数据。来源:北京软件造价评估联盟(www.bscea.org)