功能点估算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子政务工程软件项目费用构成及概算方法
(V1.0)
(征求意见稿)
为规范电子政务工程项目软件的价格行为,维护价格公平竞争,同时为电子政务软件项目进行经费概算提供科学可信的依据,广东软件行业协会组织有关专家和企业,经过多次研究和修订,提出以下电子政务工程软件项目费用构成及概算方法。
一、名词解释
开发阶段:开发阶段是指从软件项目启动到项目实施前的这一时间段。因此,开发阶段的工作包括详细需求分析、系统设计、编码、测试等方面的工作。
实施阶段:实施阶段是指软件项目从实施开始到项目正式验收的这一时间段。因此,实施阶段的工作包括系统安装、系统调试、用户培训等方面的工作,但不包括各实施点的本地化开发工作。
运行维护阶段:运行维护阶段是指从软件项目正式验收到合同规定的一年项目维护期结束的这一时间段。因此,维护阶段的工作包括系统在维护期内所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。
功能点:功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。
成本系数:成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,因此成本系数的单位为:人工时/FP。如开发阶段的成本系数,则是指一个功能点(FP)需要完成“详细需求分析”、“系统设计”、“编码”和“测试”等工作所需要投入的人工时。其他如实施阶段成本系数、运行维护阶段成本系数的定义以此类推。
软件人员月人工费用:软件人员月人工费用是指一个软件人员工作一个月平均需要的所有成本开销(包括工资、奖金、福利、办公成本、国家各种税费、管理费用等等)及软件企业合理利润的总和。
二、软件项目费用构成
电子政务软件项目的费用构成因素很多,为准确描述,我们依据软件工程理论,从角色和项目阶段两个维度来描述项目的费用构成。从角色维度来看,电子政务工程项目建设中主要包括建设方、承建方、第三方测试机构和监理方四个主体;从项目阶段维度来看,可以分为前期咨询、开发、实施、验收、维护五个阶段。用一个二维表来表示角色、项目阶段和项目费用的对应关系,如下表所示。
电子政务软件项目费用构成表
从表中我们看出,软件项目经费概算应考虑到如下方面的费用:咨询服务费、项目建设费(包括软件开发、实施、维护阶段费)、验收测试费、工程监理费。其中项目建设费是整个项目费用构成中的最主要和最重要的部分。
此外,由于软件项目的需求往往在项目建设之初很难精确描述、在项目的建设过程总会有一定量的变更,因此电子政务的软件项目经费概算中还要考虑到因为需求变更导致工作量增加而追加的费用。
三、取费依据
(一)咨询服务费P
指软件项目立项前期,请专业机构或者专家进行可行性分析、技术咨询、项目初步需求分析,造价评估、方案初步设计、项目招投标等方面工作所发生的费用。该部分费用可根据项目预计投入的建设费按照一定比例计取,也可以根据所投入的人月数进行计取,此外还可以由双方协商确定。
软件行业咨询服务取费标准
注:
(1)参考建筑行业及通信行业的造价编制取费标准,结合软件行业项目建设实践,提出以上造价咨询取费标准表,仅供参考。
(2)按上表计费不足10000元的,按10000元收费。
(3)技术咨询按耗用工时(日)计费,为完成委托任务发生的差旅、交通费由委托方另行支付。
(二)项目建设费M
根据上述软件项目开发过程的划分及费用构成,项目建设费为以承建方为主体的各阶段费用总和,包括:开发阶段费用、实施阶段费用、维护阶段费用。故:
项目建设费M=开发费用D+实施费用S+维护费用W
1、开发费用D
指对项目进行详细需求分析、系统设计、编码、测试等方面的工作而需支出的费用。取费主要是依据项目规模(功能点)、开发成本系数和软件人员月人工费用计取。
开发费用D =工作量(人月)* 软件人员月人工费用
= (项目功能点*开发成本系数/7.5/22)*(3.23B)
(其中7.5是指一天7.5个工作时,22指一月22个工作日,下同)。
开发成本系数的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数一般为:
3000个功能点以下(含3000):3.5人工时/FP—4.0人工时/FP;3000到8000(含8000)个功能点以下:4.0人工时/FP—4.5人工时/FP;8000个以上功能点:4.5人工时/FP—5.0人工时/FP。
针对个别项目,如果有特殊情况(如某些业务特殊要求是一般项目中从未出现过的、业主需要项目组到用户现场开发等),则经专家组评判,开发成本系数可以超出此范围上限的限制。
项目功能点的估算方法参见附录一《软件项目功能点估算方法》。
软件开发人员月人工费用计算方法参见附录二《软件人员月人工费用计算办法》。
2、实施费用S
由于电子政务项目的实施范围因项目而异(有些项目只实施一个单位、有些需要实施多个单位、有些甚至需要全市、全省甚至全国实施),
所以实施阶段的费用也会有很大的差异。
实施费用可依据项目规模(功能点)、实施成本系数和软件人员月人工费用计取。
实施费用S =工作量(人月)* 软件人员月人工费用
= (项目功能点*实施成本系数/7.5/22)*(3.23B)根据项目是集中式实施还是分布式实施,实施成本系数可以采用如下两种方式之一确定:
1)集中式实施的项目,实施成本系数与“用户数”相关,确定方法如下:实施成本系数= 开发成本系数*t。
根据软件工程理论和实际情况,t一般采用如下标准:
当0<用户数<=100时,t=0.2;
否则,t=0.2 +((用户数-100)/100)*f(四舍五入取两位小数);
f是调节因子,f取值如下:0.03<=f<=0.05,具体取值依项目实施难度而定。
2) 分布式实施的项目,实施成本系数与“实施单位(点)数”相关,确定方法如下:
实施成本系数= 开发成本系数*(0.2 +(n - 1)*k)
其中n代表需要实施的单位(点)数;k是比例因子。
根据软件工程理论和实际情况,k一般采用如下:0.08<=k<=0.15,具体取值依项目实施难度而定。
3) 个别项目,如果对实施有特殊要求(这些特殊要求是一般项目中从未出现过的或有本地化开发工作的),则经专家组评判,实施成本系数可