欢迎访问灵集科技有限公司
0471-4953016 nmgjoin@sina.com

软件开发成本估算方法

发布时间:2022年11月10日    阅读次数:124

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


  01、目的


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


  02、适用范围


  软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。


  根据项目建设要求和方式,一般分为以下几类:


  【新开发项目】:从项目的需求分析开始直至产品完成正式交付使用,其工作覆盖软件产品的分析、设计、测试、实施、运行维护各阶段。


  【二次开发】:在现有产品的基础上进行提升和改造。


  【软件移植】:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所需要进行的调整和变动。


  【产品集成】:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。


  本文适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过程(包括立项可行性分析、需求分析、编码实现、安装实施、运行维护各个阶段工作)。站在行业的角度,去评估一个应用软件项目的开发费用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少!


微信截图_20221110171030.png


  03、名词解释


  01、应用软件


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


  02、软件开发


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


  03、系统实施


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


  04、运行维护


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


  05、验收测试


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


  06、功能点(FP)


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


  07、成本系数


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


  08、工作量


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


  09、人月成本


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


  10、平均工资


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


  04、项目阶段划分


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


  立项阶段


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


  建设阶段


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


  完成阶段


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


  05、各阶段费用构成


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


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


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


  附加费:针对具有特殊性质的软件开发项目。比如:若需要提交源代码,必须增加知识产权费;若涉及保密方面的工作,则需增加保密费用等。


  此外,由于软件项目建设过程中,需求变更不可避免,因而还需要考虑到因需求变更导致工作量加大带来的费用。


  依上所述,软件项目从立项到结束,项目费用为:


  项目概算=咨询费+建设费+服务费+附加费+需求变更费=咨询费+开发费+实施费+维护费+验收测试费+监理费+数据处理费+知识产权保护费+保密费+需求变更费


文章转自: