政府投资应用软件开发项目价格评估及计算方法 联系客服

发布时间 : 星期一 文章政府投资应用软件开发项目价格评估及计算方法更新完毕开始阅读2fe94d63a22d7375a417866fb84ae45c3a35c24f

DB××/T ××××—××××

采用功能点作为软件项目规模的度量指标,关于功能点分析法参见附录A。

软件项目价格评估基本指标包括咨询费、建设费、服务费、需求变更费及附加费等指标。 5.1 咨询费评估及计算方法

咨询费指软件项目立项前期,请专业机构或者专家进行可行性分析、需求分析、系统设计、估价、招标服务、技术咨询、标准符合性检测等方面工作所发生的费用。

咨询费可根据项目预计投入的建设费按一定的比例和所投入的人月数进行计算,可参照附录B的表B.1和表B.2计算,还可由双方协商确定。

在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证,公证费按照国家规定标准计算,可参照附录B中的表B.3计算。 5.2 建设费评估及计算方法

建设费包括软件开发、实施、维护等方面工作的费用。 5.2.1 开发费

指软件开发工作所需的费用。

开发费主要是依据项目规模(功能点)、开发成本系数和人月成本进行计取。

开发费 = 工作量(人月)×人月成本=(项目功能点×开发成本系数/H/D)×人月成本 式中:

H——国家规定的一天工作时数,下同; D——一个月工作天数,下同。

开发成本系数的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数取值范围可参照附录B中表B.4。

针对个别项目,如果有特殊情况(如某些用户业务的特殊要求是一般项目中从未出现过的、开发人员需要到用户现场开发等),则经专业咨询机构或者专家评估,开发成本系数可以超出此范围上限的限制。

人月成本的计算可参照附录C,下同。 5.2.2 实施费

实施费可依据项目规模(功能点)、实施成本系数和人月成本计取。

实施费 = 工作量(人月)×人月成本

= (项目功能点×实施成本系数/H/D)×人月成本

实施成本系数 = 开发成本系数×实施因子t 。

根据项目实施的方式,t的取值有所不同,详细可参见附录D。 5.2.3 运行维护费

软件项目通过验收并交付使用后,需进行系统维护。维护内容包括:运行管理、系统平台维护、应用软件维护、数据维护等。根据不同的用户要求,系统维护服务可分为以下三种方式:

A级:

软件企业派出技术人员常住用户处,提供运行服务。

软件(系统)维护费/年 = 派驻的人员数×月数×人月成本 B级:

按双方约定的系统服务质量要求与响应时间提供非常住人员服务。

维护阶段费用依据项目规模(功能点)、维护成本系数和人月成本计算。

运行维护费 =工作量(人月)×人月成本=(项目功能点×维护成本系数/H/D)×人月成本 维护成本系数与开发成本系数和实施成本系数相关,计算公式如下:

维护成本系数 = (开发成本系数 + 实施成本系数)×调节因子 p

式中:

p ——调节因子,取值范围为0.15~0.20,具体取值根据项目维护难度而定。

3

DB××/T ××××—××××

针对个别项目,如果对维护有特殊要求(这些特殊要求是一般项目中从未出现过的),则经专业机构或者专家评估,维护成本系数可以不受此限制。

C级:

按客户要求,按次提供服务。

维护费根据服务天数计算,建议参照附录B的表B.1中的技术咨询费。 5.3 服务费评估及计算方法

服务费包括支付给第三方测试机构的验收测试费、工程监理公司的监理费、数据处理费及项目培训费。

5.3.1 验收测试费

软件项目的验收测试是根据项目的特点(功能、技术需求和大小等)以及项目投入,按照评价软件质量的功能性、易用性、可靠性、可维护性、可移植性、效率和文档等7个特性进行裁剪。

验收测试费用C =项目建设费D ×各测试项费率之和×调节系数B

式中:

各测试项费率及调节系数的取值参照附录B中的表B.5和表B.6。 5.3.2 监理费

监理收费一般可按照项目建设费(或合同价格)的一定百分比计算。其计算比率主要根据项目的规模、阶段、内容、复杂程度及监理成本等多方面因素综合计算。

监理费 = 项目建设费 × 计取费率s

计取费率s = 基本费率a × 地域调整系数b × 工期调整系数c

式中:

a ——根据项目建设费的规模进行调整,取值范围参照附录B表B.7; b ——取值参照附录B中表B.8; c ——取值参照附录B中表B.9。

对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬。监理附加报酬计取公式如下:

监理附加费 = 监理费×附加工作月数/合同规定月数。

5.3.3 数据处理费

项目中对于档案数据录入、迁移、处理的费用,具体费用由双方协商解决。 5.3.4 项目培训费

项目中对建设方进行培训产生的费用,具体费用由双方协商解决。 5.4 需求变更费评估及计算方法

在立项阶段要根据实际需要预留一定比例的需求变更经费,一般不超过建设费的10%。 5.5 附加费评估及计算方法

如果软件项目建设方需要软件开发商提交源代码,则必须支付相应的知识产权费;这些附加费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可根据预计项目投入的建设费由双方协商确定。

4

DB××/T ××××—××××

附录A

(资料性附录)

软件项目规模的功能点评估指标

A.1 功能点估算流程

功能点估算的工作流程如下:

a) 确定计算范围:划定应用程序的边界;

b) 功能点分析:识别和估算与软件数据和事务功能有关的各种要素及其数量。要确定功能点的数

目,需要对软件的用户输入数、用户输出数、用户查询表、内部逻辑文件数、外部逻辑文件数的数量进行评估;

c) 功能点计算(初步):评估出五个要素的数量后,根据复杂度加权因子,计算出初步的功能点

数UFC;

d) 确定技术复杂度因子:根据项目具体情况,对14个技术复杂度参数(参见表A.3)进行调整。

得出技术复杂度调整参数TCF;

e) 功能点调节:调节后的功能点数FP=UFC × TCF。 A.2 功能点分析的要素

功能点分析有五个要素,其详细定义如下:

a)内部逻辑文件(ILF):是一个用户可识别的逻辑相关的数据组,它在应用程序边界内,由用户输入来维护,它可能是某个大型数据库的一部分或是一个独立的文件;

b)外部接口文件(EIF):是一个用户可识别的逻辑相关的数据组,但仅仅是起参考的作用,且数据完全存于软件边界之外,由另一个应用程序进行维护,是另一个应用程序的内部逻辑文件;

c)外部输入(EI):是来自于软件外部的数据输入,可以是控制信息,也可是事务数据输入。如果是事务数据,它必须维护一个或多个内部逻辑文件。也就是说那些最后没有保存的中间计算结果和消息发送,都不算作数据输入单元。输入数据可来自于一个数据输入屏幕或其他应用程序;

d)外部输出(EO):是“经过处理”的数据,由程序内部输出到外部。这里“经过处理”是指其区别于用户查询数据,是将一个或多个ILF、EIF中取出数据经过一定的组合、计算、总结后得出的输出数据;

e)外部查询(EQ):是一个输入输出的组合过程,从一个或多个ILF、EIF中取出数据输出到程序外部。其中的输入过程不更新任何ILF,输出过程不进行任何数据处理。

注:对软件项目进行估算的有效性和准确性取决于所掌握的有关项目的原始资料的完备性。这些原始资料包括:需

求说明书、系统规格说明书、或者软件需求说明书等。从这些原始资料中可分析得出以上5类要素。如果以上5类要素的数据不准确,将直接影响到评估的结果。

A.3 功能点计算(初步值UFC)

估算出应用程序中每个功能要素的数量后,将每个计数与一个复杂度值(加权因子)相乘,最后进行合计,算出一个初步的总的功能点数UFC。复杂度加权因子表如下:

5

DB××/T ××××—××××

表A.1 功能要素复杂度加权因子表 复杂度 功能要素 外部输入数EI 外部输出数EO 外部查询EQ 内部逻辑文件数ILF 外部接口文件数EIF 低 3 4 3 7 5 平均 4 5 4 10 7 高 6 7 6 15 10

示例:假设每个功能要素的复杂度都是平均的。若有一个由25个数据登记表、5个接口文件,15个报告、10个外部查询和20个逻辑内部表单组成的系统,其功能点为:UFC=(25×4)+(5×7)+(15×5)+(10×4)+(20×10)=450个功能点。

每个功能要素的复杂度可通过下表进行分析判断。

表A.2 功能要素复杂度判别表 ILF(内部逻辑文件)和 EIF(外部接口文件) 记录 类型 1 2-5 6+ 数据类型 1-19 低 低 平均 20-50 低 平均 高 51+ 平均 高 高 文件 引用 0或1 2-3 4+ 1-5 低 低 平均 数据类型 6-19 低 平均 高 20+ 平均 高 高 文件 引用 0或1 2-3 4+ 1-4 低 低 平均 数据类型 5-15 低 平均 高 16+ 平均 高 高 EO(外部输出)和EQ(外部查询) EI(外部输入)

从表中可以看出,EI(外部输入)、EO(外部输出)和EQ(外部查询)是由文件类型和数据单元的数量来决定的。而ILF(内部逻辑文件)和EIF(外部接口文件)则是由记录单元和数据单元来决定的。通过上面的二维表即可确定各个功能要素的复杂度是低、平均,还是高。表中三种数据项定义如下:

·记录类型个数Record Element Type(RET):指在ILE或EIF中,用户可识别的数据域的子集,可以通过检查数据中的各种逻辑分组来识别它们。(例如一个客户文件,包括客户姓名、地址等个人信息,以及客户的信用卡和卡号,一个客户有多张信用卡。该文件含有两个记录单元:客户信息和信用卡信息);

·文件引用个数File Type Referenced(FTR):指在一个事务过程中,所引用到的各种文件,可以是内部逻辑文件,也可以是外部接口文件;

·数据类型总数Data Element Type(DET):是用户可识别的无递归,不重复的信息单元。DET是动态的,而非静态的,可以读自于文件,或由FTR的数据单元创建。另外,一个DET也可是对一个事务处理过程的唤醒,或是事务的有关信息。 A.4 确定技术复杂度调整参数TCF

算出功能点总数UFC后,还需要根据项目具体情况,对各个技术复杂度参数进行调整。技术复杂度一共考虑了14个调节参数,如表A.3所示:

各个复杂度参数的取值范围从0到5,表示该项对功能点总数的影响从没有到极高。各个参数默认值为0,也就是该项不影响功能点调整。

每个参数都是对总功能点数的线性调整,设Ei为根据14个方面的调节参数对软件系统的影响程度,

6