NESMA是荷兰软件度量协会的简称(NetherlandSoftware Measurement Association),它是按照国际惯例建立的专业性用户组织,倡导和建立以基于度量数据的“基准比对”为主要驱动力的深度过程改进方法论,改变当前过分依赖模型评估和政府奖励来驱动过程改进的方法,使软件过程改进走向可持续发展的轨道。其主导编制的《软件工程—NESMA功能规模度量方法2.3版—功能点分析应用定义和计数指南》(Software engineering -- NESMA functional size measurement methodversion 2.3 -- Definitions and counting guidelines for the application ofFunction Point Analysis)作为ISO国际标准在多个国家及地区广泛应用。
NESMA具有以下优势
借鉴IFPUG,并与IFPUG方法兼容
效率较高且足够准确
国际标准ISO/IEC24570-2017
提供了三种类型的功能点估算方法1-指示功能点计数 (只需要关注逻辑文件)
2-估算功能点计数 (只需要关注逻辑文件和操作)
3-详细功能点计数 (关注逻辑文件、操作和复杂度)
功能点计数主要分为三个阶段:计划阶段、执行阶段、评估阶段。
国内应用情况
工业和信息化部电子行业标准SJ/T-11463《软件研发成本度量规范》及其升级的国家标准中推荐使用的规模估算方法;
《NESMA功能点分析应用定义和计数指南2.3》目前已由SSM®Institute联合中国软件行业协会软件造价分会重新编译,将标准推广实施的经验总结成文补充在书中,与中国质检出版社、中国标准出版社共同出版预计4月底发行。同时也将作为软件成本度量师(SSMCCEP)认证的指定教材。Nesma估算过程
功能类型及复杂度
数据功能类型:系统使用或维护了哪些数据内部逻辑文件ILF:在本系统维护的业务数据
外部接口文件EIF:本系统引用,其他系统维护的业务数据
事务功能类型:系统如何使用或维护这些数据外部输入EI:对数据进行维护或改变系统状态/行为的事务
外部输出EO:对数据加工后呈现或输出的事务
外部查询EQ:对已有数据直接呈现或输出的事务
复杂度:基于功能的权重为其分配的一定数量的功能点数。由DET数据元素类型、RET记录类型、FTR文件类型引用决定。低:功能涉及到很少的数据元素类型和逻辑文件
中:功能在复杂度上不低也不高
高:功能涉及到很多数据元素类型和逻辑文件
不同功能点计数类型对需求的要求,对精确度和估算的效率的影响
非功能需求的规模
思路一作为软件的总体调整因子考虑
规模= 功能点需求规模 * 调整因子
思路二将非功能需求单独计算
SNAP非功能点估算
规模= 功能点需求规模 + 非功能点需求规模