1. 首页 > 新闻动态 > 行业动态

软件成本评估中NESMA功能点方法与IFPUG功能点方法有什么区别?——软件造价浅析(二)

作者:小编 日期:2021-05-11 08:45:04 点击数:

软件造价评估方法中,NESMA功能点方法和IFPUG功能点方法高度类似,两种方法的度量结果是等效的。

那么NESMA功能点方法和IFPUG功能方法的主要区别在哪儿?


主要的差异表现在在下面四个方面:

一、外部查询(EQ)与外部输出(EO)

在IFPUG功能点方法中,EQ与EO的主要目的都是向系统边界外的用户呈现信息,不同之处是EQ不能包含任何的处理逻辑(包括计算、生成衍生数据 、更新内部逻辑文件和更改系统行为),否则即是EO。

而在NESMA功能点方法中,对于那些包含特定选择功能的EQ视为EO,如包含“显示所有客户”选项的EQ在IFPUG功能点方法中是被视为EQ的,因为“显示所有客户”这只不过是该查询功能所显示的记录数更多而已,但在NESMA功能点方法中却是记作EO的。

二、EQ的复杂度判定

NESMA功能点方法中,EQ的DET判定要根据输入端和输出端的DET比较结果来确定,即根据外部输入(EI)的规则来判定EQ输入端的DET,然后再根据EO的规则来判定EQ输出端的DET,两者相比较后取DET数值较高的值作为EQ最终的DET数量。

而IFPUG功能点方法的EQ判断规则非常明确,即“对用户有意义的、穿越系统边界的非重复字段”。

三、隐含查询的判定

所谓的隐含查询是指当需要修改或删除数据时,首先需要展示数据,该功能即称为隐含查询。NESMA功能点方法对该情形不会做特别的考虑。

而在IFPUG功能点方法中,当该隐含查询功能已在其他地方出现过,判断修改或删除功能时便不再考虑该隐含查询功能所对应的数据元素类型和文件引用类型,否则需要考虑隐含查询对应的功能点数量。

四、代码表处理

对于描述业务对象的主要数据,NESMA功能点方法和IFPUG功能点方法都遵循IFPUG功能点方法所设定的规则。两种方法对于次要数据的处理则有差异,NESMA功能点方法会将次要数据视为数据功能,并识别出相应的事务功能。如包含商品代码、商品描述字段的表即为典型的代码表。

而IFPUG功能点方法则认为次要数据的代码表并不是基于业务角度考虑的,完全属于技术实现范畴的内容,因而进行功能点度量时既不考虑对应的数据功能,也不考试与代码数据关联的事务功能。但在关于非功能性需求的度量规则SNAP中,IFPUG功能点方法则会考虑代码数据所对应的非功能规模度量。