软件开发工作量/费用估算
[size=large]
软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:
软件开发价格 = 开发工作量 × 开发费用/人·月
1.1开发工作量
软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:
软件开发工作量 = 估算工作量经验值 × 风险系数 × 复用系数
1.1.1估算工作量经验值(以A来表示)
软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。
为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。
工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。
特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。
1.1.2风险系数(以σ来表示)
估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此:
l ≤ 风险系数 ≤ 1.5
根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。
1.1.3复用系数(以τ来表示)
估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法” ,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此:
0.25 ≤ 复用系数 ≤ 1
根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。
1.2开发费用/人·月
软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。
开发费用/人·月 =(P+Q+R)× S× τ
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)× l.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
T:复用系数0.25 ≤ τ ≤ 1
λ:综合系数2.7 ≤ λ ≤ 3.09[/size]
软件开发工作量/费用估算相关推荐
- 软件开发工作量及费用量化评估方法在金融行业的应用
面临的问题 随着国内金融行业市场化进程持续加快以及互联网金融的兴起,信息技术尤其是软件技术的应用对于金融科技创新至关重要.各大金融机构在持续加大科技创新力度的同时,如何科学.高效地管控应用开发的投入并 ...
- 软件开发计划_敏捷软件开发实践:估算与计划读书笔记123第21章 关于计划的沟通...
<敏捷软件开发实践:估算与计划>第21章 关于计划的沟通,重点和要点的思维导图及文字内容. 第21章 关于计划的沟通 The more elaborate our means of com ...
- 软件开发计划_敏捷软件开发实践:估算与计划读书笔记113第11章 确定渴望度优先级...
<敏捷软件开发实践:估算与计划>第11章 确定渴望度优先级,重点和要点的思维导图及文字内容. 第11章 确定渴望度优先级 If you have a choice of two thing ...
- vc6开发一个抓包软件_开发一个软件要多少钱?app软件开发的费用
很多人咨询app开发相关的问题,大多数人最关心的就是:开发一个软件要多少钱?在本文中,我们将为大家分析这个经典问题:app软件开发的费用是多少? 对于行业中的任何人来说,这都是一个棘手的问题,即使你已 ...
- [BZOJ 1221][HNOI2001]软件开发(费用流)
Description 某软件公司正在规划一项n天的软件开发计划,根据开发计划第i天需要ni个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的服务,其中一项服务就是要为每个开发人员 ...
- BZOJ 1221: [HNOI2001] 软件开发(最小费用最大流)
不知道为什么这么慢.... 费用流,拆点.... --------------------------------------------------------------------------- ...
- YBTOJ洛谷P2223:软件开发(费用流)
文章目录 题目描述 解析 代码 题目描述 某软件公司正在规划一项nnn天的软件开发计划,根据开发计划第iii天需要nin_ini个软件开发人员,为了提高软件开发人员的效率,公司给软件人员提供了很多的 ...
- 软件开发报价的计算方法[转载]
1.软件开发价格估算方法 软件开发价格与工作量.商务成本.国家税收和企业利润等项有关.为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量 ...
- 软件开发报价的计算方法 (转)
1.软件开发价格估算方法 软件开发价格与工作量.商务成本.国家税收和企业利润等项有关.为了便于计算,给出一个计算公式: 软件开发价格 = 开发工作量 × 开发费用/人·月 1.1开发工作量 ...
- (软件工程复习核心重点)第十二章软件项目管理-第一节:软件项目管理综述、估算软件规模和工作量估算
文章目录 一:软件项目管理综述 (1)管理 (2)软件项目管理 二:估算软件规模 (1)代码行技术 A:定义 B:方法 C:优缺点 (2)功能点技术 A:定义 B:信息域特性 C:估算功能点的步骤 ① ...
最新文章
- 删除数据为0所在的行
- C# delegate event
- 计数在html怎么添加,在Go中显示html模板的计数
- python3.4 pip必须升级python3.5_在ubuntu上将python3.4升级到python3.6会破坏pip
- 【转贴】爱是莲花,最美的是清苦的莲心
- Codeforces Round #595 (Div. 3) F. Maximum Weight Subset 树形dp
- Linux(Ubuntu)下设置开机自启shell脚本执行Java程序jar包
- Spring Session, Redis 实现微服务 Session 共享
- #include_next
- 551. 学生出勤记录 I
- goland配置mysql失败_GoLand配置数据库、远程host以及远程调试
- iPhone企业应用实例分析之二:程序处理流程
- 关于分布式系统的数据一致性问题(二)
- 黑马vue实战项目-(七)订单管理页面的开发
- odoo13 订单模板设置_ERP输出嵌入公章的采购订单电子档,其实真的不难
- 深度学习笔记----拓扑结构动态变化网络(Dropout,Drop Connect, Stochastic Depth, BranchyNet,Blockdrop,SkipNet)
- 一名运维工程师的第一个五年
- P2P加速系统解决方案
- 《大话设计模式》读后感
- RabbitMQ 6种应用场景
热门文章
- c语言编写的小游戏(c语言编写小游戏入门)
- VS code open in browser无法打开chrome浏览器的解决办法
- 机器学习深度学习入门学习资料大全(一)
- 电脑报制作黑客入门新手特训第1版
- 江苏计算机二级c语言考试范围,江苏省计算机二级C语言考试大纲
- vue中使用echarts实现中国地图
- cvpr2019论文汇总(论文/代码/项目/论文阅读)
- html5查看ies文件,5千+ IES光域网文件 5312 IES Files + IES 预览
- 电脑应该如何升级bios版本
- Java:HttpClient篇,HttpClient4.2在Java中的几则应用:Get、Post参数、Session(会话)保持、Proxy(代理服务器)设置,多线程设置......