中国软件行业协会软件造价分会 — 专业从事软件造价成本评估

咨询热线

010-68213013

本篇内容将介绍Nesma功能点估算的基本步

第一步:收集可用的需求文档

在NESMA估算时,第一步需要做的就是收集可用的需求文档,因此对需求文档提出以下要求:

        1、在需求中需要能够识别出概念或规范化的数据模型

        2、能够了解到逻辑文件是如何区分和维护的,是在计数边界内维护还是边界外的应用功能维护。

        功能点分析的可靠性直接依赖于所提供的文档的质量,因此可已采取一下两种方式来保障文档质量:

        1、需求澄清

            ~需求的疑问需要与需求提供者共同澄清

            ~功能点分析可以作为一种需求确认的方法

        2、做好记录

            ~记录已经澄清的需求

            ~记录估算所作出的各种假设

        计数范围和被统计应用的边界:

        1、计数的范围

            ~是指被包括在功能点统计范围内的功能需求和对应规格说明的集合

        2、应用的边界

            ~边界就是应用程序和其用户的概念接口

            ~用于判断数据所属哪个应用程序

            ~用于判断数据是否跨越了边界

        在确定计数的范围后并统计出应用边界,那么到底什么才是系统边界?系统边界有以下5大特征

        1、是用户和系统之间的界限和接口

        2、明确哪些东西对系统来说是“外部的”

        3、系统动态行为穿越的界限

        4、帮助界定ILFs和EIFs

        5、依赖客户应用,不依赖于技术和实现

~举个栗子~


第二步:确定软件用户

NESMA估算的第二步,确定软件用户,常见的用户主要分为以下三种类型:

        1、使用、或者将会使用被测量软件的人、和/或组织。这一类型的包括:最终用户,职能经理和操作员。

        2、负责确认需求规格中包括的需求和愿望的业主、和/或雇主。这些需求和愿望是基于最终用户的使用需要的,但是也必须符合政府和法律上的限制要求。

        3、使用被测量的应用程序的数据和功能的其他应用程序

因此,NESMA方法要求估算必须从用户的视角进行功能点分析。

第三步:确定计数类型

在这里,我们首先需要区分应用功能点统计项目功能点统计之间的关系和区别。

应用程序功能点数:

        ~用来测量应用程序将要、或已经提供给用户的全部功能的功能点总数。应用程序功能点数也可以被用来测量必须进行维护的应用程序的规模。

项目功能点数:

        ~用来测量新的应用程序的全部功能、或对已有应用程序所作改变的全部功能的功能点总数

        ~对应用程序的改变包括增加、改变和删除功能。在确定项目的工作量投入和工期时,项目功能点数是一个必要的参数。

应用功能点统计通常可以按照以下五步进行操作

        第1步:在应用程序被改变之前,先确定其功能点数量(UFPB)

        第2步:确定从现有应用程序中删除了哪些事务处理,和/或逻辑文件,统计一下它们究竟代表了多少功能点数(DEL)。

        第3步:确定哪些事务处理,和/或逻辑文件被修改了。然后确定一下在被修改之前代表的功能点数(CHGB)和被修改之后代表的功能点数(CHGA)。

        第4步:识别出哪些事务处理,和/或逻辑文件被增加到应用程序中,并且确定它们代表的功能点数(ADD)。

        第5步:使用下面的公式来确定修改后的应用程序功能点数(AFP):

项目功能点统计只需要以下四步进行:

        第1步:确定哪些事务处理、和/或逻辑文件将被从应用程序中删除,以及它们所代表的功能点计数(DEL)。

        第2步:确定哪些事务处理、和/或逻辑文件发生了改变。然后在它们发生改变后确定其代表的功能点计数(CHGA)。

        第3步:识别出哪些事务处理、和/或逻辑文件将被加入应用程序,并且确定它们所代表的功能点计数(ADD)。

        第4步:按照以下公式来计算功能完善项目的功能点计数(EFP)。

~热乎乎的栗子~


第四步:识别功能部件并确定复杂度

数据?NESMA方法中,规定功能类型主要分为两类,数据功能类型事务功能类型

        数据功能类型:系统使用或维护了哪些数据?

           内部逻辑文件ILF:在本系统维护的业务数据

           外部接口文件EIF:本系统引用,其他系统维护的业务数据

        事务功能类型:系统如何使用或维护这些数据

            外部输入EI:对数据进行维护或改变系统状态/行为的事务

            外部输出EO:对数据加工后呈现或输出的事务

            外部查询EQ:对已有数据直接呈现或输出的事务

第五步:与用户验证

在进行用户验证首先要确定相关干系人,相关干系人主要有以下三种:

        ~使用者

        ~所有者

        ~其他系统

在确定干系人后,就需要讨论验证的是什么?

        ~结果

       ~对于需求规格的说明和假设

最后,在沟通后必要时做出修正。

标第六步:与功能点专家验证

在进行专家验证时,主要涉及以下相关干系人:

        ~功能点评估专家

        ~功能点评估小组与