软件开发成本估算(软件开发成本估算的一般方法)
本篇文章给大家谈谈软件开发成本估算,以及软件开发成本估算的一般方法对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
软件开发怎么计价的?
软件开发怎么计价的
软件开发如何计算工时,如何报价软件系统定制开发报价的计算方法,软件开发工时费用标准
1.软件开发做软件((致电手。叽l58--ll33--4744))价格估算方法
软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式:
软件开发价格=开发工作量×开发费用/人·月
1.1开发做软件((致电手。叽l58--ll33--4744))工作量
软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:
软件开发工作量=估算工作量经验值×风险系数×复用系数
1.1.1估算工作量经验值(以A来表示)
软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。
为了更好地规范估算方法,建议可按照国家标准“GB/T8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。
工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。
特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。
1.1.2风险系数(以σ来表示)
估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此:
l≤风险系数≤1.5
根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。
1.1.3复用系数(以τ来表示)
估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”
,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此:
0.25≤复用系数≤1
根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。
1.2开发费用/人·月
软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。
开发费用/人·月=(PQR)×S×τ
1.2.1P(人头费)
人头费主要是员工的工资、奖金和国家规定的各项按人计算的费用。其总量在软件企业中的商务成本占70%-80%。
P=B×1.476
国家规定的公积金7%,医疗保险金12%,养老金22%,失业金
2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金2%,累计为47.6%。
B为平均工资,即企业支付给员工的工资、奖金、物质奖励等多项总和,除以企业员工数,分摊到每个月。
1.2.2Q(办公费)
办公费包括企业办公房屋租赁费和物业管理费、通信费、办公消耗品、水电空调费、设备折旧、差旅费,另外也包括企业对员工的在职培训所支付的费用,其总量在软件企业中的商务成本占20%-30%。
Q=B/3
此处办公费用按商务成本的25%计算。
1.2.3R(国家税收和企业利润)
由于国家实施发展软件产业的优惠政策,故不单独列出计算,但软件企业仍需承担缴纳国家税收的义务,可一并与企业利润一起考虑。
另外,软件企业的员工不可能全年满负荷地工作,即使一年十二个月都安排工作,但也需抽出时间进行在职培训和提职的岗前培训。据我们的了解,软件企业的员工一年能有10个月到
11个月的工作也是正常的。
R=B/3
此处为我们的建议方案,各软件企业可视情况加以变更。
1.2.4S(管理系数)
通常每个机构的管理人员都会有一定的比例,参考一些机构的做法,按每十个软件人员配备两个管理人员即管理成本:
1≤S≤1.2
1.2.5T(优质系数)
提高软件质量,必然有所开支,即质量成本,对于不同的软件企业来说,其质量成本不尽相同。
软件企业与其他企业一样,也有诚信和品牌等诸多因素,从而增加企业的开支。
目前我们可以按通过ISO9000质量体系认证和CMM或CMMI的认证来确定,分别取值1.05、1.1、1.15、1.2。
今后建议可对软件企业的资质分为四级。由软件行业协会根据CMMI的认证、品牌、诚信程度等各种因素加以确定。此体系建设还有待进一步探索。
据此,我们综合上述各点:
开发费用/人·月=(B×1.476B/3B/3)×l.2×T
=B×(1.4762/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.4761/31/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
2.软件(系统)维护收费价格估算方法
在完成信心工程项目的系统集成和应用软件开发,并交付用户正式运行的一年内,对软件(系统)实行免费维护服务一年。
在正式运行一年后,软件企业应与用户签定软件(系统)维护合同。该合同属技术转让合同,也可属技术开发合同。
根据不同的用户要求,可分四种级别进行软件(系统)维护。
2.1A级
软件企业派出技术人员常驻用户,解决日常运行中发生的问题。
2.1.1U(系统建设投资额)
用户需要软件企业维护的系统,该系统建设的投资额。如用户只需要软件企业维护其所开发的应用软件,U就是该应用软件开发费;如用户需要软件企业维护整个系统,包括计算机硬件、软件、网络和应用软件,则U就是该信息工程项目的总投资额。
2.1.2N(技术人员数)
软件企业派出N个技术人员,常驻用户,因此:
软件(系统)维护费/年=U×15%或B×λ×N×12
B、λ参见1.
2.2B级
软件企业每周七天,每天24小时(即7×24小时)响应,2小时到现场,且每天派技术人员到现场进行软件(系统)性能调试,使之运行处于良好状态。
软件(系统)维护费/年=U×10%
2.3C级
软件企业7×24小时响应,2小时到场。
软件(系统)维护费/年=U×5%
2.4D级
用户的信息工程系统或应用软件发生问题,由原承担的软件企业派人维护。
2.4.1B’
这种维护方式要求软件企业需要保存所有的技术档案,更需要软件企业抽出专人来不断熟悉和全面掌握该软件(系统)的各项技术细节。因此,软件企业的这项支出必然要在维护费用收入中得到回报。
以1.1.3节中的B作为参数,将其人·月单位改为人·天,以B’表示。
2.4.2τ’
软件企业如果采用基于构件开发方法,并建立起构件库,则会大大提高软件维护的效率。另外,如果有多家用户运行的系统大致类似,也可有所提高效率。
以1.1.3节中的τ作为参数,以τ’来表示。因此:
软件(系统)维护费/次=B’×τ’×n
此次n表示所需要的人·天数。τ’的取值是0.2≤τ’≤1。
3.系统集成价格的估算方法
将整个系统所涉及到的设备、软件、网络整和起来,并能正常地运行,其运行的结果能达到用户建立该系统的目标。这就是系统集成的含义。因此,可以理解为单纯的设备采购和供应并不涉及系统集成,以及单纯的应用软件开发也并不涉及系统集成。
系统集成费应与整个系统的规模、整个系统的复杂程度等项有关。
系统规模往往与系统建设费用密切相关。为了简便计算,以系统建设费用(以U来表示)为参考坐标。复杂程度(以α来表示)可分四种级别来区分。
系统集成费=U×α×T
T参见1.2.5节
3.1A级
整个系统涉及到计算机硬件、软件、局域网络,且体系结构在三层次以下(含三层次)。
5%≤α≤8%
3.2B级
整个系统涉及到计算机硬件、软件、局域网络、互联网,且体系结构在三层以上(含三层次)。
7%≤α≤10%
3.3C级
整个系统涉及到计算机硬件、软件、局域网络、互联网以及多种网络接口。
8%≤α≤12%
3.4D级
整个系统涉及到计算机硬件、软件、网络、通信以及各种数据采集设备接口或者与用主系统有接口。
10%≤α≤15%
4.系统解决方案费用估算方法
根据用户所提出的初步需求,软件企业根据以往的经验为之提供整个系统建设的方案,包括需购买的计算机硬件、软件、网络设备和应用软件开发的大体设想、费用估算、进度初步安排、信息化所涉及到的规章制度的一些规划,有时还会涉及信息中心的建设等等。这就是系统解决方案所要完成的工作。
目前国内市场对于系统解决方案是一种智力劳动成果的认识不足,以及国内多数招标公司并不熟悉信息技术,从而更加使得系统解决方案收费变得困难。因此,目前的收费处于过渡阶段。
系统解决方案费用与整个系统的规模、复杂程度等项有关。
系统规模往往与系统建设费用密切相关,为了简便计算,以系统建设的总投资(以U来表示)为参考坐标。
复杂程度就是用户的功能、性能要求复杂性、信息接口的类型和数量有关,以β来表示。
解决方案费用=U×β×T
T参见1.2.5节
关于β我们参照第3节所列各级。
A级:0.7%≤β≤1.2%
B级:1%≤β≤1.8%
C级:1.5%≤β≤2.2%
D级:2%≤β≤3%
软件开发的成本如何核算!
软件开发的成本如何核算
如今,不少企业都想拥有属于自己企业或产品的手机APP,但其中最困扰企业主的问题就是:开发一款手机APP到底需要多少钱?
简单点来说,要视手机APP的需求及质量而言,价位一般在几千到十几万左右,更高端的价格更高。
今天,我们就来详细分析一下这个问题,请继续往下看吧。
一、APP开发款式分为固定款和定制款,两者的价格均不相同
固定款:是指直接套用已有的、现成的APP固定模板,报价是固定的,所需要的功能也是固定的,缺点就是客户拿不到源代码,也不能根据企业需求进行定制,由于源代码是封装的,如果企业以后想进行功能升级或系统维护的话,也不能够实现,只能重新开发一个新的软件。
固定款的APP开发时间短,约2~3日的时间即可完成,费用大约在几千到几万之间。
定制款:定制款是指APP的功能全部重新开发,过程比较繁琐,需要美工、策划、APP开发(前台/客户端/手机端)、后台程序员等工种协同完成,大型的、功能复杂的APP甚至需要数十人的团队。
由于APP的功能和设计都是定制的,因此价格会高些。定制款的开发时间与开发价格是成正比的,开发时间长,大约在两三个月甚至不定的周期里才能完成,而费用大概在几万甚至十几万左右。
因此,想要知道开发一款手机APP需要花费多少钱,企业主首先必须把APP的详细需求和功能告知APP开发公司,开发公司才能报出一个合理的价格。
二、手机APP平台不同,制作成本也不一样
现在市面上流行的手机APP制作平台主要有两种一般包括两种系统:安卓系统(Android)和苹果系统(IOS)。
一般来说,制作苹果系统的手机APP软件费用要比安卓平台的贵一些,因为苹果公司对苹果平台的封闭性和手机APP开发语言Objective-C的难度,都让APP开发者加大了苹果系统手机APP开发的难度。
三、APP制作成本包含参与人员的工资
通常情况下,开发一款APP需要产品经理、客户端工程师、后端工程师和UI设计师各一名,这已经是制作手机APP应用软件比较精简的配置了,所以这些参与人员的工资也是包含在APP制作成本当中的。这些工作人员的月薪加起来可能都会超过4、5万元。
四、APP开发公司的所在地
需要注意的是,同样实力的APP开发公司,在不同的城市也会导致APP的成本费用高一些,如在北京、深圳和上海等地的开发公司开发成本费用就会比较高,因为当地开发人员的薪资和其他支出相对更高。
如何核算一个软件开发项目的成本
软件开发项目的成本从以下四个方面核算:
1、开发人员工资:外包项目报价的基础是开发人员的工资,工资由工作年限、经验、水平决定。开发人员包括产品经理、UI设计师、前端工程师、服务端工程师、客户端工程师等,不同的外包项目需要的开发人员不同。
2、时间成本:软件开发过程中,可交付成果的产出主要依赖程序员,程序员成本消耗最高。程序员写代码的时间越长,成本越高,软件成本常以每日为单位进行估算。
3、识别活动和分解工作成本:软件启动开发后,进行需求分析、撰写需求规格说明书、需求评审、测试等活动。在项目前期,需识别软件开发的相关活动项,并进行工作分解,确定每个活动项的前后依赖关系。
4、估算人员角色及数量:活动项确定后,逐个评估活动项执行所需要的资源,根据交付成果评估所需人员,开发相对应的软件。每种软件所要求掌握的技能不同,角色和级别不同。
如何确定软件的开发成本价格?
软件开发成本估算过程可进一步细分为软件规模估算、工作量估算、成本估算和确定软件开发成本等四个过程。
其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。
国家标准《GB/T 36964-2018 软件工程 软件开发成本度量规范》中建议的软件开发成本估算基本流程如下图所示:
国家准中的四个估算过程,层层递进,逐步细化,最终达到科学、一致的成本估算。
一、软件规模估算
通常情况下,规模估算是软件成本估算过程的起点。
估算规模是后续计算软件项目的工作量、成本和进度的主要输入,是项目范围管理的关键,因此,在条件允许的情况下,应首先进行规模估算。
在规模估算过程中,需要注意以下情况:
1.在规模估算开始前,应根据可行性研究报告或类似文档明确项目需求及系统边界。项目需求除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行说明,以保证可以根据项目需求进行规模预估。
2.依据项目特点和需求详细程度不同,通常估算人员在选择估算方法时应采用纳入国际标准的功能点方法进行功能规模估算,在适用IFPUG或NESMA方法时,可以根据需求的粒度和管理需要,选择预估功能点方法、估算功能点方法或者详细功能点方法。
3.若当前的项目需求极其模糊或不确定,可不进行规模估算,而直接采用类比法或类推法估算工作量和成本。
二、工作量估算
在完成规模估算后,应当开展工作量估算工作,若当前项目未开展规模估算,也可直接启动工作量估算工作。
工作量估算时,可采用方程法、类比法、类推法、功能点法:
方程法:即基于基准数据建立参数模型,通过输入各项参数,确定估算值。
类比法:即将待估算项目的部分属性与类似的一组基准数据进行比对,进而确定估算值。
类推法:即将待估算项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,并进行适当调整后确定估算值。
功能点法:从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。
在开展工作量估算的过程中,需要注意以下情况:
1.当需求极其模糊或不确定时,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据来粗略估算工作量。
2.当需求极其模糊或不确定时,如果此时具有与本项目部分属性类似的一组基准数据,则可直接采用类比法,充分利用基准数据来粗略估算工作量。
3.对于规模估算已经开展的项目,可采用方程法,通过输入各项参数,确定待估算项目的工作量。若客户或高层对项目的工期有明确的要求时,在采用方程法估算工作量时,工期要求有可能是方程的参数之一。
4.为追求估算的准确性,建议在条件允许的情况下,可采用两种估算方法,对估算结果进行交叉验证,若估算结果差别不大,可直接使用两种估算结果的平均值或以某种估算结果为准,若差别较大,需进行差异分析。
5.工作量的估算结果宜为一个范围而不是单一的值。
三、成本估算
在获得了工作量估算结果后,可采用科学的方法进行成本估算。
在成本估算过程中,应需要注意的情况:
1.类比法和类推法,同样适用于需求极其模糊或不确定时的成本估算;
2.间接成本是否与工作量估算结果相关取决于间接成本分摊计算方式。在绝大多数组织,项目周期越长,项目组成员越多,其分摊的间接成本就越高,此时项目的间接成本与工作量估算结果直接相关;
3.直接非人力成本通常与工作量估算结果无关,宜单独分项测算;
4. 成本估算结果,也通常为一个范围,而不是单一的值。
四、确定软件开发成本
在《软件工程 软件开发成本度量规范》中,将软件开发成本分为四类,主要是为便于对成本构成(即哪些成本属于开发成本,哪些不属于开发成本)进行清晰界定。
而在实际确定软件开发成本时,通常并不是分别测定四类成本,加和后获得总成本,而是通常采用以下两种方式确定总成本:
1.根据人力成本费率及工作量估算直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本;
2.根据规模综合单价和软件规模,测算出直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本。
在进行软件的规模、工作量、成本估算时应遵循以下原则:
1.在规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法;
2.充分利用基准数据,采用方程法、类比法或类推法,对工作量和成本进行估算;
3.工作量和成本的估算结果宜为一个范围值;
4.在进行成本估算时,如有明确的工期要求,应充分考虑工期对项目成本的影响,可以根据项目实际情况以及工期对项目的影响程度,对成本的估算结果进行调整;
5.成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法;
6.在软件项目的不同场景下(如预算、招投标、项目计划和变更管理等)采用国家标准时,相关要求见国家标准中附录A。
除了上述主要原则外,我们还需注意在使用基准数据时:
1. 对于委托方和第三方,建议使用或参考软件行业基准数据进行估算。估算模型的调整因子的增减或取值有可能随着行业基准数据的变化而变化。
2.对于开发方,在引入行业基准数据的基础上,可逐步建立组织级基准数据库,以提高估算精度。组织级基准数据定义应与行业基准数据定义保持一致,以便于与行业基准数据进行比对分析,并持续提升组织能力。
一个软件项目如何评估工作量和成本?
软件开发成本估算过程可进一步细分为软件规模估算、工作量估算、成本估算和确定软件开发成本等四个过程。
其中成本估算需要对直接人力成本、间接人力成本、间接非人力成本及直接非人力成本分别进行估算。
国家标准《GB/T 36964-2018 软件工程 软件开发成本度量规范》中建议的软件开发成本估算基本流程如下图所示:
国家准中的四个估算过程,层层递进,逐步细化,最终达到科学、一致的成本估算。
一、软件规模估算
通常情况下,规模估算是软件成本估算过程的起点。
估算规模是后续计算软件项目的工作量、成本和进度的主要输入,是项目范围管理的关键,因此,在条件允许的情况下,应首先进行规模估算。
在规模估算过程中,需要注意以下情况:
在规模估算开始前,应根据可行性研究报告或类似文档明确项目需求及系统边界。项目需求除包含最基本的业务需求外,还应进行初步的子系统/模块划分,并对每一子系统或模块的基本用户需求进行说明,以保证可以根据项目需求进行规模预估。
依据项目特点和需求详细程度不同,通常估算人员在选择估算方法时应采用纳入国际标准的功能点方法进行功能规模估算,在适用IFPUG或NESMA方法时,可以根据需求的粒度和管理需要,选择预估功能点方法、估算功能点方法或者详细功能点方法。
若当前的项目需求极其模糊或不确定,可不进行规模估算,而直接采用类比法或类推法估算工作量和成本。
二、工作量估算
在完成规模估算后,应当开展工作量估算工作,若当前项目未开展规模估算,也可直接启动工作量估算工作。
工作量估算时,可采用方程法、类比法、类推法、功能点法:
方程法:即基于基准数据建立参数模型,通过输入各项参数,确定估算值。
类比法:即将待估算项目的部分属性与类似的一组基准数据进行比对,进而确定估算值。
类推法:即将待估算项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,并进行适当调整后确定估算值。
功能点法:从用户视角出发,通过量化系统功能来度量软件的规模,这种度量主要基于系统的逻辑设计。功能点规模度量方法在国际上的应用已经比较广泛,并且已经取代代码行成为最主流的软件规模度量方法。
在开展工作量估算的过程中,需要注意以下情况:
当需求极其模糊或不确定时,如果此时具有高度类似的历史项目,则可直接采用类推法,充分利用历史项目数据来粗略估算工作量。
当需求极其模糊或不确定时,如果此时具有与本项目部分属性类似的一组基准数据,则可直接采用类比法,充分利用基准数据来粗略估算工作量。
对于规模估算已经开展的项目,可采用方程法,通过输入各项参数,确定待估算项目的工作量。若客户或高层对项目的工期有明确的要求时,在采用方程法估算工作量时,工期要求有可能是方程的参数之一。
为追求估算的准确性,建议在条件允许的情况下,可采用两种估算方法,对估算结果进行交叉验证,若估算结果差别不大,可直接使用两种估算结果的平均值或以某种估算结果为准,若差别较大,需进行差异分析。
工作量的估算结果宜为一个范围而不是单一的值。
三、成本估算
在获得了工作量估算结果后,可采用科学的方法进行成本估算。
在成本估算过程中,应需要注意的情况:
类比法和类推法,同样适用于需求极其模糊或不确定时的成本估算;
间接成本是否与工作量估算结果相关取决于间接成本分摊计算方式。在绝大多数组织,项目周期越长,项目组成员越多,其分摊的间接成本就越高,此时项目的间接成本与工作量估算结果直接相关;
直接非人力成本通常与工作量估算结果无关,宜单独分项测算;
成本估算结果,也通常为一个范围,而不是单一的值。
四、确定软件开发成本
在《软件工程 软件开发成本度量规范》中,将软件开发成本分为四类,主要是为便于对成本构成(即哪些成本属于开发成本,哪些不属于开发成本)进行清晰界定。
而在实际确定软件开发成本时,通常并不是分别测定四类成本,加和后获得总成本,而是通常采用以下两种方式确定总成本:
根据人力成本费率及工作量估算直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本;
根据规模综合单价和软件规模,测算出直接人力成本和间接成本之和,再加上直接非人力成本,获得总成本。
在进行软件的规模、工作量、成本估算时应遵循以下原则:
在规模估算时,应根据项目特点和需求的详细程度选择合适的估算方法;
充分利用基准数据,采用方程法、类比法或类推法,对工作量和成本进行估算;
工作量和成本的估算结果宜为一个范围值;
在进行成本估算时,如有明确的工期要求,应充分考虑工期对项目成本的影响,可以根据项目实际情况以及工期对项目的影响程度,对成本的估算结果进行调整;
成本估算过程中宜采用不同的方法分别估算并进行交叉验证。如果不同方法的估算结果产生较大差异,可采用专家评审方法确定估算结果,也可使用较简单的加权平均方法;
在软件项目的不同场景下(如预算、招投标、项目计划和变更管理等)采用国家标准时,相关要求见国家标准中附录A。
除了上述主要原则外,我们还需注意在使用基准数据时:
对于委托方和第三方,建议使用或参考软件行业基准数据进行估算。估算模型的调整因子的增减或取值有可能随着行业基准数据的变化而变化。
对于开发方,在引入行业基准数据的基础上,可逐步建立组织级基准数据库,以提高估算精度。组织级基准数据定义应与行业基准数据定义保持一致,以便于与行业基准数据进行比对分析,并持续提升组织能力。
软件开发成本估算的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于软件开发成本估算的一般方法、软件开发成本估算的信息别忘了在本站进行查找喔。