软件开发成本估算

软件开发成本估算
软件开发成本估算

软件成本估算

近年来,由于软件的价格越来越高,在计算机系统中软件所占的比重越来越大,软件价格估计的差错对于一个计算机公司的盈亏起到举足轻重的作用。因此,软件成本的估计受到普遍的重视。

软件价格的计算不是一门精确的学科,因此我们称为成本估算。它受到许多因素的影响,包括人的技术和环境的影响。在开发工作尚未开始之前作软件成本估价就要冒险。有的公司采用“三段估价”的办法,在开发初期的计划阶段订出初步估算价,在要求分析阶段后给出一个修正估算价格,在设计完成之后给出最终估算价格。在软件成本估算方面的工作大多数都从分析与软件成本相关的因素入手。

一、影响软件成本的因素

1. 软件人员的业务水平

软件人员的素质、经验、掌握知识的不同在工作中的表现有很大的差别。有人作过试验,组织一些不同程度的软件人员开发同一课题,对开发的程序进行统计分析,结果发现,完成得好的和差的,生产率相差五倍,甚至十几倍。可见软件人员的业务水平对软件产品的生产率影响是很大的。

2. 软件产品按开发的复杂性可分为三类:

一类是应用程序,如用高级语言写的科学计算、数据处理、企业管理等用户程序。

二类是实用程序,如用系统程序设计语言或汇编语言写出的编译程序、汇编程序、联接编辑程序、输入加载程序。

三类是系统程序,如用汇编语言或系统程序语言写的操作系统、实时处理控制系统等。

这三类程序,以系统程序的生产率为1,以应用程序开发的复杂为1,可以画出三类程序的生产率和复杂性的比例关系图表。

见表2.3

表2.3 生产率和复杂性比例关系表

项目系统程序实用程序应用程序

生产率 1 5—10 25—100

复杂性9 3 1

B.Bo?hm教授进一步给出了这三种软件产品的程序规模和工作量的相互关系的公式。程序的规模是以源程序每千行语句(或指令)为单位。程序的工作量以一人一月为单位,记为PM 这三类程序,每个人每月生产程序的千行数为:

应用程序是:

PM=2.4*(KDSI)**1.05 (其中KDSI为千行源代码数)

实用程序是

PM=3.0*(KDSI)**1.12

系统程序是

PM=3.6*(KDSI)**1.20

例如,三类程序所选取的开发项目都是60000行的程序,所需投入的人-数三类不同程序大体比例为了:1:1.7:2.8,工作量估计曲线大约如图21所示。

100 300 500 700 900 软件产品规模

图2.1 工作量估计曲线

3.I 开发软件所花费的时间估算:

Boehm给出了各类程序所花费的时间如下:

应用程序所花的时间

TDEV(AP)=2.5*(PM)**0.38

实用程序所花的时间

TDEV(UP)=2.5*(PM)**0.36

系统程序所花的时间

TDEV(SP)=2.5*(PM)**0.32

上述三类程序都针对同样规模的程序,设以上三类程序所要开发的时间基本相同。例如60KDSI的程序都需18个月,同时如果把开发时间;拉长或者缩短,则都需要更多的工作量,把这个时间称为最佳开发时间。

在研究了63 个开发项目之后,Boehm得出结论,每个软件项目所用的时间有一个极限值,在此极限值之外,如果想用增加人员和设备的办法来缩短开发时间是不可能达到目的的,这个极限值即为上述开发时间的75%。

我们应该记住Boehm提出的这条程序开发规律,即每个程序项目有一个最佳时间,以这个时间来计划开发过程,就可达到较好的经济效益。

4、软件开发的技术水平:软件开发水平,主要是指所用程序开发技术(包括系统分析和系统设计的方法,结构化设计方法,程序设计语言,遍查和评审、结构程序设计,系统测试和程序库)。软件开发CASE工具和支撑环境水平的高低也关系重大。

软件开发技术水平高则开发效率高。例如,使用高级语言要比用汇编语言提高3至10倍,各种高级语言的效率也有很大差别。例如ADA语言有很强的类型检设施、数据抽象、单独编译、中断处理、并行结构等。它使软件的生产率和可靠性均有提高。在开发中使用工具可以提高生产率,工具也有基本工具和先进工具的区别,我们把它对软件开发工具量的关系列表如表7.5 所示。

表2.5 现代软件设计技术和工具的使用

对软件开发工作量的影响系统

使用情况开发工程系数

未采用 1.24

充分使用0.82

仅用基本工具 1.24

使用先进开发工具0.83

5、软件开发的可靠性要求

软件的可靠性是在计划阶段,考虑到软件可能失效的代价而确定下来的,要根据开发和维护的价格,提出不同的可靠性要求,对软件开发的工作量综合地作出估计。表2.6给出与五类软件可靠性相应的开发工作量系数。

表2.6 可靠性对软件开发量的影响系数

可靠性失效的影响开发工作数

很低不便使用0.75

低其损失易于挽回0. 88

一般挽回损失有一定困难1.00

高很大的经济损失1.10

很高涉及到人的生命安全1.40

为了保证软件可靠性所花费的工作量要进行估计和综合平衡。例如,软件复查的形式和次数,次数越多,成本越高,但可靠性就越高;次数越越少成本越低,而可靠性就越差。我们必须取得一个最合适的次数,使成本和可靠性都合理。

二、软件成本的估计方法

估计一个软件的成本是一个难题,目前的估算方法主要是根据实践经验和有关成本的历史档案来推算出当前软件项目的近似价格和开发成本。通常有两种估算方法,一种是自顶向下估计,首先对系统提出总要求,限制时间和总金额,然后再考虑各子系统。要对整个系统进行估价,还要涉及开发的软件系统所需要的资源、人力、配置管理、质量保证、系统安装、用户培训和文档资料方面的成本。另一种方法是自底向上的估算,首先系统中每一个模块(或每一个阶段)的子系统的成本,然后综合出总成本。在实际应用的时候,往往把两种估算的结果进行比较。在比较中消除不合理的因素,求得一个理想的估算结果。

在讨论估算方法的细节之前先讲生产率的含义。实际上,软件的许多特性都是可以度量的,生产率的最简单的度量是每一个人一个月所生产的有效的源代码行数。对这个度量的定义是有争议的,因为它不能代表开发每一个阶段的准确的度量,但大多数成本估算都采用这个度量,而这个度量只有在软件开发项目完成之后才能进行准确的估算。我们应该广义的理解它,可以这样定义:在计划和开发期间为了生产一行有效源代码所花费的人力的工作量。它不是单指编码的工作量,而是开发期间各阶段工作量的一个平均数。

为了理解生产率的定义,我们举一个例来说明。考查某一个项目的软件开发工作量如下所示:

任务工作量

要求分析 1. 5 人月

设计 3.0 人月

编码 1.0 人月

测试 3.5 人月

设此项目九个月共开发了约2900行源代码,并且交付了共2400行代码(剩下的500行是用于模拟和测试而不是该软件的工作程序),因而,这个项目的生产率是:

生产率=每人一月交付的有效源代码行数

=2400代码行/9个人月

=267LOC/PM(即代码行/人月)

=267LOC/PM(即代码行/人月)

下面我们介绍两种成本估算技术。

1。代码行价格估算技术

首先介绍这种方法的计算步骤。根据软件计划提出的软件范围和主要功能描述,代码行估价技术的第一步拟定了源代码实现的所有功能。对这些功能进行分解,一直到为实现该功能所要求的代码行数可以作出可靠的估算为止。设功能总数为n个。

第二步求出代码估算表前五列的值。对每个分解后的功能,利用历史数据或者直观知觉估算一个最有利的值a,一个最可能的值m和最不利的值b。我们又设Le为它的期望值,它是用a、m、b带权平均计算的,公式为

Le

a m

b =

++

4

6

这是一种最可能的估算,这种算法的平均差数为

L

b a

d

n

=

-

?

?

?

?

?

6

1

2

例如,一个计算机辅助设计项目的软件包,在项目的范围一章中,简述了一些计算机图形外围设备(如显示终端、数字仪、绘图仪等)相接口的使用微型机的开发项目,以下这些数据是根据历史写出的,如表2.7 所示。

根据这些值,按照公式分别算出期望值数,放在该表的第四和第五列中,并且统计出估算的总期望值及总差数。

第三步是估算每一代码行的价格,它以美元数/代码行为单位,即表中的第五行数据也就是根据历史资料和市场行情得出的数据,单位可写为$/行。

第四步数估算每一月完成多少行,对每个不同的功能都应该使用不同的值。也可以使用平均值或修正的平均值。还可以由历史资料获得。

估算LOC=33360 1100 $656680 144.6

第五步求每一个分项目估算的价格。它由每一代码行价格乘上期望值来得出。即第4列乘上第6列得第8列。然后再求每一个项目所花费的月数,使用的方法是用每月的代码行生产量除以期望值来得出,即用第7列的数据去除第4列的数据得出的。最后由第8列的各分项目的价格相加得出估算的整个项目的价格为$656630美元。再由各分项目估算的工作量,即第9项的数据求和得出估算的总工作量为114.6个人月。

最后,我们来求一个日程表时间的粗略估计,主要是依据Putnam 估算模型公式∶ L C K td k =1243

其中L 为期望值(代码总行数),K 为估计的人年数(114.6人月≈12人年)。

C k 为技术水平常数,它反映了“妨碍程序员前进的生产能力约束”,在较差的软件开发环境下C k =6500,好的开发环境下C k =10000,而佳开发环境下(例如采用自动工具情况下)C k =12500。 这里应该注意,对C k 的选择必须十分慎重,B.W.Boechm 给出了一个考虑生产率变化的度量表格[]6,表格如表7.8,其中

生产率范围=(DSI1/MM1)/(DSI2/MM2)

例如,当这个开发环境用较好的软件工具(公式中的分子)和使用较差的工具时的生产率(公式中的分母)之比率为1.49倍。又如一个较好的开发小组,它的生产效率是一个较差的软件开发小组效率的4.18倍等等。也就是说在实际使用的时候要根据CK 还要乘上生产率变化比率才能代入公式计算。

例如,在1973年IBM 公司的联邦系统局的水平CK=4984,如果工作在联机交互式系统内,需求比较明确,采用结构化编码技术,上机时间不受限制等条件下,则可以把Ck的值增至10040。这个值适用于十万行以上代码的软件项目。

表2.8 软件生成率的范围比较

件 1.34

4.18

软件生产率范围

将CK=10000代入计算机辅助设计项目,按照Putnam公式,由

L=C k K1/2td4/3

改写为

td

L

C k K =

?

?

?

?

?

?

?

?

?

3

2

14/

使用表中的数据L≈330000、E≈145人月=12人年

T=td≈1.3年(开发时间)

前面估计式中,估计差数为1100LOC,我们也就可以估计由于偏离期望值的LOC值带来的冒险,从而估计出时间差数,结果如表2.9所示。这里注意应把最不利的值和最有利的值作为LOC的上下限进行计算。

表2.9 价格和时间的估差

LOC 价格($) 开发时间估计

最有利的值26000 $512200 1.1年

期望值33000 $650100 1.3年

最不利的值41000 $807700 1.5年

表2.9中假设每个代码行的价格为$19.70,通过最有利和最不利的情况估计,这个项目的完成时间估计在1.1年到1.5年之间。

2. COCOMO成本推断模型。它是一种自底向上的成本估算模型,它考虑了多种工作量系数,包括人的属性、产品属性、项目属性和计算机属性,各种相关的系数由表7.10给出。这个表中所列的系数是他在研究了六十三个软件开发项目之后,使用了迪菲的成本估计法而取得的数据。迪菲的主要思想是∶让多个专家分别研究系统定义文件,然后各自单独进行成本估计,在综合各位专家意见的基础上,得出初步估计值,把这个值让专家们重新审查,进行新的一轮估计,这种估计可能多次进行,直到意见相近甚至意见一致。这种方法在各轮估计中不能互相交换意见,最后由协调人综合意见,得出最后结果。中级COCOMO模型还作了一些假定,它所考虑的项目属于中小型问题(大约二千到三万二千DSI)对软件人员要求熟悉所开发的应用领域,而且只考虑\从设计到验收的成本,还包括文档资料和评审的成本但不包括注释语句和未经修改的实用子程序。这里的一个人月是指一个程序员工作152个小时。此外,还有一些有关软件项目的性质和假定。

表2.10 COCOMO工作量系数表

工作量系数取值范围

?产品属性

要求的可靠性0.75~1.40

数据库规模0.94~1.16

产品复杂性0.70~1.65

?计算机属性

执行时间限制 1.00~1.66

主存限制 1.00~1.56

虚拟机易失性0.87~1.30

计算机解题周期0.87~1.15

?人员属性

分析员的能力 1.46~0.71

程序员的能力 1.42~0.70

实践经验 1.29~0.82

使用程序语言经验 1.14~0.95

?项目属性

使用现代程序设计方法 1.24~0.82

使用工具 1.24~0.83

要求的开发速度 1.23~110

Boehm给出的成本估算例子是一个商用微型机远程通讯的嵌入式软件,规模为10KSDI 我们下面给出嵌入式远程通讯项目的工作量系数取值的情况,见表7.11。然后,代入公式中计算,表后即为计算的情况。

表2.10 COCOMO工作量系数表

工作量系数取值范围

?产品属性

要求的可靠性0.75~1.40

数据库规模0.94~1.16

产品复杂性0.70~1.65

?计算机属性

执行时间限制 1.00~1.66

主存限制 1.00~1.56

虚拟机易失性0.87~1.30

计算机解题周期0.87~1.15

?人员属性

分析员的能力 1.46~0.71

程序员的能力 1.42~0.70

实践经验 1.29~0.82

使用程序语言经验 1.14~0.95

?项目属性

使用现代程序设计方法 1.24~0.82

使用工具 1.24~0.83

要求的开发速度 1.23~110

Boehm给出的成本估算例子是一个商用微型机远程通讯的嵌入式软件,规模为

10KSDI我们下面给出嵌入式远程通讯项目的工作量系数取值的情况,见表2.11。然后,代入公式中计算,表后即为计算的情况。

表2.11 嵌入式远程通讯项目的工作量系数取值

工作量系数系数取值的依据实际取值

可靠性只用于局部地区(额定值)1.00

恢复问题不严重

数据库20000字节(低)0.94

复杂性远程通讯处理(很高)1.30

定时使用70%处理时间(高)1.10

存储64K中使用45K (高)1.06

机器商用微处理机(额定值)1.00

周转时间平均二小时(额定值)1.00

分析员优秀人员(高)0.86

程序员优秀人员(高)0.86

经验远程通讯工作三年(低)1.00

经验微型机工作六个月(额定值)1.00

经验使用语言十二个月(额定值)1.00

经验使用现代技术一年以上(高)0.91

工具基本的微型机软件(低)1.10

工期九个月(估计8.4个月) (额定值)1.00

调整因子

=1.17==1.00?0.94?1.30?1.10?1.06?1.00?1.00?0.86?086?1.00?1.10?1.00?0.91?1. 10?1.00 ≈ 1.17

代入前面的计算公式,程序的工作量

PM=2.8(10)⒈2=4.4 4(人—月)

开发软件所用时间

TDEV=2..5(44。4)0。32=8.4(月)

把调整因子乘上去后,调整后的程序工作量为51.9(人—月)而调整后的开发时间为8.8个月。

如果程序员和分析员的工资都按每月6千美元算,那么该项目的开发人员工资的总成本费为

(51。9人月)×(6000元/人月)=311,400元

软件成本估计是一个复杂的问题,所以很难找到一种既准确又简便的方法,不同的估算方法所得的结果不相同,有时可能差别很大,这就促使我们更加重视软件成本估算和计价方法的研究。有兴趣的读者可以参考Boehm的名著“软件工程经济学”[4]一书。再结合我国的实际情况,研究出适合我国情况的成本估算方法。

3。软件成本花费公式

近年来Boehm等学者的研究成果表明,软件产品的花费满足的方程

MM=a(KDSI)b

式中的MM是指开发这个软件产品所需要的人月数,KDSI是软件产品的规模,单位是千行源代码,而a和b是常数,它们和软件开发环境有关,并且与软件的应用等特性也有关。Roehm 在文[4]中综合了十三位学者的成果,给出了a 和b 值的一张表格,我们选取其中的三项数据举例如下:

·结构型项目取值a=2.4, b=1.05

·半分离型项目取值a=3.0, b=1.12

·嵌入型项目取值a=3.6, b=1.60

这些数据的求得可参看文献[4]。

IBM公司的联邦统计局对软件课题进行了统计,对软件规模范围从4000行到467000行源代码的60个不同项目课题进行了统计研究,得到了软件花费的人月数从12人月到11758人月。从而得到

a=5.2, b=0.91

MM=5.2×(KDSI)0.91

参见文献[12]。该文献还指出了另外一些结果,可以估算该软件产品的文档数目(DOC)单位为页数。D是开发周期,单位是月。S是投入开发软件的平均工作人员数S=MM/D。其余计算公式为

DOC=49(KDSI)1.01

D=4.1(KDSI)0.36

D=2.47(MM)0.35

S=0.54(MM)0.60

再将本节㈠段所举的计算机辅助设计的软件项目用本段所讲的方法来验证。由于估算的总代码行数为33360行代码,故

KDSI=3.3, a=5.2, b=0.91,

MM=5.2×(3.3)0.91=15.41.人月≈1.3人年

这个计算结果与第一种成本估算法的结果是基本一致的。

软件开发成本估算

软件开发成本估算 软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。 软件开发成本估算的经验模型 1.Putnam 模型 1978年Putnam提出的,一种动态多变量模型。 L = Ck * K1/3 * td4/3 其中: L-----------源代码行数(以LOC计) K-----------整个开发过程所花费的工作量(以人年计) td-----------开发持续时间(以年计) Ck----------技术状态常数,它反映“妨碍开发进展的限制”,取值因开发环境而异,见下表

从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4) 还可以估算开发时间: td = [L3/(Ck3*K)]1/4 2.COCOMO模型(constructive cost model) 这是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。 COCOMO模型中用到以下变量: DSI-------源指令条数。不包括注释。1KDSI = 1000DSI。 MM-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年TDEV-----开发进度。(以月计) COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种: 1.组织型(organic): 相对较小、较简单的软件项目。开发人员对开发目标 理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很

软件开发费用计算方法

软件开发项目计算方法 (V2.0) 广东软件行业协会 二○○六年八月

目录 1前言 (2) 1.1 目的 (2) 1.2 软件项目建设类别 (2) 1.3 适用范围 (2) 1.4 名词解释 (3) 2软件项目费用概算 (4) 2.1项目阶段划分 (4) 2.2 各阶段费用构成 (5) 2.3 项目费用概算 (6) 3各项费用取费依据 (7) 3.1 咨询费 (7) 3.2 建设费 (8) 3.3 服务费 (8) 3.4 附加费 (12) 3.5需求变更估算 (12) 4工作量估算方法 (13) 4.1 开发阶段工作量估算 (13) 4.2 实施阶段工作量估算 (15) 4.3 维护阶段工作量估算 (17) 5人月成本估算方法 (18) 6其他事项 (19) 6.1 最终合同金额确定 (19) 6.2 付款方式 (20) 6.3 评估机构 (20) 软件项目规模功能点估算方法 (21) 1 功能点估算流程 (21) 2 功能点分析的要素 (22) 3 功能点计算(初步值UFC) (23) 4 确定技术复杂度因子TCF (24) 5 计算调节后的功能点数FP (25) 参考文献 (26)

1前言 1.1 目的 规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。 1.2 软件项目建设类别 软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类: 新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工 作覆盖软件产品的分析、设计、测试、实施、运行维护各 阶段。 二次开发:在现有产品的基础上进行提升和改造。 软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所 需要进行的调整和变动。 产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的 或者更加完整的产品。 1.3 适用范围 本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过

软件开发费用计算

.1软件项目价格评估书 信息技术飞速发展,计算机软件交易市场日趋成熟规范, 我方参照《软件开发和服务项目价格构成及评估方法》,以及,目前国际上通行的也比较科学的估算方法是采用功能点分析方法,使用此方法能够真实、准确地计算出计算机软件的价值以作为市场交易价格的参照依据. 1.价格评估公式: 项目建设费Q=咨询服务费P+项目建设费M(软件开发费D+实施费S+维护费W)+验收测试费C+工程监理费G 2.项目建设费计算公式: 软件开发费D=工作量(人月)*软件人员月人工费用 =(项目功能点*开发成本系数/7.5/22)*(3.23B) 开发成本系数:3000个功能以下3.5人工时/FP-4.0人工时/FP 3000-8000个功能以下4.0人工时/FP-4.5人工时/FP 实施费S =工作量(人月)*软件人员月人工费用 =(项目功能点*实施成本系数/7.5/22)*(3.23B) 分布式实施项目的系数 实施成本系数=开发成本系数*(0.2+(n-1)*k) 比例因子K:0.08<=k<=0.15具体按项目实施难度而定 维护费W=工作量(人月)*软件人员月人工费用 =(项目功能点*维护成本系数/7.5/22)*(3.23B) 维护成本系数=(开发成本系数+实施成本系数)*p

比例因子P一般为15%-20% 软件人员月人工费用=(工资+奖金+福利+办公成本+资源储备+基础建设+税收利润)*(1+管理费用百分比)=3.23B ?软件开发费D: 软件开发费用指对项目进行详细需求分析,系统设计,编码,测试等方面的工作而需支出的费用,取费主要依据项目规模(功能点),开发成本系数和软件人员月人工费,我方根据(附录四:软件功能说明表),对软件的功能进行分析认为:软件项目难度一般,由于各单位对报表的需求不一,所以编制报表的工作量较多,按照软件规模的大小,我们设定软件开发成本系数为4. 1.软件功能点计算 复杂加权因子表(Complexity weights Factor) 系数范围 采用系数 用户输入数EI 3-6 4 用户输出数EO 4-7 5 用户查询表EQ 3-6 5 内部逻辑文件 数ILF 7-15 12 外部接口文件 数EIF 5-10 6 1.软件功能表 数据表 接口 文件 外部 查询 逻 辑表 报 表数

软件开发报价的计算方法(完整版)

软件开发报价的计算方法(完整版) 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 1.1开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:软件开发工作量=估算工作量经验值×风险系数×复用系数 1.1.1估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 1.1.2风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 1.5 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“1.5”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。1.1.3复用系数(以τ来表示)

软件开发费用计算方法

文档从互联网中收集,已重新修正排版,word格式支持编辑,如有帮助欢迎下载支持。软件开发项目计算方法 (V2.0) 广东软件行业协会 二○○六年八月

目录 1前言............................................................................................................................ 错误!未定义书签。 1.1 目的 .................................................................................................................... 错误!未定义书签。 1.2 软件项目建设类别 ............................................................................................ 错误!未定义书签。 1.3 适用范围 ............................................................................................................ 错误!未定义书签。 1.4 名词解释 ............................................................................................................ 错误!未定义书签。 2软件项目费用概算.................................................................................................... 错误!未定义书签。 2.1项目阶段划分 ..................................................................................................... 错误!未定义书签。 2.2 各阶段费用构成 ................................................................................................ 错误!未定义书签。 2.3 项目费用概算 .................................................................................................... 错误!未定义书签。3各项费用取费依据.................................................................................................... 错误!未定义书签。 3.1 咨询费 ................................................................................................................ 错误!未定义书签。 3.2 建设费 ................................................................................................................ 错误!未定义书签。 3.3 服务费 ................................................................................................................ 错误!未定义书签。 3.4 附加费 ................................................................................................................ 错误!未定义书签。 3.5需求变更估算 ..................................................................................................... 错误!未定义书签。4工作量估算方法........................................................................................................ 错误!未定义书签。 4.1 开发阶段工作量估算 ........................................................................................ 错误!未定义书签。 4.2 实施阶段工作量估算 ........................................................................................ 错误!未定义书签。 4.3 维护阶段工作量估算 ........................................................................................ 错误!未定义书签。 5人月成本估算方法.................................................................................................... 错误!未定义书签。6其他事项.................................................................................................................... 错误!未定义书签。 6.1 最终合同金额确定 ............................................................................................ 错误!未定义书签。 6.2 付款方式 ............................................................................................................ 错误!未定义书签。 6.3 评估机构 ............................................................................................................ 错误!未定义书签。

软件开发费用计算方法

软件开发项目计算方法 () 广东软件行业协会 二○○六年八月

目录

1前言 目的 规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。 软件项目建设类别 软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类: 新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工 作覆盖软件产品的分析、设计、测试、实施、运行维护各 阶段。 二次开发:在现有产品的基础上进行提升和改造。 软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所 需要进行的调整和变动。 产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。 适用范围 本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过

程(包括立项可行性分析,需求分析、编码实现、安装实施、运行维护各个阶段工作)。其中人月成本的计算方法也适用于其他类型的项目。 本指南是站在行业的角度,去评估一个应用软件项目的开发费用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少。虽然这两者之间会有关联。 对于同一软件开发项目,不同的开发商由于各自的技术、能力、管理、积累以及其他方面的因素,其实际成本支出会有较大差异。而这不在本指南考虑之内。 名词解释 应用软件:是指针对特定领域开发,为特定目的服务的一类软件。 软件开发:指从软件项目启动到项目实施前这一时间段的工作。其内容包括详细设计、编码、测试、系统调试等方面的工作。 系统实施:指软件项目开发完毕进行安装到项目正式验收这一时间段的工作。其内容包括系统安装、个性化配置、用户培训等方面的工作, 但不包括各实施点的本地化开发工作。 运行维护:指从软件项目正式验收到合同规定的项目维护期结束的这一时间段的工作。其内容包括在此期间所需要提供的原系统完善性修改 和服务等工作(不包括新增需求和原功能的重大变更)。如:运 行管理、系统平台维护、应用软件维护、数据维护等 验收测试:确定项目是否符合其验收准则,使客户能确定是否接收此项目的正式测试。 功能点(FP):功能点是对软件功能和大小的间接度量单位,一般通过必须和

软件开发报价和报价材料模板的计算方法

软件开发报价的计算方法 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量× 开发费用/人·月 1.1开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关:软件开发工作量=估算工作量经验值× 风险系数× 复用系数 1.1.1估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 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.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此:

l≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。 估算工作量经验值是软件企业承担一般项目来估算的,但如果软件企业已经采用“基于构件的开发方法”,并己建立起能够复用的构件库(核心资产库),或者已有一些软件产品,仅作二次开发,从而使软件开发工作量减少。因此: ≤复用系数≤1 根据国内外软件企业在实施基于构件开发方法(软件产品线)的经验数据,提高工作效率达到25%(最高值)。 开发费用/人·月 软件企业的商务成本、国家税收、企业利润、管理成本和质量成本。均可摊分到各个软件开发人员头上。 开发费用/人·月=(P+Q+R)×S×τ 人头费主要是员工的工资、奖金和国家规定的各项按人计算的费用。其总量在软件企业中的商务成本占70%-80%。 P=B× 国家规定的公积金7%,医疗保险金12%,养老金22%,失业金2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金%,生育保证金%,残疾基金%,工会基金2%,累计为%。B为平均工资,即企业支付给员工的工资、奖金、物质奖励等多项总和,除以企业员工数,分摊到每个月。

软件开发费用核算管理办法

软件开发费用核算管理办法 一、目的 为加强软件开发项目的管理,加速公司的新产品(新工艺)的研究开发和新技术的推广应用,统筹合理安排软件开发项目费用的开支,特制定本制度。 二、适用范围 本制度适用于北京国都信业科技有限公司软件开发项目(即新产品、新工艺研究开发、新技术推广应用项目)的管理。 三、软件开发费用开支范围 1.软件开发项目所发生的项目调研费、资料费、差旅费、技术协作费,以及专为项目购置的材料和测试仪器、设备等费用。 2.为软件开发项目进行的技术咨询和学术交流等活动所发生的评审费、咨询费、会议费等费用。 3.为搜集行业科技情报及知识产权工作所发生的技术资料费、出版印刷费、专利年费等费用。 4.软件开发人员的工资薪金、办公场所租金、以及用于科技进步奖励所发生的费用。 四、软件开发费用的管理 1.公司财务部是软件开发费用的归口管理部门,具体负责软件开发项目的审定和费用指标方案的制定以及项目结果的评定工作。 2.软件开发费用的拨付按照公司资金拨付的规定执行,各项目组应在软件开发项目立项批准意后方可启用,并由项目承担单位按规定的使用范围严格控制、合理使用。 3.软件开发费用按软件开发项目计划下达到具体项目,实行专款专用,严格管理,不得挪做它用。软件开发项目以合作或委托第三方形式进行的,必须签订项目外包技术合作合同,并经财务部审查后才能生效拨款。 4.软件开发费用在使用中,分管软件开发技术工作的负责人,应按内控制度授权的规定执行,并按照不同的项目进行核销。 5.软件开发费用核销时,须由项目负责人、分管软件开发技术的负责人、总经理审核同意后方可到财务报销付款。 6.采用项目外包或第三方协作完成的有关软件开发项目所取得的软件开发成果,所有权均归属公司,所形成的知识产权纳入公司知识产权管理范围进行管理。

软件开发费用计算方法

. 软件开发项目计算方法 (V2.0) 广东软件行业协会 二○○六年八月

目录 1前言 (2) 1.1 目的 (2) 1.2 软件项目建设类别 (2) 1.3 适用范围 (2) 1.4 名词解释 (3) 2软件项目费用概算 (4) 2.1项目阶段划分 (4) 2.2 各阶段费用构成 (5) 2.3 项目费用概算 (6) 3各项费用取费依据 (7) 3.1 咨询费 (7) 3.2 建设费 (8) 3.3 服务费 (8) 3.4 附加费 (12) 3.5需求变更估算 (12) 4工作量估算方法 (13) 4.1 开发阶段工作量估算 (13) 4.2 实施阶段工作量估算 (15) 4.3 维护阶段工作量估算 (17) 5人月成本估算方法 (18) 6其他事项 (19) 6.1 最终合同金额确定 (19) 6.2 付款方式 (20) 6.3 评估机构 (20) 软件项目规模功能点估算方法 (21) 1 功能点估算流程 (21) 2 功能点分析的要素 (22) 3 功能点计算(初步值UFC) (23) 4 确定技术复杂度因子TCF (24) 5 计算调节后的功能点数FP (25) 参考文献 (26)

1前言 1.1 目的 规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。 1.2 软件项目建设类别 软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类: 新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工 作覆盖软件产品的分析、设计、测试、实施、运行维护各 阶段。 二次开发:在现有产品的基础上进行提升和改造。 软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所 需要进行的调整和变动。 产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的 或者更加完整的产品。 1.3 适用范围 本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过

信息化项目软件开发费用测算规范

信息化项目软件开发费用测算规范 1 范围 本标准规定了定制类信息化项目软件开发费用测算的方法及过程,包括软件开发费用的构成、软件 规模、工作量、费用及工期测算方法及过程。 本标准适用于以功能性需求为主的定制类信息化项目软件开发费用 测算。 2 规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。 凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 ISO/IEC 20926 软件和系统工程—软件度量—IFPUG功能规模度量方法2009(Software and systems engineering -- Software measurement -- IFPUG functional size measurement method 2009) ISO/IEC 24570 软件工程—NESMA功能规模度量方法2.1版—功能点分析应用定义和计数指南 (Software engineering -- NESMA functional size measurement method version 2.1 -- Definitions and counting guidelines for the application of Function Point Analysis)

3 术语、定义和缩略语 3.1 术语和定义 下列术语和定义适用于本文件。 3.1.1 信息化项目information technology project 旨在提高信息化水平的信息系统建设及优化任务。 3.1.2 委托方sponsor 软件开发项目的出资方。 3.1.3 开发方developer 受委托方委托,负责软件开发的组织或团队。 3.1.4 第三方third-party 委托方和开发方之外的主要利益相关方。 注:监理、审计、咨询机构等均为第三方。 DB11/T 1010—2013 2 3.1.5 软件开发费用software development cost 委托方为达成软件开发项目目标而需向开发方支付的费用。 3.1.6

软件开发成本估算

软件成本估算 近年来,由于软件的价格越来越高,在计算机系统中软件所占的比重越来越大,软件价格估计的差错对于一个计算机公司的盈亏起到举足轻重的作用。因此,软件成本的估计受到普遍的重视。 软件价格的计算不是一门精确的学科,因此我们称为成本估算。它受到许多因素的影响,包括人的技术和环境的影响。在开发工作尚未开始之前作软件成本估价就要冒险。有的公司采用“三段估价”的办法,在开发初期的计划阶段订出初步估算价,在要求分析阶段后给出一个修正估算价格,在设计完成之后给出最终估算价格。在软件成本估算方面的工作大多数都从分析与软件成本相关的因素入手。 一、影响软件成本的因素 1. 软件人员的业务水平 软件人员的素质、经验、掌握知识的不同在工作中的表现有很大的差别。有人作过试验,组织一些不同程度的软件人员开发同一课题,对开发的程序进行统计分析,结果发现,完成得好的和差的,生产率相差五倍,甚至十几倍。可见软件人员的业务水平对软件产品的生产率影响是很大的。 2. 软件产品按开发的复杂性可分为三类: 一类是应用程序,如用高级语言写的科学计算、数据处理、企业管理等用户程序。 二类是实用程序,如用系统程序设计语言或汇编语言写出的编译程序、汇编程序、联接编辑程序、输入加载程序。 三类是系统程序,如用汇编语言或系统程序语言写的操作系统、实时处理控制系统等。这三类程序,以系统程序的生产率为1,以应用程序开发的复杂为1,可以画出三类程序的生产率和复杂性的比例关系图表。 见表2.3 表2.3 生产率和复杂性比例关系表 项目系统程序实用程序应用程序 生产率 1 5—1025—100 复杂性9 31 B.Bo?hm教授进一步给出了这三种软件产品的程序规模和工作量的相互关系的公式。程序的规模是以源程序每千行语句(或指令)为单位。程序的工作量以一人一月为单位,记为PM这三类程序,每个人每月生产程序的千行数为: 应用程序是: PM=2.4*(KDSI)**1.05 (其中KDSI为千行源代码数) 实用程序是 PM=3.0*(KDSI)**1.12 系统程序是 PM=3.6*(KDSI)**1.20 例如,三类程序所选取的开发项目都是60000行的程序,所需投入的人-数三类不同程序大体比例为了:1:1.7:2.8,工作量估计曲线大约如图21所示。 估计工作量

软件项目开发成本估算案例分析

软件成本估算应用案例分析 本文以某公司开发一套人力资源管理系统为例来讲解软件成本估算的方法及过程。 项目需求: 某甲方需要一套人力资源管理系统,该软件企业想要去投标,甲方单位业务部门人员列出了比较原始的业务需求,具体需求描述如下: 1)组织架构管理 对公司的组织架构进行维护和图形化显示,包括部门、岗位等信息。可以对部门进行新建、修改、删除、合并、改变归属关系、设定岗位人数并根据已录入的档案信息自动显示实际岗位人数。支持部门、岗位信息的EXCEL模板导入功能。可以对岗位进行新建、修改、查询、删除等,岗位信息包括岗位说明、相关联工资级别等。 2)招聘管理 对于空缺岗位生成招聘申请,人力资源主管和部门主管审批后自动发布到外部招聘渠道。可以查询招聘信息或删除已过期的招聘信息。对应聘人员信息进行管理,将得到的简历、面试情况录入到系统并进行维护。 3)档案管理 对员工的信息进行管理,包括员工基本信息(如姓名、年龄、性别、岗位、电话、邮件等)、家庭档案信息、培训记录、工作记录。还包括员工照片、社保号码等。授权用户可以对员工档案进行查询或进行修改(如调动、离职、绩效考

核信息填写等) 4)人力地图 将公司的全部或某部门组织架构图显示出来,并可查看员工的基本信息。本人可以维护部分个人信息,如手机号码、个人主页地址、个人说明等。 5)培训管理 制订公司年度培训计划进行管理,并对每次公司级培训建立培训记录并对培训效果进行分析。提供年度培训计划的建立、修改、审核、审批等功能。对每次培训进行管理,可自动发送培训通知,培训后填写培训满意度、培训总结。可以对某时间段内的培训或选定培训进行培训效果的比较和分析 6)人力资源分析 包括基于人数的分析和基于部门的分析。基于人数的分析包括统计各岗位、各部门、各学历、各年龄段的人数、各岗位/部门实际人数和空缺人数等。基于部门的分析包括分析各部门到岗率、入/离职情况、岗位构成、学历构成、年龄构成等。 7)报表中心 授权用户可查看或打印员工基本信息、培训信息、工作情况、考核情况、并提供人力资源常用模板(如离职申请、培训申请等)的下载和打印。 软件项目成本估算: (1)测算规模 基于上述的业务需求,用预估功能点方法进行规模测算。测算出来的调整后功能点规模是260。具体如表D-6所示:

在软件项目成本计算中引入估算

在软件项目成本计算中引入估算、预算和决算体系 2008-5-27 15:50 摘要:软件项目的成本估算和成本控制一直是软件项目管理研究的一大难题,本文提出 在软件项目成本估算中采用功能点方法,在软件项目成本预算中实施工作结构分解和COCOMO方法结合的方法,在软件项目结束后引入决算和审计机制,为软件企业建立起一个基于估算、预算和决算的知识库系统,来达到提高成本管理能力的目的。 关键字:软件成本估算,功能点,WBS, COCOMO,估算,预算,决算 引言 软件成本超支是软件项目中经常遇到的问题。很多软件项目经理都曾经历过这样的情况, 由于开发成本的超支,软件项目做完之后,不仅不能得到上级领导的表扬,甚至连项目奖金 都拿不到,而这一切都来源于当初对项目成本估算的不准。 随着软件开发技术的发展,软件成本在计算机系统总成本中影响越来越大,它直接影响到投资者的决策和软件项目的开发。没有合理而准确的软件成本估算,就无法很好地进行软件项目的管理。 据国际数据公司的研究报告显示,全球500强企业中,信息技术投资超过生产设备投 资的企业达65%.然而软件项目的开发情况却不容乐观,1995年,美国大概只有10%的软件 项目可以按时交付,而且费用也不超支,约30%的项目没有完成就被取消了。 项目超支的原因是多方面的,其中一个主要原因是由于软件开发过程中,成本控制工作 没有做好,没有对资源配置进行优化,因此造成了成本浪费。而更多的原因则来自对软件项 目成本的错误估算,用一个不可能的成本来实现一个比预算昂对得多的软件,不管如何控制 都将无法避免成本超支的噩运。 常用软件成本估算模型介绍在软件成本估算领域,有很多的估算模型,这些模型经过了 几十年的发展,其中部分模型成为了目前软件成本估算的常用模型,如功能点、DEL PH、SDC 和COCO MO等。其中以功能点和COCOMO模型应用最广。 功能点估算模型 功能点方法的本质是站在客户的角度度量系统,它认为系统的功能可以分为以下5类: 内部逻辑文件、外部接口文件、外部输入、外部输出和外部查询。根据计算规则首先确定每 个功能的分类及其功能复杂度,从而可以得到每个功能的权值,全部功能的权值相加就得到 “未调整的功能点数”。 功能点方法可以在早期度量软件的规模,软件的规模与它的工作量、进度和成本关系紧 密,早期准确的软件规模度量有助于确定软件价格和提高策划过程中估算的能力。

软件开发报价的计算方法完整版

软件开发报价的计算方 法 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

软件开发报价的计算方法 1.软件开发价格估算方法 软件开发价格与工作量、商务成本、国家税收和企业利润等项有关。为了便于计算,给出一个计算公式: 软件开发价格=开发工作量×开发费用/人·月 开发工作量 软件开发工作量与估算工作量经验值、风险系数和复用系数等项有关: 软件开发工作量=估算工作量经验值×风险系数×复用系数 估算工作量经验值(以A来表示) 软什开发工作量的计算,曾有人提出以源代码行或功能点来计算,这些方法实施起来均有不少难度。目前国际上仍旧按以往经验的方式加以计算,国内各软件企业也是采用经验的方式加以估算工作量。 为了更好地规范估算方法,建议可按照国家标准“GB/T 8566-2001软件生存周期过程”所规定的软件开发过程的各项活动来计算工作量。 工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人·月”。 特别要提醒的是软件开发过程中既包括了通常所讲的软件开发,也应包括各类软件测试的活动。 风险系数(以σ来表示) 估算工作量经验值亦会存在较大风险,造成软件危机的因素很多,这也是一个方面的因素。特别当软件企业对该信息工程项目的业务领域不熟悉或不太熟悉,而且用户又无法或不能完整明白地表达他们的真实的需求,从而造成软件企业需要不断地完善需求获取,修改设计等各项工作。因此: l ≤风险系数≤ 根据我们对软件企业的了解,超过估算工作量经验值的一半,已是不可接受,所以我们确定“”为极限值。当然这既要看企业的能力,也要看用户能接受的程度。

开发一个APP软件的费用是如何计算的

随着移动互联网的快速发展,手机APP开发进入了一个高潮期,各行各业包括酒店、教育、家居等传统行业都开始着手开发专属自己的APP。而出于成本、效率等因素的考虑,很多企业都是选择把APP开发项目外包给专业的软件开发商来做,这时企业就必须要考虑APP开发的费用了。 那么,开发一个APP软件的费用是如何计算的?如何才能降低软件的开发成本呢?下面为您简单分享一下! 一个App软件的开发成本是怎么计算的? 一、App越复杂费用越高 一般来说,所想要开发的APP功能越多,或者功能越复杂,所对应的开发时间也就会随之增加,因此,APP开发的费用也就自然而然的上上升了。就像要盖一栋房子一样,楼层越多,需要的建筑工人,建造时间及建造材料都会相应的越多,建造成本也就自然随之增加! 有些客户可能会认为开发一款APP是一口价就好,不过一般正规的APP定制开发商对项目报价时是不会“一口价”的,除非是些“假定制”或者“模板化开发”的公司可能会用一口价吸引客户,但所开发出来的软件质量及可控性就需要打个问号了。 二、App的开发工作范围越大,费用越高

有些项目可能只是处于“想法”阶段,没有进行任何系统性和合理性的方案设计、市场调查等,甚至没有对所要做的APP功能做简单规划,即这个APP项目完全是从0开始,这样的话,软件开发商在接这类项目时可能会有进行较多“前期对接工作”,而且整个APP 项目从开始到确定合作意向,再到签订合同落实开发等流程的时间比较长,相应的APP软件开发成本可能也就会更高一些。若用户在之前对项目进行过市场调查及APP部分功能规划的话,也许可以降低不少开发成本。 三、App要求的质量越高,开发费用越高 一般来说,即使是同一个功能的App,若质量不同,比如UI用户界面是否美观、整体设计时是否足够高端,面向特定人群是否合理化等等方面,那么开放价格自然也有所不同,质量越高,开发费用也就越高。而且App软件还有着升级的问题,一般来说,升级也是需要大量工作的,若承担升级和完善的价格,最终开发费用也会更高。简单来说就是,开发App的价格并不是固定的,同样的功能开发,App的收费可能也不一样。通常情况下,软件开发商都是根据所要开发的功能要求来进行报价的。 因此,企业开发APP时必须要考虑的一个关键性因素就是开发成本,只有获得更高的性价比,才能占据更大的竞争优势。下面汇新云再为您分享一下该如何去降低APP的开发成本。 1、单平台开发。对企业来说,自身的APP产品在越多的平台运行越好,比如安卓、苹果等,但是对成本预算少的公司来说,开发多个平台的APP的话成本会增加至少一半。前期可从单平台开发开始,如此不仅可以减轻一些成本负担还可以让公司看到市场的实际情况。

软件项目中的成本构成及估算方法

软件项目中的成本构成及估算方法 随着知识经济、信息时代的来临,计算机软件业迅猛发展。商品化、资本化、资产化的计算机软件的价值评估的社会需求也日益增多,而且有越来越多的趋势。由于系统软件通常是一些规模大、复杂程度高的人一机系统,因此,系统软件的开发、使用、维护、管理的过程,是一个非常复杂的系统工程,需要有巨大的人力、物力、财力资源,需要各种计算机软、硬件的支持。这一特点是在系统软件评估中应予充分考虑的,也是从成本途径评估系统软件价值时应予着重关注的。据统计,软件成本在软、硬件总成本中的份额,已从50年代的百分之十几,上升到近期的百分之七八十,而且还在持续上升。软件成本中的开发成本和维护成本的比例,也从50年代的接近1:1,达到了近期的1:2。系统软件开发成本和维护成本在整个生命周期中份额。本文对上表的数字作了部分调整。主在维护阶段剔除了完善性维护成本。这一项成本不应列入委托评估系统软件的本次价值评估。这样,开发、维护成本在整个生命周期中的份额也相应发生了变化。 一、系统软件的成本构成系统软件的成本作为一个经济学范畴,应反映软件产品在其生产过程中所耗费的各项费用,为原材料、燃料、动力、折旧、人工费、管理费用、财务费用待项开支的总和。从财务角度来看,列入系统软件的成本有如下的项目:(1)硬件购置费如计算机及相关设备的购置,不间断电源、空调器等的购置费。(2)软件购置费,如操作系统软件、数据库系统软件和其它应用软件的购置费。(3)人工费,主要是开发人员、操作人员、管理人员、的工资福利费等。(4)培训费。(5)通讯费,如购置计算机网络设备、通讯线路器材、租用公用通讯线路等的费用。(6)基本建设费,如新建、扩建机房、购置计算机机台、机柜等的费用。(7)

软件开发费用计算方法

实用标准文案 软件开发项目计算方法 (V2.0) 广东软件行业协会 二○○六年八月

目录 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 确定技术复杂度因子TCF (29) 5 计算调节后的功能点数FP (30) 参考文献 (31)

1前言 1.1 目的 规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。 1.2 软件项目建设类别 软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类: 新开发项目:从项目的需求分析开始直至产品完成正式交付使用,其工 作覆盖软件产品的分析、设计、测试、实施、运行维护各 阶段。 二次开发:在现有产品的基础上进行提升和改造。 软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所 需要进行的调整和变动。 产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。 1.3 适用范围 本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过

相关文档
最新文档