当前位置: 首页 > 中国电业 > 2020年7期 > 基于 NESMA的软件工程造价评估方法

中国电业【2020年第7期】

  • ID:271850
  • 浏览:5546
  • 学科:产业经济
  • 更新时间:2020-07-17 15:16:34
  • 期刊: 中国电业
内容简介
《中国电业》杂志创办于1950年,是全国电力行业创办时间最早、覆盖面最广、影响最大的杂志。杂志以多种形式准确、及时、深刻地反映电力工业的改革和发展,以深度调查和理论探讨形成独到风格,在国际国内及电力行业内外都有较大影响,在电力媒体中长期处于领军位置。

基于 NESMA的软件工程造价评估方法

2020-07-17 15:30:24 产业经济 赵翊杰
资料简介

摘要:随着企业数字化转型的深入开展,信息系统的建设需求日益增多,如何把控软件开发系统的费用一直是行业的难题,传统的人天法是从开发者的角度评估费用,用户没有直观地了解。本文结合国际上通用的评估方法,以用户视角为出发点来开展费用评估。

基于 NESMA的软件工程造价评估方法

赵翊杰

中国石化管道储运有限公司信息中心 江苏徐州 221008

摘要:随着企业数字化转型的深入开展,信息系统的建设需求日益增多,如何把控软件开发系统的费用一直是行业的难题,传统的人天法是从开发者的角度评估费用,用户没有直观地了解。本文结合国际上通用的评估方法,以用户视角为出发点来开展费用评估。

关键词:软件开发;费用评估;用户

概述

在物联网、云计算、大数据等理念及技术的发展和推动下,软件服务成为信息消费中发展最快、最具活力的领域之一,我们正在进入一个“软件定义”的时代。与传统工程类项目不同的是,软件是一种知识密集型产品,其成本估算和度量有其特殊性,目前,公司的软件项目费用主要依据项目组的人天法,既由项目组先将项目按照需求调研、方案设计、系统开发、测试、验收等环节分别给出每一环节所需时间,单位为天,在结合人天费用,计算出总的费用,该方法主要依据项目组人员的经验给出,虽然计算简单,但有其不合理性,一是该方法是从开发者的角度来看的,用户对费用对应的工作量没有直观地感受,二是项目开发人员可以在同一时间进行多个项目,其在该项目上花费的时间与实际是不符合的,所以这种评估费用的方法是不合理的,在此背景下,迫切需要引入一种科学、统一的软件研发成本度量标准来规范软件项目的管理。

1、几种常见的软件评估方法简介

功能点方法最初由IBM的工程师AllanJ.Albrecht在1979年提出,经过几十年的实践与发展,在Allan功能点模型基础之上,逐步演化为ISO/IEC14143“信息技术软件度量功能规模度量”系列标准及NESMA、IFPUG、COSMIC、MarkII、FiSMA五个具体的操作方法标准[1]。这五种不同的功能点标准,在应用领域、应用范围、方法易用性和可靠性等方面有各自不同的特点,其对比如表2-1所示:

2-1五种功能点方法比较(用户角度)

名称

应用领域

方法易用性

用户广泛性

可靠性

综合评价

NESMA

★★★★

★★★★★

★★★★

★★★★

★★★★★

IFPUG

★★★★

★★★

★★★★★

★★★

★★★★

COSMIC

★★★★★

★★★★

★★★

★★

★★★

MkⅡ

★★

★★

★★

★★★★★

★★

FiSMA

★★★★★

★★

★★

★★

★★

通过对比可以看出,NESMA和IFPUG综合评价较高,而且,目前在全球使用功能点方法的企业中,超过90%使用IFPUG/NESMA方法,由于NESMA方法定义了预估功能点、估算功能点和详细功能点3种应用场景以支持项目不同粒度的估算,因此如果使用行业标准进行早期估算(如编制预算、招投标),NESMA方法更能满足实际需求。

2NESMA方法介绍

NESMA评估方法包括规模估算、规模调整、工作量估算和费用估算四部分内容,是基于行业基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量、成本估算值的方法。采用方程法确定项目工作量、成本的典型过程如图2-1所示:

5f11538f25d7e_html_5a6b37c9ab86e14d.gif

图2-1NESMA方法评估流程

其中:UFP为未调整功能点数,ILF为内部逻辑文件数量;EIF为外部接口文件数量;EI为外部输入数量;EO为外部输出数量;EQ为外部查询数量;S代表调整后规模;CF为规模变更调整因子;AE代表调整后工作量,单位为人时;PDR代表功能点耗时率,单位为人时每功能点;SWF为软件因素调整因子;RDF为开发因素调整因子;D代表工期,单位为天;F2代表人月费率(含开发方直接人力成本、开发方间接成本及开发方毛利润),单位为元每人天;DNC代表开发方直接非人力成本,单位为元;P代表预算费用,单位为元。

3.项目应用

结合公司项目开发实际,现将某开发项目按照功能点方案开展评估。

3.1估算规模

在项目前期调研基础上,结合需求方案,梳理项目的内部逻辑文件(ILF)、外部接口文件(EIF)、外部输入(EI)、外部输出(EO)、外部查询(EQ),并判断每一项功能点的修改类型和复用度,统计结果如表3-1所示:

表3-1功能点梳理明细

系统名称

一级模块

功能点计数项名称

类别

UFP

重用程度

修改类型

US

xxxx项目

页面答题

录入认证账号

EQ

10

新增

10

题目信息显示

EQ

4

新增

4

答题

EI

4

新增

4

用户登录

EI

4

新增

4

试题维护

试题信息

ILF

4

新增

4

试题增加

EI

4

新增

4

试题删除

EI

4

新增

4

试题修改

EI

4

新增

4

试题查询

EQ

4

新增

4

试题批量导入

EI

10

新增

10

试题批量删除

EI

4

新增

4

列表展示批量试题信息

EO

4

新增

4

系统设置

系统设置信息

ILF

4

新增

4

认证系统设置

EI

5

新增

5

设置查询

EQ

10

新增

10

消息维护

消息

ILF

4

新增

4

消息增加

EI

4

新增

4

消息修改

EI

4

新增

2.67

消息删除

EI

10

新增

10

消息查询

EQ

4

新增

2.67

消息批量导入

EI

4

新增

2.67

消息批量删除

EI

4

新增

4

类别管理

类别信息

ILF

4

新增

4

类别增加

EI

10

新增

10

类别删除

EI

4

新增

4

类别修改

EI

10

新增

10

类别查询

EQ

4

新增

4

类别批量删除

EI

10

新增

10

统计分析

统计答题情况

E0

4

新增

4

合计

150

150

由上表可以看出,经过与用户以及项目组沟通确认后,项目的功能点数为US为150个。

3.2规模调整

结合规模调整公式可知,调整后的工作量S=US*CF,由于该项目需求阶段为“项目中期”,故规模变更因子取值为1.22,因此,调整后的规模S=150*1.22=183。

3.3工作量估算

工作量估算的公式如下:

AE=(PDR*S)*SWF*RDF

式中涉及的各类因子取值如表3-2所示:

表3-2调整因子列表

调整因子类别

调整因子名称

取值

取值说明

PDR(基准生产率人时/功能点)

功能点耗时率下限

5.68

行业基准下限

功能点耗时率中值

7.10

行业基准中值

功能点耗时率上限

8.52

行业基准上限

SWF

应用类型

1.0

业务处理系统

质量因素

1.0

无特殊质量要求

RDF

1.0

无特别限定

1.0

无特别限定

调整后的工作量AE为:

下限

1039.44

中值

1299.3

上线

1559.16

3.4成本估算

在获得了工作量估算结果后,可采用以下公式估算项目预算:

P=AE/HM2*F2+DNC

式中:

P:预算费用,单位为万元;

AE:调整后工作量,单位为人时;

HM2:人月折算系数,单位为人时每人月,取值为176(按照每月22个工作日,每天工作8小时计算);

F2:平均人力成本费率(根据行业基准数据,项目组公司所在地区人均费用为1.9523万元),代入公式算得能好到站项目软件开发费用为:

下限

11.53

中值

14.41

上线

17.30

由表得出,项目的总费用在11.53万元到17.30万元之间,经过谈判,最终报价为12.5万元(含税),和项目组报价18万元相比,节省了5.5万元。

4、总结

以用户视角出发、功能点分析为主的软件项目评估方法是对软件项目的功能点规模、工作量、工期、成本进行估算的一项技术,有效解决以往系统自主开发能力不足、开发成本受制于人的难题。该方法适用于需求管理、架构管理、系统开发等不同阶段,为项目管理人员提供了客观的、准确的评估数据,为领导的决策判断提供了全面的、科学的依据和支撑,具有良好的经济效益和社会效益。

参考文献:

[1]王海青.软件研发成本度量规范释义[M].北京:机械工业出版社,2017:13-14.