大数跨境
0
0

软件开发成本估算方法

软件开发成本估算方法 黑云网络集团
2022-03-02
1




软件项目开发成本概况



     软件项目的开发成本作为一个经济学范畴,应反映软件产品在其生产过程中所耗费的各项费用,为工资、福利、设备、折旧、人工费、管理费等各项开支的总和


01

目的

     规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。


02

适用范围

     软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。
     根据项目建设要求和方式,一般分为以下几类:        
    新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工作覆盖软件产品的分析、设计、测试、实施、运行维护各阶段。       
    二次开发:在现有产品的基础上进行提升和改造。       
    软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所需要进行的调整和变动。       
    产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。  
      本文适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过程(包括立项可行性分析、需求分析、编码实现、安装实施、运行维护各个阶段工作)。站在行业的角度,去评估一个应用软件项目的开发费用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少!


03

名词解释


01
应用软件
是指针对特定领域开发,为特定目的服务的一类软件。

02
软件开发
指从软件项目启动到项目实施前这一时间段的工作。其内容包括详细设计、编码、测试、系统调试等方面的工作。

03
系统实施
指软件项目开发完毕进行安装到项目正式验收这一时间段的工作。包括系统安装、个性化配置、用户培训等方面的工作,但不包括各实施点的本地化开发工作。

04
运行维护
指从软件项目正式验收到合同规定的项目维护期结束的这一时间段的工作。其内容包括在此期间所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。如:运行管理、系统平台维护、应用软件维护、数据维护等。

05
验收测试
确定项目是否符合其验收准则,使客户能确定是否接收此项目的正式测试。

06
功能点(FP)
功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。

07
成本系数
成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,其单位为:人工时/FP。根据软件项目建设过程的各阶段工作,可分为:开发成本系数、实施成本系数、维护成本系数。

08
工作量
工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人月”。 

09
人月成本
指软件企业一个月平均需要的所有开销(包括员工成本、国家税收、企业利润、管理成本和质量成本等)摊分到各个员工头上的金额。

10
平均工资
指软件企业支付给所有员工的工资总和除以企业员工人数得到的工资数。


04

项目阶段划分

      软件项目全过程分为:立项阶段、建设阶段、完成阶段。不同阶段工作重点不同。为保证软件项目开发质量,避免因需求不确定,或者频繁更改造成的成本上升,同时也利于项目费用概算,软件项目建设最好采用“总体规划、分段实施”的原则。
立项阶段

可委托专业技术咨询机构或者专家进行项目的可行性分析、需求分析;根据需求分析,可进行系统设计;根据需求分析、系统设计,计算工作量,估算项目建设费(预算);根据项目概算进行招投标,确定软件开发商,签订建设合同。

建设阶段

由软件开发商根据前期需求分析和系统设计,进行编码实现,并负责安装实施、运行维护等工作。项目实施完毕,需委托第三方检测机构进行验收测试。

完成阶段

项目完成后,在需求变更较大的情形下,可委托专业技术机构根据实际工作量估算项目建设费(决算),项目结束。



05

各阶段费用构成

咨询费

     包括立项阶段的可行性分析、需求分析、系统设计、估价、招投标等方面的工作所需要支出的费用。

服务费

     第三方检测机构的验收测试费,监理单位的监理费,进行数据扫描录入等方面工作的数据处理费等。

建设费

     软件开发商在项目开发、实施、维护等方面工作的费用,包括:软件开发费、系统实施费、运行维护费等。

附加费
     针对具有特殊性质的软件开发项目。比如:若需要提交源代码,必须增加知识产权费;若涉及保密方面的工作,则需增加保密费用等。
     此外,由于软件项目建设过程中,需求变更不可避免,因而还需要考虑到因需求变更导致工作量加大带来的费用。



     依上所述,软件项目从立项到结束,项目费用为: 
     项目概算=咨询费+建设费+服务费+附加费+需求变更费=咨询费+开发费+实施费+维护费+验收测试费+监理费+数据处理费+知识产权保护费+保密费+需求变更费


06

软件开发各项费用收取依据


6.1、咨询费

     指软件项目立项前期,请专业机构或者专家进行技术咨询、可行性分析、需求分析、造价评估、方案设计、项目招标代理等方面的工作所发生的费用。该部分费用可根据项目预计投入的建设费计取,也可以根据所投入的人月数进行计取,此外还可以由双方协商确定。在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证,公证费按照国家规定标准计算。

注: 

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万元 


6.2、建设费

     建设费包括支付给软件开发商的进行软件开发、实施、维护等方面工作的费用。主要依据工作量(完成该项目需要投入的人力,以人月度量)和人月成本进行估算。 
    建设费=开发费+实施费+运行维护费=(开发工作量+实施工作量+运行维护工作量)× 人月成本
    软件项目工作量估算方法
    软件项目人月成本估算方法
    软件项目规模功能点估算方法
    详情内容在第2、3、4篇文章中介绍  


6.3、服务费



01


     软件项目验收是一个运行环境复杂、技术难度较高、评价体系抽象的过程。该项目验收除经过专家评审外,还应进行相应验收测试,只有两者结合,才能为信息化项目验收和鉴定提供定性、定量的科学依据,才能做出较为客观准确的验收和鉴定结论。
     软件项目的验收测试是根据项目的特点(功能、技术需求和大小等)以及项目投入,按照评价软件质量的功能性、易用性、可靠性、可维护性、可移植性、效率和文档等7个特性进行特性裁减,分为功能确认测试和验收测试。
【功能确认测试】
     项目对象:省、市级信息化建设项目包括电子政务建设项目验收,各种渠道申报的与软件相关的科技项目的验收和科技成果鉴定项目。
     测试内容:根据申报或鉴定合同的技术条款和软件操作手册及被测软件运行确定测试内容,一般只覆盖软件的功能性、易用性、和文档。主要判断被测系统是否完成合同要求的功能及相关特性。
     收费标准:8000--10000元。
【功能验收测试】
     项目对象:各类信息化建设项目,包括电子政务建设项目应用发布之前的验收,各种渠道申报的与软件相关的科技项目的验收和科技成果的鉴定项目,只要用户需求和合同中的条款覆盖效率和可移植性等特性要求的项目。
     测试内容:在模式或实际环境下测试被测系统是否实现了用户需求,是否达到了国家标准的相关要求。依据用户需求分析、合同的技术条款、国家标准的特性要求、软件操作手册和被测软件运行确定测试内容。
收费标准:验收测试费=建设费D*各测试项费率之和a*调节系数t

注: 
1)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。被选测试项多少决定测试费率a,项目大小决定收费调节系数t。  
2)根据项目特点针对软件各个特性进行选择测试,测试费率为所选择软件特性测试费率a各项之和。 
3)根据项目大小采取项目建设费越高费率越低原则进行调节。 
4)项目验收测试最低收费为:8000元(不含负载压力测试);2万元(含负载压力测试)。


02


【工程监理费】

      软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其他监理行业的收费标准、收费方式。一般可按照项目建设费(或合同价格)的一定百分比收取。其取费比率主要根据项目的规模、阶段、内容、复杂程度及监理成本等多方面因素综合计算。


监理费=建设费D*基本费率a*地域调整系数d*工期调整系数e

     对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬。 
监理附加报酬率=监理费*附加工作月数/合同规定月数 
     对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。本参考标准未作规定的,可参考国家相关标准。


03


数据处理费

      项目中如含有大量文档、数据需要录入、处理,则需要考虑相应的数据处理服务费。收费标准可以根据所需处理的资料的页数核计收费。 
      一般情况下,单纯的数据录入,收费标准为:0.3--0.5元/页。特殊要求的数据处理可依据合同约定执行。


6.4、附加费

     1: 如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费
     2: 如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费
     这些费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照项目建设费的一定比例计取,或者双方协商。



6.5、需求变更估算

     由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。  

     项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以需求变更费为: 

需求变更费=(建设费+验收测试费+监理费)*需求变更风险系数f 

     风险系数f可依据以下因素确定: 

     1) 项目的成熟度:如果是新项目,则开发过程中出现需求变更的可能性很大,且需求变更幅度大,风险系数就高;如果是成熟项目,或者已经有过案例的项目,则需求变化的可能性较小,即使有变化,幅度也不会太高,则风险系数就低。 

     2) 项目的规模大小:如果项目规模小,需求容易确定,变更几率就小,反之就大; 

     3) 用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化。

     4) 前期项目需求分析、系统设计的规范性和完善性:前期的需求分析是否全面到位、系统设计的是否规范和细致,会影响到开发过程的需求变化率。


07

其他事项

最终合同金额确定】 
     软件项目完成后,根据最终的系统功能点数和性能要求,可由专业评估机构再次进行评估,根据评估结果确定最终项目的合同金额。其中因需求变更而追加的费用一般不能超过项目概算的40%。如果由于需求发生巨大变更而导致需求变更费用大幅增加,软件开发商需要及时向用户方提出申请,由专家进行评估后决定是终止需求的变更或续签新合同。 
付款方式】 
     软件项目建设过程,为保证工程按时按质完成并保证投资方和开发商的利益,可将整个软件项目分解为多个子项目或者分阶段项目,逐个实施,分项付款。 
评估机构】 
     项目概算过程中要充分发挥专家和中介机构在管理与决策中的咨询和评议作用。

--------------------------------------------------------

▼    

河南黑云科技愿与您携手共创美好未来

欢迎您的加入 感谢您的关注

▼    

24小时在线客服为您服务

【创作声明】

       以上文章属于此公众号原创所有,如需转载,请联系我们,并注明出处!

【免责声明】

       文章涉及到的相关资源信息,均来源于网络的各类开源网站社区或者是我们在日常项目中、学习中整理的一些行业资料,主要用于学习交流。其中用户产生的一些自愿下载、打赏或者付费行为,原则上与平台没有直接关系。如果涉及到侵犯原作者的相关权益,请联系我们进行相关处理!

-----------------------------------------------


【声明】内容源于网络
0
0
黑云网络集团
【黑云科技】,软件开发一站式服务商!专注于:软件开发、物联网建设、系统集成、网页设计、技术支持、方案设计、项目维护、数据爬虫等,助力企业互联网快速转型升级,真正实现企业互联网信息化智能化,提高企业在网络科技时代的市场竞争力!
内容 15
粉丝 0
黑云网络集团 【黑云科技】,软件开发一站式服务商!专注于:软件开发、物联网建设、系统集成、网页设计、技术支持、方案设计、项目维护、数据爬虫等,助力企业互联网快速转型升级,真正实现企业互联网信息化智能化,提高企业在网络科技时代的市场竞争力!
总阅读3
粉丝0
内容15