北京软件造价评估联盟首批会员单位、授权合作伙伴,专注:软件造价|软件成本估算|软件成本评估服务!
当前位置
首页 > 中基问答 >

使用功能点方法估算软件开发成本时如何判断功能点?

2019-11-18 11:08
  什么是功能点方法?

  功能点方法是一种估算软件项目大小的方法,它是从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点方法最早由IBM于1979年提出,它是一种相对抽象的方法,是一种“人为设计”出的度量方式,主要能够对项目的工作量进行合理估计,并能够在项目的整个生命周期中对之进行客观、公正、有效性地度量。

  功能点方法是一种分解类的规模度量方法,即把复杂的系统分解为较小的子系统进行评估的方法。功能点度量方法是基于软件文档的功能性需求来进行度量,其结果是以功能点数的形式来表示软件的规模。把软件系统按照组件进行分解,从而确定系统的功能点数量。

  目前应用比较广泛的是国际功能点用户组(IFPUG)发布的标准功能点法和荷兰软件度量协会(NESMA)发布的快速功能点法。

  在软件成本评估时,我们如何判断或识别功能点呢?

  功能点计数项分为数据功能和交易功能2大类,具体包括以下5个:

  a)内部逻辑文件(Internal Logical File,ILF,简称内部数据)

  软件内部需要维护(如增删改查)的数据。

  b)外部接口文件(External Interface File,EIF,简称外部接口)

  在其它系统中维护但本软件需要调用的数据。

  c)外部输入(External Input,EI)

  向软件输入数据或发送指令。

  d)外部输出(External Output,EO)

  软件向使用者或其它系统输出的数据或发送的指令。

  e)外部查询(External Query,EQ)

  EQ指使用软件进行的简单查询。

  数据功能代表系统提供给用户的满足系统内部和外部数据需求的功能,分为内部逻辑文件(ILF)、外部接口文件(EIF)两类。

  交易功能代表提供给用户的处理数据的功能,每一个交易功能都是一个完整的基本过程,一个基本过程应该是业务上的原子操作,并产生基本的业务价值,基本过程必然穿越系统边界,基本过程分为EI、EO和EQ类。

  项目早期(如甲方预算)通常采用预估功能点方法,只需要识别ILF/EIF。

  在项目中期(如技术方案、立项、项目计划)通常采用估算功能点方法,需要识别ILF/EIF/EI/EO/EQ。

  在项目中后期(如需求分析、变更、项目决算)可采用详细功能点方法。

数据功能(逻辑文件)符合如下简易识别规则:

  1、ILF(内部逻辑文件)

  ——ILF指在待开发系统内部逻辑上的一组数据

  ——用户可以理解和识别ILF,对ILF的操作是用户的业务需求

  示例:根据如下需求从“逻辑”性上识别ILF

  会议管理系统……包括X局(信息中心)局、处(或公司)举行的会议、会议计划、安排、记录、查询、通知、纪要等功能均实现电子化,提高会议效率。

  从需求中识别的内部逻辑文件包括:会议信息、人员信息、单位信息。如会议纪要需要独立记录,如会议记录删除后会议纪要仍单独保留,则会议纪要也要识别为逻辑数据。

  2、EIF(外部接口文件)

  ——EIF指由本系统引用(即“读”),在系统边界外由其他系统进行维护的逻辑上的一组数据。这里的维护是指逻辑上而物理上的维护或存储。引用的实现方式不影响计数结果。

  ——本系统的EIF一定是其他某系统的ILF。

  由此可知,我们在进行软件成本度量时,识别为逻辑文件的有:业务数据或业务规则;内部维护(ILF);仅引用,其他系统维护(EIF)。而一些如:中间表、内部只读信息、缺省值、数据编码等不是逻辑文件。

交易功能(基本过程)符合如下简易识别规则:

  1、EI的基本识别规则如下:

  a)    是来自系统边界之外的输入数据或控制信息;

  b)    如果穿过边界的数据不是改变系统行为的控制信息,那么至少应维护一个ILF;

  c)    确保该EI没有被重复计数,即任何被分别计数的两个EI至少满足三个条件之一(涉及的ILF或EIF不同、涉及的数据元素不同或处理逻辑不同),否则被视为同一EI;

  2、EO的基本识别规则如下:

  a)    将数据或控制信息发送出系统边界;

  b)    处理逻辑包含至少一个数学公式或计算过程;或者产生了衍生数据;或者维护了至少一个ILF;或者改变了系统的行为;

  c)    确保该EO没有被重复计数,即任何被分别计数的两个EO至少满足三个条件之一(涉及的ILF或EIF不同、涉及的数据元素不同或处理逻辑不同),否则被视为同一EO;

  3、EQ的基本识别规则如下:

  a)    将数据或控制信息发送出系统边界;

  b)    处理逻辑可以包含筛选、分组或排序;

  c)    处理逻辑不可以包含数学公式或计算过程,不可以产生派生数据,不可以修改逻辑文件;也不可以改变系统行为,但可以对已有数据进行筛选、分组或排序

  d)    确保该EQ没有被重复计数,即任何被分别计数的两个EQ至少满足三个条件之一(涉及的ILF或EIF不同、涉及的数据元素不同或处理逻辑不同),否则被视为同一EQ。


以上就是使用功能点方法估算软件开发成本时如何判断功能点?所有内容,更多软件项目成本造价评估、软件开发成本估算知识尽在中基数联(www.csbmk.com)。

关于中基数联
CONTACT US

电话:010-62667992(9:00-18:00)

邮箱:csbmk@csbmk.com

地址:海淀区上地信息路11号1至4层整栋1幢三层西310室