文档库 最新最全的文档下载
当前位置:文档库 › 软件开发费用计算方法

软件开发费用计算方法

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

文档从互联网中收集,已重新修正排版,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 功能点估算流程.................................................................................................... 错误!未定义书签。

2 功能点分析的要素................................................................................................ 错误!未定义书签。

3 功能点计算(初步值UFC)............................................................................... 错误!未定义书签。

4 确定技术复杂度因子TCF.................................................................................... 错误!未定义书签。

5 计算调节后的功能点数FP .................................................................................. 错误!未定义书签。参考文献............................................................................................................................ 错误!未定义书签。

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 软件行业咨询取费标准

表2 公证服务取费标准

注:

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 建设费

建设费包括支付给软件开发商的进行软件开发、实施、维护等方面工作的费用。主要依据工作量(完成该项目需要投入的人力,以人月度量)和人

月成本进行估算。

建设费= 开发费+实施费+运行维护费

= (开发工作量+实施工作量+运行维护工作量)×人月成本3.3 服务费

3.3.1 验收测试费

软件项目验收是一个运行环境复杂、技术难度较高、评价体系抽象的过程。该项目验收除经过专家评审外,还应进行相应验收测试,只有两者结合才能为信息化项目验收和鉴定提供定性、定量的科学依据,才能做出较为客观准确的验收和鉴定结论。软件项目的验收测试是根据项目的特点(功能、技术需求和大小等)以及项目投入,按照评价软件质量的功能性、易用性、可靠性、可维护性、可移植性、效率和文档等7个特性进行特性裁减,分为功能确认测试和验收测试。

1)功能确认测试

项目对象:省、市级信息化建设项目包括电子政务建设项目验收,各种渠道申报的与软件相关的科技项目的验收和科技成果鉴定项目。

测试内容:根据申报或鉴定合同的技术条款和软件操作手册及被测软件运行确定测试内容,一般只覆盖软件的功能性、易用性和文档。主要判断被测系统是否完成合同要求的功能及相关特性。

收费标准:8000-10000元。

2)项目验收测试

项目对象:各类信息化建设项目包括电子政务建设项目应用发布之前的验收,各种渠道申报的与软件相关的科技项目的验收和科技成果的鉴定项

目,只要用户需求和合同中的条款覆盖效率和可移植性等特性要求的项目。

测试内容:在模拟或实际环境下测试被测系统是否实现了用户需求,是否达到了国家标准的相关要求。依据用户需求分析、合同的技术条款、国家标准的特性要求、软件操作手册和被测软件运行确定测试内容。

收费标准:验收测试费= 建设费D*各测试项费率之和*调节系数t 各测试项的费率及收费调节系数取值如表3、表4所示。

表3 验收测试项费率表

表4 调节系数t取值范围

注:

1)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。被选测试项多少决定测试费率a,项目大小决定收费调节系数L;

2)根据项目特点针对软件各个特性进行选择测试,测试费率为所选择软件特性测试费率a各项之和。3)根据项目大小采取项目建设费越高费率越低原则进行调节。

4)项目验收测试最低收费为:8000元(不含负载压力测试)

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

3.3.2 工程监理费

软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其它监理行业的收费标准、收费方式。一般可按照项目建设费(或合同价格)的一定百分比取费。其取费比率主要根据项目的规模、阶段、内容、复杂程度及监理成本等多方面因素综合计算。计算公式如下:

监理费= 建设费D*基本费率a*地域调整系数d*工期调整系数e 1)基本费率a根据项目建设费的规模进行调整。取值范围如下:

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

2)鉴于软件项目实施时分布的地域会有所不同,因此,监理的费率应在基本费率的基础上考虑地域的因素。地域调整系数d取值如下:

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

3)鉴于软件项目工期长短不一,因此,监理的费率应在监理的基本费率基础上考虑工期的因素。工期越长,系数越大。工期调整系数e如下:

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

4)其他

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

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

对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。本参考标准未作规定的,可参考国家相关标准。

3.3.3 数据处理费

项目中如含有大量档案、数据需要录入、处理,则需要考虑相应的数据处理服务费。收费标准可以根据所需要处理的资料的页数核计收费。

一般情况下单纯的数据录入,收费标准为:0.3-0.5元/页。特殊要求的

数据处理可依据合同约定。

3.4 附加费

如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费;如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费。这些费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照项目建设费的一定比例计取,或者双方协商。

3.5需求变更估算

由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。

项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以需求变更费为:

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

1)项目的成熟度:如果是新项目,则开发过程中出现需求变更的可能性

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

2)项目的规模大小:如果项目规模小,需求容易确定,变更几率就小,

反之就大;

3)用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程

的调整,都有可能带来开发过程中需求的变化。

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

否全面到位、系统设计的是否规范和细致,会影响到开发过程的需求

变化率。

4工作量估算方法

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

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

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

4.1 开发阶段工作量估算

开发工作量是计算实施阶段和维护阶段工作量的基础。主要有两种估算方法。

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

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

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

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

开发成本系数k的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数k取值范围一般为:

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

针对个别项目,如果有特殊情况(如某些用户业务的特殊要求是一般项目中从未出现过的、开发人员需要到用户现场开发等),则经专业咨询机构或者专家评估,开发成本系数可以超出此范围上限的限制。

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 某任务工作量估算表

4.2 实施阶段工作量估算

软件项目的实施范围因项目而异(有些项目只实施一个单位、有些需要实施多个单位、有些甚至需要全市、全省甚至全国实施),所以实施阶段的费用也会有很大的差异,甚至有的项目会出现实施费用超过开发费用的情形。

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

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

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

实施系数s与“用户数”相关。设n为用户数,一般情况下:

当0

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

q是调节因子,取值范围为:0.03≤q≤0.05,具体取值依项目实施难度而定。

2) 分布式实施的项目

实施系数s与“实施单位(点)数”相关。设n为需要实施的单位(点)数,一般情况下:

s =0.2 +(n - 1)*q

q是调节因子,一般取值范围为:0.08≤q≤0.15,具体取值依项目实施难度而定。

3) 个别项目,如果对实施有特殊要求(这些特殊要求是一般项目中从未

出现过的或有本地化开发工作的),或者实施环境、条件、难度等方

面因素的影响,则经专业机构或者专家评估,实施系数可以超出此范

围上限的限制。

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

可将实施费抽出另算。一种是将软件实施费并入到整个集成项目的实

施费用中,另一种就是在软件实施费中加入项目集成的实施费用。4.3 维护阶段工作量估算

软件项目通过验收,交付使用后,需进行一年的系统维护。维护内容包括:运行管理、系统平台维护、应用软件维护、数据维护等。根据不同的用户要求,系统维护服务可分为以下两种情形:

A级

软件企业派出技术人员常驻用户处,解决日常运行中发生的问题。则其工作量由派驻人员的数目和派驻的时间决定。

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

B级

软件开发成本估算

软件开发成本估算 软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。 软件开发成本估算的经验模型 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): 相对较小、较简单的软件项目。开发人员对开发目标 理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很

软件开发报价的计算方法

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

软件开发十钟关键技术

软件开发十钟关键技术 本文列出了当今计算机软件开发和应用领域最重要十种关键技术排名,如果你想保证你现在以及未来的几年不失业,那么你最好跟上这些技术的发展。虽然你不必对这十种技术样样精通,但至少应该对它们非常熟悉。 一、XML 在十种技术中,最重要的一种技术我想应该非XML 莫属。这里不仅仅指XML 规范本身,还包括一系列有关的基于XML 的语言:主要有XHTML ,XSLT ,XSL ,DTDs ,XML Schema (XSD), XPath, XQuery和SOAP。如果你现在还对XML 一无所知,那么赶快狂补吧。XML 是包含类似于HTML 标签的一个文本文件,在这个文件中定义了一个树型结构来描述它所保存的数据。 XML 最大的优点是你既可以在这个文本文件中存储结构化数据,也可以在其中存储非结构化数据——也就是说,它能包含和描述“粗糙的”文档数据,就像它描述“规则的”表格数据一样。 XHTML 是目前编写HTML 的首选方法;因为XHTML 本身就是格式良好的XML ,与通常畸形的HTML 文档相比,XHTML 格式文档更容易处理。 XSLT 和XSL 是对XML 文档进行转换的语言。它们可以将XML 文档转换成各种格式,比如另一个文本文件、PDF文件、HTML文件、逗号分割的文件,或者转换成其它的XML 文档。 DTDs和XML Schema用来描述XML文件所包含的数据内容的类型,使你不用编写定制的代码就能对XML 文档的内容进行“有效性”检查,使内容强行遵守给出的规则。 XPath 和XQuery 是查询语言,用它们可以从XML 文档中吸取单个的数据项或者数据项列表。XQuery的功能特别强大,因为它对XPath查询进行了扩展。实际上,XQuery和XML 的关系就像SQL 之于关系数据库一样。 SOAP是Web services间进行通讯的标准协议。你不必知道SOAP协议的所有细节,但 是你应该熟悉其常用规则及其工作原理,这样你才能使用它。 二、Web Services Web 服务是XML 流行后的直接产物。因为XML 可以描述数据和对象,XML 大纲可以保证XML 文档数据的有效性,因为XML 的基于文本的规范,因而XML 文档极其适合于作为一种跨平台通讯标准的基本格式。如果你还没有接触过Web服务,那么过不了多久 你肯定会碰到它,所以必须熟练掌握Web服务,最好是精通它,因为它是迄今为止应用程 序间跨不同种类机器、语言、平台和位置通讯的最简单的一种方式。不管你需不需要它,Web 服务都会是将来互用性的主要趋势。 XML工作组的John Bosak曾说过:“XML使得Java有事可做”,么/那们也可以说我eb 服务使得所有语言都有事可做。Web 服务让运行在大型机上的COBOL 应用程序与运行在 手持设备上的应用程序相互沟通;让Java小应用与。NET服务器相互通讯,让桌面应用与Web 服务器

软件开发费用计算方法

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

软件开发者需要掌握的技能

软件开发者需要掌握的技能 现在,有这样一种主流观念,压垮了很多新手软件开发者,那就是你需要学习很多东西才能成为软件开发人员,并且很多人不知道从哪里开始起步。这里我会尝试着具体说明那些在你追求成为软件开发人员的路上将让你受益的必要技术技能。一篇文章当然不能详尽说明作为软件开发者,你可能需要掌握的所有技术技能,但是我会列出最关键的一些技术技能。一、编程语言我认为从这一条开始说起是最合适的。不懂编程语言,怎么能成为一个真正的程序员?不过,关于选择哪种编程语言去学习可能并没有我们想得那么重要这一点,请允许我一笔带过。相反,让我们谈一谈为什么我们要从一种编程语言开始,而不是试图去学习所有的东西。许多新手程序员会试图一次性或在第一份工作之前学习几种编程语言,以便于有备无患。虽然我认为你最终应该学会一种以上编程语言,但我不建议提前这样做,因为这只会导致混乱,并且会分散你需要学习的其他技能的精力。相反,我建议你应该深入研究,重点学习单一编程语言的来龙去脉,这样你才能对用这种编码语言来写代码信心十足。那么在你决定想要成为什么样的开发人员的时候,怎么样才能尽可能地独树一帜呢?二、如何构造代码在学习了一门编程语言之后

——或者最好是在学习的同时——我坚信,你需要知道的下一件事就是如何正确地构造你的代码。有一个很好的资源来帮助你学习这个非常宝贵的技能:Steven McConnell的《Code Complete 》。我所说的构造代码是什么意思呢?我的意思是,要写出好的,清晰的,易于理解的代码,不需要大量注释,因为代码本身就是一种表达方式。很多软件开发者在他们整个职业生涯都不曾去学习这个技能,这是不幸的,因为这是我——以及其他许多人——判断一个软件开发人员技术和能力的主要方式。良好的代码结构展示了对这种技艺的热衷,而不仅仅是为了完成工作。构建代码是软件开发真正的艺术部分,但它也是至关重要的,因为你和你的同事得花费相当多的时间来维护现有的代码,而不是编写新的代码。具体应该如何正确地组织代码我就不说了,因为我已经给出了一个很好的资源,但是要努力学习如何从一开始就写出好的、干净的代码,而不是事后学习这个技能。我只能保证,即使你是个新手,如果你可以写出好的、干净又简洁的、易懂的,本身就可以表达意思的代码,那么任何面试官看到你的代码都会觉得你是一个有经验的专业人士。并且在一定程度上,或者至少在这条道路上,因为你会将这个职业当作一种专业,而不是一份工作。 三、面向对象的设计这一条是有争议的,特别是如果你正在学习的编程语言并不面向对象,但是有大量的软件开发

软件开发费用计算方法

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

目录

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

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

软件开发技术常用术语

软件开发技术常用术语 A.I. 人工智能 A2A integration A2A整合 abstract 抽象的 abstract base class (ABC)抽象基类 abstract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 access function 访问函数 access level访问级别 account 账户 action 动作 activate 激活 active 活动的 actual parameter 实参 adapter 适配器 add-in 插件 address 地址 address space 地址空间 address-of operator 取地址操作符 ADL (argument-dependent lookup) ADO(ActiveX Data Object)ActiveX数据对象 advanced 高级的 aggregation 聚合、聚集 algorithm 算法 alias 别名 align 排列、对齐 allocate 分配、配置 allocator分配器、配置器 angle bracket 尖括号 annotation 注解、评注 API (Application Programming Interface) 应用(程序)编程接口 app domain (application domain)应用域 appearance 外观 append 附加 application 应用、应用程序 application framework 应用程序框架 Approximate String Matching 模糊匹配 Arbitrary Precision Arithmetic 高精度计算 architecture 架构、体系结构 archive file 归档文件、存档文件

软件开发工作量估算和报价

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.采用项目外包或第三方协作完成的有关软件开发项目所取得的软件开发成果,所有权均归属公司,所形成的知识产权纳入公司知识产权管理范围进行管理。

软件研发部岗位职责

技术部门岗位职责2 软件研发部 2.1 部门职责 1.应用软件开发方向规划; 2.应用软件开发工具选购; 3.软件系统整体方案规划; 4.应用软件系统开发设计; 5.软件系统测试规划实施; 6.应用软件系统项目评审; 7.应用软件项目疑难问题处理; 8.应用软件疑难故障分析处理; 9.软件人力资源组织/考评; 10.应用软件开发团队组织; 11.应用软件工程师集训学习; 12.应用软件体系框架设计与定制; 13.应用软件技术积累与探索; 14.应用软件开发技术规范编制; 15.应用软件的技术资料管理; 16.应用软件知识产权等相关文档编制; 17.应用软件的鉴定、认证; 18.应用软件的质量体系认证。

2.2 部门经理职责 1.全面负责软件研发部日常管理工作; 2.规范软件体系设计,监督相应的设计开发过程; 3.负责建立软件系统资源库,实现资源重用; 4.负责软件研发团队建设和技术人员的招聘、培养与考评; 5.制定和落实部门项目研发开发计划,总体掌握研发进度。 6.确定软件部技术研究方向,组织人员对关键技术进行攻关和积累; 7.指导/评审/公司项目软件部分的开发活动; 8.解决公司产品线中相关的技术难题,提供技术支持; 9.统筹协调软件研发部与其它部门的关系; 10.负责相关技术资料的整理; 11.负责相关知识产权等技术文档编制; 12.完成公司交办的其它工作。 2.3 部门副经理职责 1.协助经理完成日常管理工作; 2.完成分管的方面技术工作; 3.经理不在时,代经理处理部门事务; 4.按计划推进自己负责项目的实施; 5.参与指导/评审/公司项目应用软件部分的开发活动; 6.协助经理进行团队建设、人员培养和考评; 7.负责相关技术领域的技术积累和整理;

软件开发费用计算方法

文档从互联网中收集,已重新修正排版,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 评估机构 ............................................................................................................ 错误!未定义书签。

软件开发常用技术介绍

软件开发技术实现要点介绍 一、OpenStack OpenStack是一个由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目。 OpenStack是一个旨在为公共及私有云的建设与管理提供软件的开源项目。它的社区拥有超过130家企业及1350位开发者,这些机构与个人都将OpenStack作为基础设施即服务(IaaS)资源的通用前端。OpenStack项目的首要任务是简化云的部署过程并为其带来良好的可扩展性。本文希望通过提供必要的指导信息,帮助大家利用OpenStack前端来设置及管理自己的公共云或私有云。 1.简介 OpenStack既是一个社区,也是一个项目和一个开源软件,它提供了一个部署云的操作平台或工具集。其宗旨在于,帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。 OpenStack旗下包含了一组由社区维护的开源项目,他们分别是OpenStackCompute(Nova),OpenStackObjectStorage(Swift),以及OpenStackImageService(Glance)。 OpenStackCompute,为云组织的控制器,它提供一个工具来部署云,包括运行实例、管理网络以及控制用户和其他项目对云的访问 (thecloudthroughusersandprojects)。它底层的开源项目名称是Nova,其提供的软件能控制IaaS云计算平台,类似于 AmazonEC2和RackspaceCloudServers。实际上它定义的是,与运行在主机操作系统上潜在的虚拟化机制交互的驱动,暴露基于 WebAPI的功能。 OpenStackObjectStorage,是一个可扩展的对象存储系统。对象存储支持多种应用,比如复制和存档数据,图像或视频服务,存储次级静态数据,开发数据存储整合的新应用,存储容量难以估计的数据,为Web应用创建基于云的弹性存储。

软件开发费用计算方法

. 软件开发项目计算方法 (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. 软件产品按开发的复杂性可分为三类: 一类是应用程序,如用高级语言写的科学计算、数据处理、企业管理等用户程序。 二类是实用程序,如用系统程序设计语言或汇编语言写出的编译程序、汇编程序、联接编辑程序、输入加载程序。 三类是系统程序,如用汇编语言或系统程序语言写的操作系统、实时处理控制系统等。这三类程序,以系统程序的生产率为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所示:

软件开发费用计算方法

实用标准文案 软件开发项目计算方法 (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 适用范围 本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过

相关文档
相关文档 最新文档