李玮 马雪鹏 邵铭
中国邮政研究院 北京 100096
摘要:随着信息技术的发展,尤其是近些年互联网、大数据、云计算等技术的飞速发展,中国邮政集团公司信息化建设进入了高速发展的时期。为了更好对软件预算和软件项目进行全面管理,本文对国际主流的功能点方法进行了比较分析,并对系统调整因子进行了重点研究,根据邮政特点对功能点方法进行了优化调整,实践证明改进的功能点方法可以很好的适用邮政实际。
关键词:规模度量;功能点;软件费用评估
引言
软件费用评估一直是一个业内难题,在预算、招投标、项目计划等活动中因为缺失科学、统一的标准,较大程度导致了做项目预算时无据可依,进而造成预算浪费或预算不足;而软件费用评估不准确、质量得不到保证和项目延期等为典型特征的软件危机频繁发生。功能点分析方法从用户角度对系统规模进行度量,具有用户可理解的特点,投资方和需求方容易理解,并达成一致,正逐渐成为国际主流的软件规模度量方法,并且在国内也逐步得到了应用。由于功能点方法产生于上个世纪的国外,方法是否适用邮政企业当前实际,迫切需要进行研究和验证。
1.功能点方法比较
功能点方法由IBM的工程师艾伦·艾尔布策于20世纪70年代提出。国际功能点用户协会提出的IFPUG功能点法[1];英国软件度量协会提出的Mark II FPA功能点法[2];荷兰功能点用户协会提出的NESMA功能点法[3],以及软件度量共同协会提出的COSMIC-FFP方法[4],这些方法都属于艾尔布策功能点方法的发展和细化,并已被ISO组织接纳成为国际标准。在方法应用领域、方法易用性、用户广泛性、可靠性及综合评价五个方面对4种方法进行了对比,如表2-1。
从上表也可以看出,NESMA方法有易学易用的优点,而且容易开发,便于用户建立自己特有的估算模型,并且在以上方法中只有NESMA方法提供了3种应用场景以支持不同粒度的估算。由于应用实践中需要满足软件项目早期立项、招标、开发及测试、上线、验收、后评价全过程的不同需求,并且在整个生命周期中度量标准能够始终一致。因此选用NESMA方法为主在邮政中进行实践应用。
2.调整因子研究
首先,由于功能点方法产生比较早,早期项目开发的软件行业标准对GSC定义已经不再满足当前的软件规模估算了。随着软件行业的快速发展,一些系统特征或调整因子在不同的系统的评估结果差异很小,已经失去了区分意义,需要考虑删除。部分以前没有或者权重很低的影响因子现如今可能会更加被重视。与此同时,不同行业在开发软件系统时会侧重于不同的技术和质量要求,即系统特性的普适性应局限于一种产业类型。所以,根据时代的发展和企业的特点,我们整理并更新现阶段适合本企业的系统特征。
其次,采用公式VAF=0.65+(0.01 *∑Fi)(其中 i=1,2,…,14,Fi为第i个系统特征的分值)来解算调整因子值。如果按照公式来计算,每个系统特征权重均为0.01,这意味着每个调整因子对于系统重要性都是相同的,显然这并不合理。不同类别系统对于系统特征的重要性程度的考虑是不一样的,因而,我们需要针对邮政企业内软件对各系统特征的权重做区分改进。总结功能点方法中的调整因子有很多。经过分析做如下优化处理:
1)参数因子的删除:
①【其他应用程序的需求】、【第三方直接使用】、【机密性、私密性、审计度】、【用户培训】、【文档】这5个因子在功能点方法中应用不普遍,为了后期方便与行业和国外数据进行对标,在邮政系统的模型中也不考虑使用。
②【数据通信】、【在线数据输入】、【在线更新】。由于网络技术的发展,邮政系统中软件都是根据网络请求自动更新。这三项GSC现在已经无法区分软件规模,因而删除。【终端用户效率】,【重用性】这两个指标,成为了系统的必备考虑因素,没有区分度,所以进行删除。
③【易安装性】,【易操作】,【跨平台性】。易安装性,邮政系统多为B/S架构,并且向全国大集中系统发展,而终端易升级已经成为每个系统的要求,没有区分度。所以这三项指标也进行删除。
④【硬件负荷】:硬件技术的发展,硬件不是应用系统的瓶颈,一般通过硬件资源的配置来解决负荷问题,所以进行删除。
2)参数因子的细化及权重调整
①【性能】细化(权重0.05)。
系统的性能需求越来越受到用户的重视,事务频度纳入性能统一进行考虑,细化性能指标。
表3-1 性能对估算规模的影响
②【分布式处理】细化(权重0.05)。
表3-2分布式处理对估算规模的影响
③【可靠性】细化(权重0.05)。
表3-3可靠性对估算规模的影响
④【处理复杂度】细化(权重0.15)。
【处理复杂度】是指应用程序所需要处理的逻辑复杂度和数学算法复杂程度,依据业务领域的特点和系统复杂度进行统一调整。
表3-4处理复杂度对估算规模的影响
3)重要参数因子的新增
①增加安全性指标的评价(权重0.05)。
由于安全性对于系统越来越重要,国家对信息系统有专门的规定《信息安全等级保护管理办法》,安全等级不同,对于安全策略有明确要求,所以借鉴安全等级该参数分为3级。
表3-5安全性对估算规模的影响
②增加需求变更控制因子(权重1)。
功能点方法依据需求文件进行功能点分析,需求的质量和变更情况会直接影响规模的测算,因为需求变更因子对需求的变更风险进行控制。
表3-6需求变更对估算规模的影响
3.功能点方法实践
为保证改进的功能点法的可用性,我们选取了一个实际的软件项目,使用改进的功能点法对工作量进行评估。
本项目是一个工程建设管理系统,主要包括项目生命周期管理、工程建设事务管理、项目信息快速查询、项目知识领域管理、个性门户信息配置和系统运营维护六大类操作处理功能和系统间信息同步、自动预警提示等自动处理功能。
4.评估步骤
①确定估计的类型,根据可收集到的文档:
在本例中,应用系统即为业务处理系统,将工程建设管理系统总体方案作为需求来源进行评估。
② 确定估计范围和系统边界:
计数范围为应用系统需要的所有操作功能。
③ 度量数据功能和事务功能:
确定功能点类型与工作量基准值,其中项目信息、合同信息等ILF共65个,提交、审核等EI共394个,统计、图表等EO共29个,查询、打印等EQ共172个。本例中,包含多个下载、打印等功能,按照本单位的功能点计数规则调整重用程度为高,共43个。
④确定未调整功能点数:
确定每个功能项的功能点类型和工作量参考值,对功能点类别映射,确定功能点数。未调整功能点数:UFP=ILF+EIF+EO+EI+EQ=3038.33
⑤风险调整因子:
项目处于早期阶段,不可控性高,调整因子为1.5
S=US*CF=3038.33*1.5=4557.50
⑥根据影响程度,确定调整因子:
分别确定影响因素(处理复杂度、性能、分布式处理、可靠性、安全性)的影响度,使用调整因子的公式计算调整因子的值。
本例中确定处理复杂度影响度分值为1,性能影响度分值为1,分布式处理影响度分值为1,可靠性影响度分值为1,安全性影响度分值为1。
从而计算得到调整因子的值为TCF=(0.65+0.05*SUM(Fi)+0.15)=1。
⑦计算调整后的功能点数:
S = UFP * TCF = 4557.50
⑧计算总工作量:
UE= FP(b)*PDR /176 =269.82
其中,UE为未调整工作量,单位为人月;PDR为邮政企业生产率,单位为人时/功能点。
5.评估结果
本例中的总工作量为269.82人月,评估得到的工作量与项目实际的工作量偏差为5.7%,基本符合预期。
6.效果分析与总结
本文首先研究了主流的功能点方法并进行比较分析,根据企业软件特点,对参数因子进行了优化调整,基于改进的功能点的分析方法在软件评估中进行了实践研究,本文给出了邮政企业中使用软件工作量评估方法的实际示例,验证本方法,取得了良好的效果。今后的工作还是需要在大量的实际项目中对改进后的方法不断进行验证和调整,使软件项目成本度量更加准确合理。
参考文献:
[1]ISO/IEC20926Software and systems engineering -- Software measurement -- IFPUG functional size measurement method,2009
[2]ISO/IEC 20968Software engineering -- MkⅡFunction Point Analysis -- Counting Practices Manual,2004.
[3]侯成功,谭裴,叶敏.IFPUG功能点分析方法在电信行业软件中的应用[J].软件导刊. 2017(09).
[4]王楠,余建坤.基于相似度的软件工程中软件成本估算问题研究[J].计算机系统应用. 2018(04).
论文作者:李玮,马雪鹏,邵铭
论文发表刊物:《中国经济社会论坛》学术版2018年第3期
论文发表时间:2018/12/27
标签:功能论文; 方法论文; 因子论文; 系统论文; 软件论文; 权重论文; 项目论文; 《中国经济社会论坛》学术版2018年第3期论文;