研发项目成本计算方法以及工作量评估

目录

研发成本计算方法

1.1开发工作量

1.1.1估算工作量经验值(以A来表示)

1.1.2风险系数(以σ来表示)   

1.1.3复用系数(以τ来表示)    

1.2开发费用 (/人·月)

1.2.1 P(人头费)

1.2.2 Q(办公费)    

1.2.3 R(国家税收和企业利润)    

1.2.4 S(管理系数)    

1.2.5 T(优质系数)

工作量评估


研发成本计算方法

软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:

软件开发价格 = 开发工作量 × 开发费用/人·月

 

1.1开发工作量

软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:

软件开发工作量 = 估算工作量经验值 × 风险系数 × 复用系数

1.1.1估算工作量经验值(以A来表示)

软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。    

为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”[1]所规定的软件开发过程的各项活动来计算工作量。    

工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。    特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。

1.1.2风险系数(以σ来表示)   

 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此:

l ≤ 风险系数 ≤ 1.5

根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 

1.1.3复用系数(以τ来表示)    

估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法” ,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此:

0.25 ≤ 复用系数 ≤ 1

根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。

 

1.2开发费用 (/人·月)

软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。

开发费用/人·月 =(P+Q+R)× S × T

1.2.1 P(人头费)

人头费主要是员工的工资、奖金和国家规定的各项按人计算的费用。其总量在软件企业中的商务成本占70%-80%。

P = B × 1.476

国家规定的公积金 7%,医疗保险金12%,养老金22%,失业金 2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金2%,累计为47.6%。    B为平均工资,即企业支付给员工的工资、奖金、物质奖励等多项总和,除以企业员工数,分摊到每个月。

1.2.2 Q(办公费)    

办公费包括企业办公房屋租赁费和物业管理费、通信费、办公消耗品、水电空调费、设备折旧、差旅费,另外也包括企业对员工的在职培训所支付的费用,其总量在软件企业中的商务成本占20%-30%。

Q = B/3

此处办公费用按商务成本的25%计算。

1.2.3 R(国家税收和企业利润)    

由于国家实施发展软件产业的优惠政策,故不单独列出计算,但软件企业仍需承担缴纳国家税收的义务,可一并与企业利润一起考虑。    

另外,软件企业的员工不可能全年满负荷地工作,即使一年十二个月都安排工作,但也需抽出时间进行在职培训和提职的岗前培训。据我们的了解,软件企业的员工一年能有10个月到 11个月的工作也是正常的。

R = B/3

此处为我们的建议方案,各软件企业可视情况加以变更。

1.2.4 S(管理系数)    

通常每个机构的管理人员都会有一定的比例,参考一些机构的做法,按每十个软件人员配备两个管理人员即管理成本:

1 ≤ S ≤ 1.2

1.2.5 T(优质系数)

提高软件质量,必然有所开支,即质量成本,对于不同的软件企业来说,其质量成本不尽相同。    软件企业与其他企业一样,也有诚信和品牌等诸多因素,从而增加企业的开支。    

目前我们可以按通过 ISO9000质量体系认证和CMM或CMMI的认证来确定,分别取值1.05、1.1、1.15、1.2。    

今后建议可对软件企业的资质分为四级。由软件行业协会根据CMMI的认证、品牌、诚信程度等各种因素加以确定。此体系建设还有待进一步探索。   

 据此,我们综合上述各点:    

开发费用/人·月

=(B × 1.476 + B/3 + B/3)× 1.2 × T                     

= B ×(1.476 + 2/3)× 1.2 × T                     

= B × 2 .575 × T                     

= B × λ

当T=1.05时,λ=2.7    当T=1.2时,λ=3.09    因此,2.7 ≤ λ ≤ 3.09    

对于承接国外软件外包业务,一方面员工的工资较高,另外工作的安排也较难满负荷工作,用此建议R=B/2。因此    

开发费用/人·月

= B(1.476 + 1/3 + 1/2)× 1.2 × T                     

= B × 2.767 × T                     

= B × λ

当T=1.05时,λ=2.906    当T=1.2时,λ=3.32    因此,2.9 ≤ λ ≤ 3.32    

结论:       

 软件开发价格 = A × σ ×τ × B × λ            

A:估算工作量经验值            

B:软件企业的平均工资/人·月            

Q:风险系数l ≤ Q ≤ 1.5            

τ:复用系数0.25 ≤ τ ≤ 1           

λ:综合系数2.7 ≤ λ ≤ 3.09

 

工作量评估

工作量是指在软件项目建设过程中需要投入的人力和时间,一般用人月数进行度量。项目的建设分为开发阶段,实施阶段,运行维护阶段。故工作量需要分阶段进行估算。

工作量=开发工作量+实施工作量+维护工作量

开发阶段工作量估算:

两种估算方式:功能点估算法和任务估算法

功能点估算法:该方法是依据软件项目的功能需求来评估开发工作量。通过分析系统需求计算项目规模(功能点数),再乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),就可以计算出完成项目所需要的人月数。适用于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量估算

开发工作量D(人月)=(项目功能点FP*开发成本系数 k/H/W)

其中,H是指国家规定的一天工作时数,W指一个月工作天数。

开发成本系数k主要考虑项目的非技术难度,如开发周期,协调难度,业务的复杂度,需求的不确定性。

 k的取指范围一般为:

功能点数(FP)开发成本系数(人工时/FP)

 <3000                      3.5-4.0

 (3000,8000)        4.0-4.5

 >8000                     4.5-5.0

任务估算法:任务估算法是把软件项目功能分解为若干个相对独立的任务,再分别估计完成每个任务需要的人员搭配比例及投入时间,每个人员的工作量之和就是该任务的工作量。最后将各个任务的工作量累加起来就得出软件项目的总工作量。该方法适用于立项阶段的工作量估算

软件开发工作可分为:设计、编码、测试。设计各个岗位人员工作量可基于以下标准计算:

(1)以程序员的工作量为标准;

(2)高级程序员的工作量为标准工作量的1.5倍;

(3)系统分析员的工作量为标准工作量的2.5倍;

(4)测试工程师的工作量为标准工作量;

(5)高级测试工程师的工作量为标准工作量的1.5倍;

(6)项目管理人员的工作量为标准工作量的3倍;

(7)市场营销人员的工作量为标准工作量;

(8)技术支持工程师的工作量为标准工作量;

(9)文秘的工作量为标准工作量的0.5倍;

 

[1]该标准已经作废,现行标准请参考《GB/T 8566-2007  信息技术 软件生存周期过程》 

下载地址:https://download.csdn.net/download/admans/11064216

声明:本文转自网络 未找到明确出处和原作者,如有侵权请留言。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285967.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020年:风雨兼程,不负韶华,注定是不平凡的一年

时光易逝&#xff0c;岁月不老。2020&#xff0c;发生了太多的惊喜。 文章目录小瑶瑶报到疫情防控&#xff0c;我们是认真的感谢CSDN一路相伴小瑶瑶报到 1月20日&#xff0c;闺女小瑶瑶已超过预产期一周了&#xff0c;决定入院进行手术&#xff0c;次日&#xff0c;手术顺利进…

C语言试题六十之请编写函数fun,计算并输出下列级数和:s=1/1*2+1/2*3+…+1/n(n+1)

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 编写函数f…

Python对文件的操作(转)

一、文件对象 我理解的文件对象就是一个接口&#xff0c;通过这个接口对文件进行相关操作。 《Python 核心编程》上说的很晦涩&#xff0c;这里没有深刻理解到&#xff0c;希望有人能解释给我听。>>> f open(demo.txt,r) >>> f <open file demo.txt, mod…

微软发布全新Win11 轻量级系统Validation OS

你可能还不知道&#xff0c;在没有任何公开宣传的情况下&#xff0c;在最近&#xff0c;微软最近发布了一个全新的操作系统 Microsoft Validation OS。根据微软的说法&#xff0c;这是一个轻量级、快速且可自定义的基于 Windows 11 的操作系统。专门为硬件或软件供应商、开发人…

梦回编程- 由LD_LIBRARY_PATH引发JNI的理解

前些天在配置通过OCI的方式连接Oracle中曾进碰到一个关于“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”这么一个问题&#xff0c;这个问题纠结了许久才解决&#xff0c;解决方式参考前面的文章。趁双休日好好的理解一下产生这个问题的来龙去脉。先看一段话…

CSDN博客文章阅读模式插件(附源码)

插件地址&#xff1a;https://greasyfork.org/zh-CN/scripts/380667-csdn%E5%8D%9A%E5%AE%A2%E9%98%85%E8%AF%BB%E6%A8%A1%E5%BC%8F%E5%88%87%E6%8D%A2%E6%8F%92%E4%BB%B6 插件安装使用说明请参阅&#xff1a;https://greasyfork.org/zh-CN 浏览器&#xff08;正常&#xff09…

C语言试题六十一之请编写函数fun:将s所指字符串中下标为偶数的字符删除,串中剩余字符形成新串放在t所指数组中。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

【ArcGIS风暴】ArcGIS tif转jpg:JPEG压缩仅支持8位或16位无符号数据(具有一个或三个波段,且没有色彩映射表)解决方案!

扩展阅读:【ArcGIS风暴】ArcGIS支持的栅格数据格式大全及格式转换案例精解 文章目录 问题描述tif格式和JPEG格式详解ArcGIS软件tif转jpg方法总结问题描述 如下图所示,在ArcGIS中将tif格式的无人机影像数据导出为Jpg格式时,提示:JPEG压缩仅支持8位或16位无符号数据(具有一…

CF374 Maxim and Array

贪心 如果有0先变成非0 如果负数的个数 应该变为偶数 之后就是每次将绝对值最小的值加K #include<bits/stdc.h> using namespace std; const int MAXN 2e55; typedef long long ll;int N,K,X; ll A[MAXN]; int tag[MAXN]; struct Node{ll x; int id;Node(ll a0, int …

Blazor University (29)表单 —— 编辑表单数据

原文链接&#xff1a;https://blazor-university.com/forms/editing-form-data/编辑表单数据源代码[1]因为 EditForm 组件呈现标准的 <form> HTML 元素&#xff0c;实际上可以在我们的标记中使用标准的 HTML 表单元素&#xff0c;例如 <input> 和 <select>&a…

广州Uber优步司机奖励政策(1月4日~1月10日)

滴快车单单2.5倍&#xff0c;注册地址&#xff1a;http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单&#xff1a;http://www.cnblogs.com/mfryf/p/4612609.html 优步奖励低/不挣钱/怎么办?看这里&#xff1a;http://www.cnblogs.com/mfry…

10 关联模型《ThinkPHP6 入门到电商实战》

一、什么是关联模型 关联模型指在 tp 中使用模型对多个数据表进行关联。例如一个主账户表与一个账户信息表进行关联&#xff0c;此时两者关联后可以更加简便的进行操作&#xff0c;使代码更加清晰&#xff0c;操作更加简便。 二、 正向一对一关联 一对一关联指的是数据只有一…

阿里云云计算ACP考试知识点(标红为重点)

阿里云云计算专业认证考试&#xff08;ACP&#xff09;&#xff08;ECS&#xff09; 什么是云服务器 ECS 云服务器 Elastic Compute Service&#xff08;ECS&#xff09;是阿里云提供的一种基础云计算服务。使用云服务器 ECS 就像使用水、电、煤气等资源一样便捷、高效。您无需…

C语言试题六十二之请编写函数fun除了字符串前导和尾部的*号之外,将串中其他*号全部删除。形参h已指向字符串第一个字母,形参p已指向字符串中最后一个字母。在编写程序时,不得使用c语言提供的字符串函数。

📃个人主页:个人主页 🔥系列专栏:C语言试题200例目录 💬推荐一款刷算法、笔试、面经、拿大公司offer神器 👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 请编写函数…

Android 整体设计及背后意义

目录 1. Android设计的现实意义 1.1 发展的前提&#xff1a;硬件抽象 1.2 能力的枢纽&#xff1a;组件化 1.3 应用的基础-接口层 2. 对于我们的象征意义和实践 3. 小结 阿里妹导读&#xff1a;现实工作中经常可以听到这样的说法&#xff1a;框架的升级带来协议性能的提升…

数学的意蕴与价值(建议收藏)

数学的意蕴与价值,内容包括数学运算、长度面积等位换算等等,建议收藏。 意蕴1: 1x8+1=912x8+2=98123x8+3=9871234x8+4=987612345x8+5=98765123456x8+6=9876541234567x8+7=987654312345678x8+8=98765432123456789x8+9=987654321意蕴2: 1x9+2=1112x9+3=111123x9+4=11111234x9…

85、交换机安全MAC层***配置实验之Port-Security

1、Port Security解析触发Port Security的条件&#xff1a;未授权的MAC地址端口MAC地址数量超过了限制触发Port Security后的动作&#xff1a;protect Security violation protect mode 丢弃数据&#xff0c;不发送SNMP Trap消息 restrict Security violation restr…

C#-Linq源码解析之Concat

前言在Dotnet开发过程中&#xff0c;Concat作为IEnumerable的扩展方法&#xff0c;十分常用。本文对Concat方法的关键源码进行简要分析&#xff0c;以方便大家日后更好的使用该方法。使用Concat 连接两个序列。假如我们有这样的两个集合&#xff0c;我们需要把两个集合进行连接…

11 验证器《ThinkPHP6 入门到电商实战》

注&#xff1a;示例来源于官方手册 一、验证器定义 验证器用于对数据进行验证&#xff0c;你可以理解为一个“层”&#xff0c;在传入数据时可以使用这个层对数据进行验证&#xff0c;这样就可以不用频繁的在方法中编写代码去验证&#xff0c;只需要编写一个验证层即可&#…

合作开发和委托开发完成成果的归属

据专利法第8条的规定&#xff1a;“两个以上单位或者个人合作完成的发明创造、一个单位或者个人接受其他单位或者个人委托所完成的发明创造&#xff0c;除另有协议的以外&#xff0c;申请专利的权利属于完成或者共同完成的单位或者个人&#xff1b;申请被批准后&#xff0c;申请…