软件开发费用计算方法.docx

上传人:b****7 文档编号:23525283 上传时间:2023-05-17 格式:DOCX 页数:29 大小:49.67KB
下载 相关 举报
软件开发费用计算方法.docx_第1页
第1页 / 共29页
软件开发费用计算方法.docx_第2页
第2页 / 共29页
软件开发费用计算方法.docx_第3页
第3页 / 共29页
软件开发费用计算方法.docx_第4页
第4页 / 共29页
软件开发费用计算方法.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

软件开发费用计算方法.docx

《软件开发费用计算方法.docx》由会员分享,可在线阅读,更多相关《软件开发费用计算方法.docx(29页珍藏版)》请在冰豆网上搜索。

软件开发费用计算方法.docx

软件开发费用计算方法

软件开发项目计算方法

(V2.0)

广东软件行业协会

二OO六年八月

1前言3

1.1目的3

1.2软件项目建设类别3

1.3适用范围3

1.4名词解释4

2软件项目费用概算5

2.1项目阶段划分5

2.2各阶段费用构成6

2.3项目费用概算7

3各项费用取费依据8

3.1咨询费8

3.2建设费9

3.3服务费9

3.4附加费14

3.5需求变更估算15

4工作量估算方法16

4.1开发阶段工作量估算16

4.2实施阶段工作量估算19

4.3维护阶段工作量估算20

5人月成本估算方法21

6其他事项23

6.1最终合同金额确定23

6.2付款方式23

6.3评估机构24

软件项目规模功能点估算方法25

1功能点估算流程25

2功能点分析的要素26

3功能点计算(初步值UFC)27

4确定技术复杂度因子TCF29

5计算调节后的功能点数FP30

参考文献31

1刖言

1.1目的

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

1.2软件项目建设类别

软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。

同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。

不同类别的软件项目,其费用构成和概算方法也不同。

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

新开发项目:

从项目的需求分析开始直至产品完成正式交付使用,其工

作覆盖软件产品的分析、设计、测试、实施、运行维护各阶段。

二次开发:

在现有产品的基础上进行提升和改造。

软件移植:

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

产品集成:

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

1.3适用范围

本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过程(包括立项可行性分析,需求分析、编码实现、安装实施、运行维护各个阶段工作)。

其中人月成本的计算方法也适用于其他类型的项目。

本指南是站在行业的角度,去评估一个应用软件项目的开发费用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少。

虽然这两者之间会有关联。

对于同一软件开发项目,不同的开发商由于各自的技术、能力、管理、积累以及其他方面的因素,其实际成本支出会有较大差异。

而这不在本指南考虑之内。

1.4名词解释

应用软件:

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

软件开发:

指从软件项目启动到项目实施前这一时间段的工作。

其内容包括详细设计、编码、测试、系统调试等方面的工作。

系统实施:

指软件项目开发完毕进行安装到项目正式验收这一时间段的工作。

其内容包括系统安装、个性化配置、用户培训等方面的工作,但不包括各实施点的本地化开发工作。

运行维护:

指从软件项目正式验收到合同规定的项目维护期结束的这一时间段的工作。

其内容包括在此期间所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。

如:

行管理、系统平台维护、应用软件维护、数据维护等

验收测试:

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

功能点(FP):

功能点是对软件功能和大小的间接度量单位,一般通过必须和

用户交互的情况的数目来测算程序工作量的大小。

功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。

成本系数:

成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,其单位为:

人工时/FP。

根据软件项目建设过程的各阶段工作,可分为:

开发成本系数、实施成本系数、维护成本系数。

工作量:

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

人月成本:

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

平均工资:

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

工资数。

2软件项目费用概算

2.1项目阶段划分

软件项目全过程可分为:

立项阶段、建设阶段、完成阶段。

不同阶段工作重点不同。

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

立项阶段:

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

建设阶段:

由软件开发商根据前期需求分析和系统设计,进行编码实现,并负责安装实施、运行维护等工作。

项目实施完毕,需委托第三方测试机构进行验收测试。

完成阶段:

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

2.2各阶段费用构成

各阶段的所有费用可分为四类:

咨询费:

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

服务费:

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

建设费:

软件开发商在开发、实施、维护等方面工作的费用。

其中包括:

软件开发费、系统实施费、运行维护费。

附加费:

针对具有特殊性质的软件开发项目。

如:

若需要提交源程序,必须增加知识产权费;若涉及保密方面的工作,则须增加保密费用等。

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

软件项目费用构成如图1所示。

需求变更费

附加费

知识产权保护费

保密费

其它

图1软件项目费用构成

2.3项目费用概算

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

项目概算二咨询费+建设费+服务费(+需求变更费+附加费)

=咨询费+开发费+实施费+维护费+验收测试费+监理费

(+需求变更费+附加费)

3各项费用取费依据

3.1咨询费

指软件项目立项前期,请专业机构或者专家进行技术咨询、可行性分析、需求分析,造价评估、方案设计、项目招标代理等方面工作所发生的费用。

该部分费用可根据项目预计投入的建设费按照一定比例计取,也可以根据所

投入的人月数进行计取,此外还可以由双方协商确定。

在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证,公证费按照国家规定标准计算。

表1软件行业咨询取费标准

收费项目

收费基数

基准费率(%)

<100万

101-300

301-500

501-1000万

1001-3000

>3000

需求分析、可

行性分析、系

项目预投入费

8.3

7.8

7.3

6.7

5.4

4.5

统设计等

估价

项目预投入费

3.6

3.0

2.5

2.2

1.8

1.5

招标代理

中标金额

1.0

0.8

0.7

0.55

0.35

0.3

技术咨询

每人每日

1000元〜1500元

表2公证服务取费标准

标的额m

<2

2

5

10

50

<

100

200

300

>400

(万元)

<5

10

<50

100

<200

<300

<400

费率(%)

1

0.8

0.6

0.5

0.4

0.3

0.2

0.1

0.05

注:

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

3.2建设费

建设费包括支付给软件开发商的进行软件开发、实施、维护等方面工作的费用。

主要依据工作量(完成该项目需要投入的人力,以人月度量)和人月成本进行估算。

建设费二开发费+实施费+运行维护费=(开发工作量+实施工作量+运行维护工作量)x人月成本

3.3服务费

3.3.1验收测试费

软件项目验收是一个运行环境复杂、技术难度较高、评价体系抽象的过程。

该项目验收除经过专家评审外,还应进行相应验收测试,只有两者结合才能为信息化项目验收和鉴定提供定性、定量的科学依据,才能做出较为客观准确的验收和鉴定结论。

软件项目的验收测试是根据项目的特点(功能、技术需求和大小等)以及项目投入,按照评价软件质量的功能性、易用性、可靠性、可维护性、可移植性、效率和文档等7个特性进行特性裁减,分为功能确认测试和验收测试。

1)功能确认测试

项目对象:

省、市级信息化建设项目包括电子政务建设项目验收,各种

渠道申报的与软件相关的科技项目的验收和科技成果鉴定项目。

测试内容:

根据申报或鉴定合同的技术条款和软件操作手册及被测软件运行确定测试内容,一般只覆盖软件的功能性、易用性和文档。

主要判断被测系统是否完成合同要求的功能及相关特性。

收费标准:

8000-10000元。

2)项目验收测试

项目对象:

各类信息化建设项目包括电子政务建设项目应用发布之前的验收,各种渠道申报的与软件相关的科技项目的验收和科技成果的鉴定项目,只要用户需求和合同中的条款覆盖效率和可移植性等特性要求的项目。

测试内容:

在模拟或实际环境下测试被测系统是否实现了用户需求,是否达到了国家标准的相关要求。

依据用户需求分析、合同的技术条款、国家标准的特性要求、软件操作手册和被测软件运行确定测试内容。

收费标准:

验收测试费二建设费D*各测试项费率之和*调节系数t

各测试项的费率及收费调节系数取值如表3、表4所示。

表3验收测试项费率表

序号

测试项

子特性

费率(a%)

1

功能性

功能点《100

a>2.8

功能点>100

a>3

2

易用性

易理解性

a>0.07

易学性

a>0.06

易操作性

a>0.07

3

可靠性

成熟性

a>0.2

容错性

a>0.2

易恢复性

a>0.1

4

维护性

易改变性

a>0.07

稳定性

a>0.07

易测试性

a>0.06

5

可移植性

一个环境下测试

a>0.2

多个测试环境,测试环境数n

a>0.2+(n-1)*0.1

6

效率

一般的效率指标

a>1

负载并发用户数w50,测试脚本数

a>1;

压力<3,

测试每增加50个以内用户数或3

a递增0.5

个以下测试脚本数,

7

文档

用户文档

a>0.1

技术合冋

a>0.05

需求规格说明书

a>0.1

表4调节系数t取值范围

序号

项目建设费D(万元)

收费折扣系数(t)

1

D<200

>1

2

200

».98

3

500

».96

4

1000

».95

5

2000

».93

6

5000

».92

7

D>10000

».90

注:

1)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。

被选测试项多少决

定测试费率a,项目大小决定收费调节系数L;

2)根据项目特点针对软件各个特性进行选择测试,测试费率为所选择软件特性测试费率a各项之和。

3)根据项目大小采取项目建设费越高费率越低原则进行调节。

4)项目验收测试最低收费为:

8000元(不含负载压力测试)

2万元(含负载压力测试)

3.3.2工程监理费

软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其它监

理行业的收费标准、收费方式。

一般可按照项目建设费(或合同价格)的一定

百分比取费。

其取费比率主要根据项目的规模、阶段、内容、复杂程度及监理成本等多方面因素综合计算。

计算公式如下:

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

1)基本费率a根据项目建设费的规模进行调整。

取值范围如下:

表5监理基本费率a取值范围

序号

项目建设费D(万元)

费率a(%)

1

D<200

>12

2

200VD<500

>9

3

500VD<1000

>7

4

1000VD<2000

>6

5

2000VD<5000

>5

6

5000VD<10000

>4

7

D>10000

>3

2)鉴于软件项目实施时分布的地域会有所不同,因此,监理的费率应在基

本费率的基础上考虑地域的因素。

地域调整系数d取值如下:

表6地域凋整系数d取值范围

序号

地域范围

地域调整系数

1

集中实施

1

2

地市范围

1〜1.2

3

全省范围

1.2〜1.5

4

全国范围

1.5〜2

3)鉴于软件项目工期长短不一,因此,监理的费率应在监理的基本费率基

础上考虑工期的因素。

工期越长,系数越大。

工期调整系数e如下:

表7工期调整系数e取值范围

序号

工程工期T(年)

工期调整系数e

1

T<1

e>0.9

2

1vT<2

e>1.1

3

T>2

e>1.4

4)其他

对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬。

监理附加报酬率二监理费*附加工作月数/合同规定月数。

对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。

本参考标准未作规定的,可参考国家相关标准。

333数据处理费

项目中如含有大量档案、数据需要录入、处理,贝懦要考虑相应的数据处理服务费。

收费标准可以根据所需要处理的资料的页数核计收费。

一般情况下单纯的数据录入,收费标准为:

0.3-0.5元/页。

特殊要求的数据处理可依据合同约定。

3.4附加费

如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费;如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费。

这些费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照项目建设费的一定比例计取,或者双方协商。

3.5需求变更估算

由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。

故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。

项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。

但验收测试和工程监理工作量会随着需求变化而加大,所以需求变更费为:

需求变更费二(建设费+验收测试费+监理费)*需求变更风险系数f风险系数f可依据以下因素确定:

1)项目的成熟度:

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

2)项目的规模大小:

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

3)用户业务的稳定性和管理的规范性:

用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化。

4)前期项目需求分析、系统设计的规范性和完善性:

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

4工作量估算方法

工作量指在软件项目建设过程中需要投入的人力和时间,一般用人月数进行度量。

项目建设阶段一般可分为:

开发阶段、实施阶段、运行维护阶段。

故在工作量需分阶段进行估算。

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

另:

由于在软件项目开发过程中,因需求变更导致工作量改变的情形不可避免,故可分别在立项阶段进行工作量预算,在项目完成阶段进行工作量核算。

4.1开发阶段工作量估算

开发工作量是计算实施阶段和维护阶段工作量的基础。

主要有两种估算

方法。

4.1.1功能点估算法

该方法主要是依据软件项目的功能需求来评估开发工作量。

通过分析系统需求计算项目规模(功能点数),再乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),就可计算出完成项目所需要的人月数。

适用于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量估算。

开发工作量D(人月)二(项目功能点FP*开发成本系数k/H/W)其中H是指国家规定的一天工作时数,W指一个月工作天数。

功能点FP的估算详见附录一软件项目功能点估算法。

开发成本系数k的大小主要是考虑项目的非技术难度,如开发周期、协

调难度、业务的复杂程度、需求的不确定性等因素。

根据对实际数据的测算,

开发成本系数k取值范围一般为:

表8开发成本系数k取值范围

功能点数(FP)

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

《3000

3.5〜4.0

3000〈FP《8000

4.0〜4.5

>8000

4.5〜5.0

针对个别项目,如果有特殊情况(如某些用户业务的特殊要求是一般项目中从未出现过的、开发人员需要到用户现场开发等),则经专业咨询机构

或者专家评估,开发成本系数可以超出此范围上限的限制。

4.1.2任务估算法

任务估算法是把软件项目功能分解为若干个相对独立的任务,再分别估

计完成每个任务需要的人员搭配比例及投入时间,每个人员的工作量之和就

是该任务的工作量。

最后将各个任务的工作量累加起来就得出软件项目的总工作量。

该方法适用于立项阶段的工作量估算。

依据软件工程的概念、国内软件开发行业的惯例及经验值,软件开发工

作可分为:

设计、编码、测试。

设计各个岗位人员工作量可基于以下标准计算:

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

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

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

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

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

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

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

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

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

例如:

完成某个任务的人员投入和时间需求如表9,则其工作量为60.5

人月。

表9某任务工作量估算表

开发阶段

投入人员情况

时间(月)

工作量(人月)

需求分析

系统分析员2人

2

2*2*2.5=10

系统设计

系统分析员1人

2

1*2*2.5=5

高级程序员2人

2

2*2*1.5=6

编码

高级程序员2人

1

2*1*1.5=3

程序员4人

1

4*1*1=4

测试

测试工程师4人

2

4*2*1=8

项目管理

项目管理人员1人

7

1*7*3=21

文案工作

文秘1人

7

1*7*0.5=3.5

合计:

60.5(人月)

4.2实施阶段工作量估算

软件项目的实施范围因项目而异(有些项目只实施一个单位、有些需要实施多个单位、有些甚至需要全市、全省甚至全国实施),所以实施阶段的

费用也会有很大的差异,甚至有的项目会出现实施费用超过开发费用的情形。

实施阶段的工作量可依据开发阶段工作量、实施系数来计算。

实施工作量(人月)二开发工作量D*实施系数s

根据项目是集中式实施还是分布式实施,实施系数s的取值有所不同。

1)集中式实施的项目

实施系数s与“用户数”相关。

设n为用户数,一般情况下:

当0

否则,s=0.2+((n-100)/100)*q(四舍五入取两位小数);

q是调节因子,取值范围为:

0.03

2)分布式实施的项目

实施系数s与“实施单位(点)数”相关。

设n为需要实施的单位(点)数,一般情况下:

s=0.2+(n-1)*q

q是调节因子,一般取值范围为:

0.08

3)个别项目,如果对实施有特殊要求(这些特殊要求是一般项目中从未出现过的或有本地化开发工作的),或者实施环境、条件、难度等方面因素的影响,则经专业机构或者专家评估,实施系数可以超出此范围上限的限制。

4)如果软件项目是系统集成项目中的一部分,实施时需要整体考虑,则

可将实施费抽出另算。

一种是将软件实施费并入到整个集成项目的实施费用中,另一种就是在软件实施费中加入项目集成的实施费用。

4.3维护阶段工作量估算

软件项目通过验收,交付使用后,需进行一年的系统维护。

维护内容包括:

运行管理、系统平台维护、应用软件维护、数据维护等。

根据不同的用户要求,系统维护服务可分为以下两种情形:

A级

软件企业派出技术人员常驻用户处,解决日常运行中发生的问题。

则其工作量由派驻人员的数目和派驻的时间决定。

软件(系统)维护工作量=派驻的人员数*时间(月)

B级

软件企业在国家规定的正常工作时间,按双方约定的条件和时间到达现场,且每月(或定期)派技术人员到现场进行软件(系统)性能调试,使

之运行处于良好状态。

则B级的维护工作所需工作量依据开发工作量、实施

工作量、维护系数来计算。

运行维护工作量(人月)二(开发工作量+实施工作量)*维护系数w

=(开发工作量+开发工作量*实施系数S)*维护系数w

=D*(1+s)*w

维护系数w取值范围为0.15-0.20,具体取值依项目维护难度而定。

针对个别项目,如果对维护有特殊要求(这些特殊要求是一般项目中从未出现过的),则经专业机构或者专家评估,维护成本系数可以不受此限制。

备注:

系统后期维护:

系统运行一年之后的系统维护,需另行签订系统维护合约。

为了有利于保证用户的利益和扶植软件企业,在维护工作范围不变的前提下,如果新维护合同的维护费用不超过上一年度维护金额的115%,则用户应该和原开发商直接签订维护合同,否则由可进行招投标并确定新维护合同的项

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1