造价师/评估师培训:010-82146681
联盟会员/机构评定:010-82146682
业务合作咨询:010-82586972
E-mail:bscea@bscea.org
功能点方法在需求管理中的应用
本文主要讲述功能点方法在软件项目需求管理中的应用。
1、背景
软件项目面临的一个普遍困难就是需求的不确定与频繁变更, 有效管理软件需求要解决的一个基本问题是确定变更的粒度大小以及对项目的影响程度。
相对于其他行业而言,例如土建、制造等传统行业,软件更为抽象和不易衡量,同时软件还具有容易变更的特点。再加上软件不容易量化的特点使得软件项目的计划与跟踪粒度过粗、不能及时发现项目中存在的问题,从而导致软件项目的管理往往流于形式化, 不能起到应有的作用。
软件项目范围的不确定性通常表现为如下两个方面:
a、项目前期需求不明确。前期需求不明确导致项目范围不确 定,而基于范围基础之上的工期、成本与质量目标显然也带有很大的不确定性。
b、需求变更时无法做出可信的量化影响分析。 因为需求规模的单位比较模糊,例如一个需求、需求模块等笼统提法,导致变更的需求规模描述不容易被接受。
在软件项目的需求管理中引入功能点分析方法可以有针对性地解决上述的问题,如下面例子,引入功能点方法进行评估后,使量化方式管理软件需求成为可能。
2、需求示例
客户基本信息
a、为了某些业务需要,完善客户基本信息,增加工作地点和公司电话 2 项信息;
b、新增功能:新增功能页面增加工作地点和公司电话 2 项信息;
c、修改功能:修改功能页面增加工作地点和公司电话 2 项信息;
d、查询功能:输入客户三项标识查询,在页面显示客户基本信息,增加客户工作地点和电话 2 项信息;
e、增加校验:在新增和维护客户基本信息时,增加身份证校验,如果证件类型为身份证时,根据身份证号校验规则校验。系统自动校验 18 位,不允许输入 15 位;
f、统计功能:新增统计功能,按照客户工作地点进行统计,以图表显示;
g、公民身份联网核查结果:增加查询项,点击查询,可以直接进行联网查询,除原有字段外,增加显示客户年龄。
3、功能点方法应用
按照功能点方法进行规模估算,结果如下:
对于计数结果,有以下几个问题需要注意,这也是在实际估算中,一些新手容易产生错误的地方:
a、对于客户基本信息,新增了工作地点和公司电话两个属性,视为逻辑文件的修改,如果仅仅是记录数增加或某个字段的取值范围变化,不属于逻辑文件的变化。
b、对于新增、修改、查询三个功能,原本已经存在,本次的需求变更只是对原有功能的修改。
c、对于增加校验功能,其本质新增和修改这两个基本过程中的一个环节,而不是独立的基本过程,在前面的新增和修改功能中已经计数过了,在此处不进行计数。
d、统计功能为新增功能,正常进行识别。
e、对于公民身份联网核查这一功能,此处有一个 EIF“公民身份信息”,其中的“客户年龄”属性应该是之前就存在的,所以数据功能没有变化,不需识别 EIF,只需要对核查这一变化的事务功能进行识别即可。
经过计数,经过调整后的功能点为 11.93FP,再结合该项目的生产率数据即可对本次需求变更的工作量进行估算,引入人月费率后,可对本次变更的成本进行估算,达到量化每一次需求变更的目的。(本文版权归北京软件造价评估技术创新联盟所有,转载需注明出处。)