软件研发项目核算方法样本.docx
《软件研发项目核算方法样本.docx》由会员分享,可在线阅读,更多相关《软件研发项目核算方法样本.docx(21页珍藏版)》请在冰豆网上搜索。
![软件研发项目核算方法样本.docx](https://file1.bdocx.com/fileroot1/2022-11/22/4839d818-d708-4970-ae96-e1e4cbd011a2/4839d818-d708-4970-ae96-e1e4cbd011a21.gif)
软件研发项目核算方法样本
软件研发项目核算办法
(V1.0)
无锡超正软件有限公司
二○一六年七月
1
前言
1.1目
规范软件市场行为,维护价格公平竞争,同步为软件项目建设经费概算提供科学可信根据。
1.2软件项目建设类别
软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同步由于开发工具和操作系统平台可选取性,软件项目浮现了多样化趋势。
同样是软件项目,完毕途径和开发手段不同,其费用也会存在很大差别。
不同类别软件项目,其费用构成和概算办法也不同。
依照项目建设规定和方式,普通分为如下几类:
新开发项目:
从项目需求分析开始直至产品完毕正式交付使用,其工作覆盖软件产品分析、设计、测试、实行、运营维护各阶段。
二次开发:
在既有产品基本上进行提高和改造。
软件移植:
已有产品从一种操作系统平台转移到另一种操作系统平台,或者从本来运营环境切换到另一种新运营环境所需要进行调节和变动。
产品集成:
将各种既有软件产品构件整合在一起,组装成比较复杂或者更加完整产品。
1.3合用范畴
本指南合用于应用类定制软件新开发项目,项目应覆盖软件开发全过程(涉及立项可行性分析,需求分析、编码实现、安装实行、运营维护各个阶段工作)。
其中人月成本计算办法也合用于其她类型项目。
本指南是站在行业角度,去评估一种应用软件项目开发费用应当是多少,而不是站在开发商角度去计算某公司开发软件时成本支出是多少。
虽然这两者之间会关于联。
对于同一软件开发项目,不同开发商由于各自技术、能力、管理、积累以及其她方面因素,其实际成本支出会有较大差别。
而这不在本指南考虑之内。
1.4名词解释
应用软件:
是指针对特定领域开发,为特定目服务一类软件。
软件开发:
指从软件项目启动到项目实行前这一时间段工作。
其内容涉及详细设计、编码、测试、系统调试等方面工作。
系统实行:
指软件项目开发完毕进行安装到项目正式验收这一时间段工作。
其内容涉及系统安装、个性化配备、顾客培训等方面工作,但不涉及各实行点本地化开发工作。
运营维护:
指从软件项目正式验收到合同规定项目维护期结束这一时间段工作。
其内容涉及在此期间所需要提供原系统完善性修改和服务等工作(不涉及新增需求和原功能重大变更)。
如:
运营管理、系统平台维护、应用软件维护、数据维护等
验收测试:
拟定项目与否符合其验收准则,使客户能拟定与否接受此项目正式测试。
功能点(FP):
功能点是对软件功能和大小间接度量单位,普通通过必要和顾客交互状况数目来测算程序工作量大小。
功能点分析法是当前国际上软件行业普遍接受软件项目规模度量模型。
成本系数:
成本系数是指完毕某个功能点(FP)规定活动所需要投入人工时,其单位为:
人工时/FP。
依照软件项目建设过程各阶段工作,可分为:
开发成本系数、实行成本系数、维护成本系数。
工作量:
工作量计算是按一种开发工作人员在一种月内(日历中月,即涉及国家规定节假日)能完毕工作量为单位,也就是普通所讲“人月”。
人月成本:
指软件公司一种月平均需要所有开销(涉及员工成本、国家税收、公司利润、管理成本和质量成本等)摊分到各个员工头上金额。
平均工资:
指软件公司支付给所有员工工资总和除以公司员工人数得到工资数。
2软件项目费用概算
2.1项目阶段划分
软件项目全过程可分为:
立项阶段、建设阶段、完毕阶段。
不同阶段工作重点不同。
为保证软件项目开发质量,避免因需求不拟定,或者频繁更改所导致成本上升,同步也利于项目费用概算,软件项目建设最佳采用“总体规划、分段实行”原则。
立项阶段:
可委托专业技术征询机构或者专家进行项目可行性分析,需求分析;依照需求分析,进行系统设计;依照需求分析、系统设计,计算工作量,估算项目建设费(预算);依照项目概算进行招投标,拟定软件开发商,订立建设合同。
建设阶段:
由软件开发商依照前期需求分析和系统设计,进行编码实现,并负责安装实行、运营维护等工作。
项目实行完毕,需委托第三方测试机构进行验收测试。
完毕阶段:
项目完毕后,在需求变更较大情形下,可委托专业技术机构依照实际工作量估算项目建设费(决算),项目结束。
2.2各阶段费用构成
各阶段所有费用可分为四类:
征询费:
涉及立项阶段可行性分析,需求分析、系统设计、估价、招投标等方面工作所需要支出费用。
服务费:
第三方测试机构验收测试费、监理单位监理费、进行数据扫描录入等方面工作数据解决费等。
建设费:
软件开发商在开发、实行、维护等方面工作费用。
其中涉及:
软件开发费、系统实行费、运营维护费。
附加费:
针对具备特殊性质软件开发项目。
如:
若需要提交源程序,必要增长知识产权费;若涉及保密方面工作,则须增长保密费用等。
此外,由于软件项目建设过程中,需求变更不可避免,因而还需要考虑到因需求变更导致工作量加大带来费用。
软件项目费用构成如图1所示。
图1 软件项目费用构成
2.3项目费用概算
依上所述,软件项目从立项到结束,项目费用为:
项目概算 =征询费+建设费+服务费(+需求变更费+附加费)
=征询费+开发费+实行费+维护费+验收测试费+监理费
(+需求变更费+附加费)
3各项费用取费根据
3.1征询费
指软件项目立项前期,请专业机构或者专家进行技术征询、可行性分析、需求分析,造价评估、方案设计、项目招标代理等方面工作所发生费用。
该某些费用可依照项目预测投入建设费按照一定比例计取,也可以依照所投入人月数进行计取,此外还可以由双方协商拟定。
在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证,公证费按照国家规定原则计算。
表1软件行业征询取费原则
收费项目
收费基数
基准费率(%)
≤100万
101-300万
301-500万
501-1000万
1001-3000万
>3000万
需求分析、可行性分析、系统设计等
项目预投入费
8.3
7.8
7.3
6.7
5.4
4.5
估价
项目预投入费
3.6
3.0
2.5
2.2
1.8
1.5
招标代理
中标金额
1.0
0.8
0.7
0.55
0.35
0.3
技术征询
每人每日
1000元~1500元
表2公证服务取费原则
标额m(万元)
≤2
251050100200300>400
费率(%)
1
0.8
0.6
0.5
0.4
0.3
0.2
0.1
0.05
注:
1)按表1计费局限性1000元,按1000元收费。
2)按表2计费局限性200元,按200元收费。
3)技术征询按耗用工时(日)计费,为完毕委托任务发生差旅、交通费由委托方另行支付。
4)招标代理收费和公证服务收费按差额定率累进法计算。
如某招标代理业务中标金额为600万元,计算招标代理费如下:
100万元*1.0%=1万元
(300-100)万元*0.8%=1.6万元
(500-300)万元*0.7%=1.4万元
(600-500)万元*0.55%=0.55万元
则共计收费:
1+1.6+1.4+0.55=4.55万元
3.2建设费
建设费涉及支付给软件开发商进行软件开发、实行、维护等方面工作费用。
重要根据工作量(完毕该项目需要投入人力,以人月度量)和人月成本进行估算。
建设费=开发费+实行费+运营维护费
=(开发工作量+实行工作量+运营维护工作量)×人月成本
3.3服务费
3.3.1验收测试费
软件项目验收是一种运营环境复杂、技术难度较高、评价体系抽象过程。
该项目验收除通过专家评审外,还应进行相应验收测试,只有两者结合才干为信息化项目验收和鉴定提供定性、定量科学根据,才干做出较为客观精确验收和鉴定结论。
软件项目验收测试是依照项目特点(功能、技术需求和大小等)以及项目投入,按照评价软件质量功能性、易用性、可靠性、可维护性、可移植性、效率和文档等7个特性进行特性裁减,分为功能确认测试和验收测试。
1)功能确认测试
项目对象:
省、市级信息化建设项目涉及电子政务建设项目验收,各种渠道申报与软件有关科技项目验收和科技成果鉴定项目。
测试内容:
依照申报或鉴定合同技术条款和软件操作手册及被测软件运营拟定测试内容,普通只覆盖软件功能性、易用性和文档。
重要判断被测系统与否完毕合同规定功能及有关特性。
收费原则:
8000-10000元。
2)项目验收测试
项目对象:
各类信息化建设项目涉及电子政务建设项目应用发布之前验收,各种渠道申报与软件有关科技项目验收和科技成果鉴定项目,只要顾客需求和合同中条款覆盖效率和可移植性等特性规定项目。
测试内容:
在模仿或实际环境下测试被测系统与否实现了顾客需求,与否达到了国标有关规定。
根据顾客需求分析、合同技术条款、国标特性规定、软件操作手册和被测软件运营拟定测试内容。
收费原则:
验收测试费=建设费D*各测试项费率之和*调节系数t
各测试项费率及收费调节系数取值如表3、表4所示。
表3验收测试项费率表
序号
测试项
子特性
费率(a%)
1
功能性
功能点《100
a≥2.8
功能点>100
a≥3
2
易用性
易理解性
a≥0.07
易学性
a≥0.06
易操作性
a≥0.07
3
可靠性
成熟性
a≥0.2
容错性
a≥0.2
易恢复性
a≥0.1
4
维护性
易变化性
a≥0.07
稳定性
a≥0.07
易测试性
a≥0.06
5
可移植性
一种环境下测试
a≥0.2
各种测试环境,测试环境数n
a≥0.2+(n-1)*0.1
6
效率
普通效率指标
a≥1
负载
压力
测试
并发顾客数≤50,测试脚本数≤3,
a≥1;
每增长50个以内顾客数或3个如下测试脚本数,
a递增0.5
7
文档
顾客文档
a≥0.1
技术合同
a≥0.05
需求规格阐明书
a≥0.1
表4调节系数t取值范畴
序号
项目建设费D(万元)
收费折扣系数(t)
1
D≤200
≥1
2
200≥0.98
3
500≥0.96
4
1000≥0.95
5
≥0.93
6
5000≥0.92
7
D≥10000
≥0.90
注:
1)影响项目验收测试费用因素一种是项目大小,另一种是所选取测试项。
被选测试项多少决定测试费率a,项目大小决定收费调节系数L;
2)依照项目特点针对软件各个特性进行选取测试,测试费率为所选取软件特性测试费率a各项之和。
3)依照项目大小采用项目建设费越高费率越低原则进行调节。
4)项目验收测试最低收费为:
8000元(不含负载压力测试)
2万元(含负载压力测试)
3.3.2工程监理费
软件项目监理收费既考虑了信息系统软件项目特点,又参照了其他监理行业收费原则、收费方式。
普通可按照项目建设费(或合同价格)一定比例取费。
其取费比率重要依照项目规模、阶段、内容、复杂限度及监理成本等多方面因素综共计算。
计算公式如下:
监理费=建设费D*基本费率a*地区调节系数d*工期调节系数e
1)基本费率a依照项目建设费规模进行调节。
取值范畴如下:
表5 监理基本费率a取值范畴
序号
项目建设费D(万元)
费率a(%)
1
D≤200
>12
2
200<D≤500
>9
3
500<D≤1000
>7
4
1000<D≤
>6
5
<D≤5000
>5
6
5000<D≤10000
>4
7
D>10000
>3
2)鉴于软件项目实行时分布地区会有所不同,因而,监理费率应在基本费率基本上考虑地区因素。
地区调节系数d取值如下:
表6地区凋整系数d取值范畴
序号
地区范畴
地区调节系数
1
集中实行
1
2
地市范畴
1~1.2
3
全省范畴
1.2~1.5
4
全国范畴
1.5~2
3)鉴于软件项目工期长短不一,因而,监理费率应在监理基本费率基本上考虑工期因素。
工期越长,系数越大。
工期调节系数e如下:
表7工期调节系数e取值范畴
序号
工程工期T(年)
工期调节系数e
1
T≤1
e>0.9
2
1<T≤2
e>1.1
3
T>2
e>1.4
4)其她
对于非监理因素导致工程延期而产生监理附加工作,监理单位有权获得监理附加报酬。
监理附加报酬率=监理费*附加工作月数/合同规定月数。
对于项目结束后维护,其监理取费由顾客单位和监理单位协商解决。
本参照原则未作规定,可参照国家有关原则。
3.3.3数据解决费
项目中如具有大量档案、数据需要录入、解决,则需要考虑相应数据解决服务费。
收费原则可以依照所需要解决资料页数核计收费。
普通状况下单纯数据录入,收费原则为:
0.3-0.5元/页。
特殊规定数据解决可根据合同商定。
3.4附加费
如果顾客需要软件开发商提交源代码,则必要支付相应知识产权费;如果所开发项目是涉密项目,则需额外再支付给软件开发商保密费。
这些费用计算均与软件开发工作量有关,也就是与项目建设费有关,可按照项目建设费一定比例计取,或者双方协商。
3.5需求变更估算
由于软件开发过程中,顾客需求有也许不断变化,从而导致开发工作量变化,费用追加。
故在立项阶段即要请专业机构或者专家对需求变更风险性进行评估,以便在做项目预算时留出足够应付需求变更经费。
项目需求变更普通发生在项目建设过程中,立项阶段征询服务不受需求变化影响。
但验收测试和工程监理工作量会随着需求变化而加大,因此需求变更费为:
需求变更费=(建设费+验收测试费+监理费)*需求变更风险系数f
风险系数f可根据如下因素拟定:
1)项目成熟度:
如果是新项目,则开发过程中浮现需求变更也许性很大,且需求变更幅度大,风险系数就高;如果是成熟项目,或者已有过案例项目,则需求变化也许性较小,虽然有变化,幅度也不会太高,则风险系数就低。
2)项目规模大小:
如果项目规模小,需求容易拟定,变更几率就小,反之就大;
3)顾客业务稳定性和管理规范性:
顾客单位业务变化和业务流程调节,均有也许带来开发过程中需求变化。
4)前期项目需求分析、系统设计规范性和完善性:
前期需求分析与否全面到位、系统设计与否规范和细致,会影响到开发过程需求变化率。
4工作量估算办法
工作量指在软件项目建设过程中需要投入人力和时间,普通用人月数进行度量。
项目建设阶段普通可分为:
开发阶段、实行阶段、运营维护阶段。
故在工作量需分阶段进行估算。
工作量=开发工作量+实行工作量+维护工作量
另:
由于在软件项目开发过程中,因需求变更导致工作量变化情形不可避免,故可分别在立项阶段进行工作量预算,在项目完毕阶段进行工作量核算。
4.1开发阶段工作量估算
开发工作量是计算实行阶段和维护阶段工作量基本。
重要有两种估算办法。
4.1.1功能点估算法
该办法重要是根据软件项目功能需求来评估开发工作量。
通过度析系统需求计算项目规模(功能点数),再乘以各阶段完毕每个功能点所需要投入人工时(开发成本系数),就可计算出完毕项目所需要人月数。
合用于立项阶段需求分析比较详细项目或者用于项目完毕阶段最后工作量估算。
开发工作量D(人月)=(项目功能点FP*开发成本系数k/H/W)
其中H是指国家规定一天工作时数,W指一种月工作天数。
功能点FP估算详见附录—软件项目功能点估算法。
开发成本系数k大小重要是考虑项目非技术难度,如开发周期、协调难度、业务复杂限度、需求不拟定性等因素。
依照对实际数据测算,开发成本系数k取值范畴普通为:
表8 开发成本系数k取值范畴
功能点数(FP)
开发成本系数(人工时/FP)
《3000
3.5~4.0
3000〈FP《8000
4.0~4.5
〉8000
4.5~5.0
针对个别项目,如果有特殊状况(如某些顾客业务特殊规定是普通项目中从未浮现过、开发人员需要到顾客现场开发等),则经专业征询机构或者专家评估,开发成本系数可以超过此范畴上限限制。
4.1.2任务估算法
任务估算法是把软件项目功能分解为若干个相对独立任务,再分别预计完毕每个任务需要人员搭配比例及投入时间,每个人员工作量之和就是该任务工作量。
最后将各个任务工作量累加起来就得出软件项目总工作量。
该办法合用于立项阶段工作量估算。
根据软件工程概念、国内软件开发行业惯例及经验值,软件开发工作可分为:
设计、编码、测试。
设计各个岗位人员工作量可基于如下原则计算:
(1)以程序员工作量为原则;
(2)高档程序员工作量为原则工作量1.5倍;
(3)系统分析员工作量为原则工作量2.5倍;
(4)测试工程师工作量为原则工作量;
(5)高档测试工程师工作量为原则工作量1.5倍;
(6)项目管理人员工作量为原则工作量3倍;
(7)市场营销人员工作量为原则工作量;
(8)技术支持工程师工作量为原则工作量;
(9)文秘工作量为原则工作量0.5倍;
例如:
完毕某个任务人员投入和时间需求如表9,则其工作量为60.5
人月。
表9某任务工作量估算表
开发阶段
投入人员状况
时间(月)
工作量(人月)
需求分析
系统分析员2人
2
2*2*2.5=10
系统设计
系统分析员1人
2
1*2*2.5=5
高档程序员2人
2
2*2*1.5=6
编码
高档程序员2人
1
2*1*1.5=3
程序员4人
1
4*1*1=4
测试
测试工程师4人
2
4*2*1=8
项目管理
项目管理人员1人
7
1*7*3=21
文案工作
文秘1人
7
1*7*0.5=3.5
共计:
60.5(人月)
4.2实行阶段工作量估算
软件项目实行范畴因项目而异(有些项目只实行一种单位、有些需要实行各种单位、有些甚至需要全市、全省甚至全国实行),因此实行阶段费用也会有很大差别,甚至有项目会浮现实行费用超过开发费用情形。
实行阶段工作量可根据开发阶段工作量、实行系数来计算。
实行工作量(人月)=开发工作量D*实行系数s
依照项目是集中式实行还是分布式实行,实行系数s取值有所不同。
1)集中式实行项目
实行系数s与“顾客数”有关。
设n为顾客数,普通状况下:
当0否则,s=0.2+((n-100)/100)*q(四舍五入取两位小数);
q是调节因子,取值范畴为:
0.03≤q≤0.05,详细取值依项目实行难度而定。
2)分布式实行项目
实行系数s与“实行单位(点)数”有关。
设n为需要实行单位(点)数,普通状况下:
s=0.2+(n-1)*q
q是调节因子,普通取值范畴为:
0.08≤q≤0.15,详细取值依项目实行难度而定。
3)个别项目,如果对实行有特殊规定(这些特殊规定是普通项目中从未浮现过或有本地化开发工作),或者实行环境、条件、难度等方面因素影响,则经专业机构或者专家评估,实行系数可以超过此范畴上限限制。
4)如果软件项目是系统集成项目中一某些,实行时需要整体考虑,则可将实行费抽出另算。
一种是将软件实行费并入到整个集成项目实行费用中,另一种就是在软件实行费中加入项目集成实行费用。
4.3维护阶段工作量估算
软件项目通过验收,交付使用后,需进行一年系统维护。
维护内容涉及:
运营管理、系统平台维护、应用软件维护、数据维护等。
依照不同顾客规定,系统维护服务可分为如下两种情形:
A级
软件公司派出技术人员常驻顾客处,解决寻常运营中发生问题。
则其工作量由派驻人员数目和派驻时间决定。
软件(系统)维护工作量=派驻人员数*时间(月)
B级
软件公司在国家规定正常工作时间,按双方商定条件和时间到达现场,且每月(或定期)派技术人员到现场进行软件(系统)性能调试,使之运营处在良好状态。
则B级维护工作所需工作量根据开发工作量、实行工作量、维护系数来计算。
运营维护工作量(人月)=(开发工作量+实行工作量)*维护系数w
=(开发工作量+开发工作量*实行系数s)*维护系数w
=D*(1+s)*w
维护系数w取值范畴为0.15-0.20,详细取值依项目维护难度而定。
针对个别项目,如果对维护有特殊规定(这些特殊规定是普通项目中从未浮现过),则经专业机构或者专家评估,维护成本系数可以不受此限制。
备注:
系统后期维护:
系统运营一年之后系统维护,需另行订立系统维护合约。
为了有助于保证顾客利益和扶植软件公司,在维护工作范畴不变前提下,如果新维护合同维护费用不超过上一年度维护金额115%,则顾客应当和原开发商直接订立维护合同,否则由可进行招投标并拟定新维护合同项目承担单位。
5人月成本估算办法
软件开发项目成本计算中应涉及软件项目在开发过程中所耗费各项费用,涉及从设计阶段到测试完毕交付顾客使用之间所发生工资费、材料费、外协费、实验费、固定资产使用费、交通费、管理费等。
普通用人月成本作为度量指标。
人月成本是指软件公司一种月平均需要所有成本开销(涉及工资、奖金、福利、办公成本、国家各种税费、管理费用等等)及软件公司合理利润总和,除以公司员工人数。
其成本开销重要涉及如下方面:
1)工资:
指软件公司需要支付给软件开发人员工资平均值,设该值为B。
2)国家规定福利:
按照国家政策缴费基数缴纳职工福利,其中公积金8%~20%(此处按8%计),医疗保险金12%,养老金22%,失业金2%(即普通所说四金),此外尚有按工资总额计征工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金1%,合计为47.6%。
故该项成本为0.476B。
3)奖金及各项物质奖励:
指公司支付给公司奖金及过年过节某些物质奖励和基本福利。
依照经验及广东省软件行业状况,该项成本约为0.20B。
4)办公成本:
涉及办公场地租赁费、水电费、差旅费、公司为项目顺利运作所支付其她费用如市场营销费等各项。
依照经验及研究,该项支出约占公司员工成本三分之一,即该项成本为B/3。
5)人力资源储备费:
公司人员流动、人员储备及人员学习、培养、知识更新,不能创造价值但需要支付成本,该项成本为0.20B。
6)基本设施建设、设备购买、折旧费,各项开发平台、开发工具购买等,该项成本约为0.15B。
7)国家税收和公司利润,依照经验和记录数据,约占公司员工成本三分之一,故该项成本约为B/3。
8)管理费用:
涉及公司管理层,部门管理层,人力资源、行政、财务等人员费用分摊。
依照经验和行业普通计算办法,每十个软件人员配备两个管理人员,则管理费用计取比例为前面七项总和20%。
综合以上因素,可得出普通程序员人月成本Q为:
Q=(工资+福利+奖金+办公成本+资源储备+基本建设+税收利润)*(1+管理费率)
=(B+0.20B+0.476B+B/3+0.2B+0.15B+B/3)*1.2
=3.23*B
注:
平均工资B依照国家经济发展和软件行业发展状况每年会有所调节,不同地区工资水平也会有所差别。
可由软件行业协会依照软件行业记录数据和地方经济发布数据,得出全省重要地市每年平均值并予以发布。
6其她事项
6.1最后合同金额拟定
软件项目完毕后,依照最后系统功能点数和性能规定,可由专业评估机构再次进行评估,依照评估成果拟定最后项目合同金额。
其