软件开发项目概算指南.docx
《软件开发项目概算指南.docx》由会员分享,可在线阅读,更多相关《软件开发项目概算指南.docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件开发项目概算指南软件开发项目概算指南 (V2.0)广东软件行业协会二六年八月目 录1前言21.1 目的21.2 软件项目建设类别21.3 适用范围21.4 名词解释32软件项目费用概算42.1项目阶段划分42.2 各阶段费用构成52.3 项目费用概算63各项费用取费依据73.1 咨询费73.2 建设费83.3 服务费83.4 附加费123.5需求变更估算124工作量估算方法134.1 开发阶段工作量估算134.2 实施阶段工作量估算154.3 维护阶段工作量估算175人月成本估算方法186其他事项196.1 最终合同金额确定196.2 付款方式206.3 评估机构20软件项目规模功能点估算
2、方法211 功能点估算流程212 功能点分析的要素223 功能点计算(初步值UFC)234 确定技术复杂度因子TCF245 计算调节后的功能点数FP25参考文献261 前言1.1 目的规范软件市场行为,维护价格公平竞争,同时为软件项目建设经费概算提供科学可信的依据。1.2 软件项目建设类别软件产业发展到现今阶段,技术已经很成熟,产品也已经很丰富,同时由于开发工具和操作系统平台的可选择性,软件项目出现了多样化的趋势。同样是软件项目,完成途径和开发手段不同,其费用也会存在很大差异。不同类别的软件项目,其费用构成和概算方法也不同。根据项目建设要求和方式,一般分为以下几类:新开发项目:从项目的需求分析
3、开始直至产品完成正式交付使用,其工作覆盖软件产品的分析、设计、测试、实施、运行维护各阶段。二次开发:在现有产品的基础上进行提升和改造。软件移植:已有产品从一个操作系统平台转移到另一个操作系统平台,或者从原来的运行环境切换到另一个新的运行环境所需要进行的调整和变动。产品集成:将多个现有软件产品构件整合在一起,组装成比较复杂的或者更加完整的产品。1.3 适用范围本指南适用于应用类定制软件的新开发项目,项目应覆盖软件开发全过程(包括立项可行性分析,需求分析、编码实现、安装实施、运行维护各个阶段工作)。其中人月成本的计算方法也适用于其他类型的项目。本指南是站在行业的角度,去评估一个应用软件项目的开发费
4、用应该是多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多少。虽然这两者之间会有关联。对于同一软件开发项目,不同的开发商由于各自的技术、能力、管理、积累以和其他方面的因素,其实际成本支出会有较大差异。而这不在本指南考虑之内。1.4 名词解释应用软件:是指针对特定领域开发,为特定目的服务的一类软件。软件开发: 指从软件项目启动到项目实施前这一时间段的工作。其内容包括详细设计、编码、测试、系统调试等方面的工作。系统实施:指软件项目开发完毕进行安装到项目正式验收这一时间段的工作。其内容包括系统安装、个性化配置、用户培训等方面的工作,但不包括各实施点的本地化开发工作。运行维护:指从软件项
5、目正式验收到合同规定的项目维护期结束的这一时间段的工作。其内容包括在此期间所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。如:运行管理、系统平台维护、应用软件维护、数据维护等验收测试:确定项目是否符合其验收准则,使客户能确定是否接收此项目的正式测试。功能点(FP):功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。成本系数:成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,其单位为:人工时/FP。根据软件项目建设过程的各阶段工作,可分为:开
6、发成本系数、实施成本系数、维护成本系数。工作量:工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人月”。人月成本:指软件企业一个月平均需要的所有开销(包括员工成本、国家税收、企业利润、管理成本和质量成本等)摊分到各个员工头上的金额。平均工资:指软件企业支付给所有员工的工资总和除以企业员工人数得到的工资数。2 软件项目费用概算2.1项目阶段划分软件项目全过程可分为:立项阶段、建设阶段、完成阶段。不同阶段工作重点不同。为保证软件项目开发质量,避免因需求不确定,或者频繁更改所造成的成本上升,同时也利于项目费用概算,软件项目建设最
7、好采取“总体规划、分段实施”的原则。立项阶段:可委托专业技术咨询机构或者专家进行项目的可行性分析,需求分析;根据需求分析,进行系统设计;根据需求分析、系统设计,计算工作量,估算项目建设费(预算);根据项目概算进行招投标,确定软件开发商,签订建设合同。建设阶段:由软件开发商根据前期需求分析和系统设计,进行编码实现,并负责安装实施、运行维护等工作。项目实施完毕,需委托第三方测试机构进行验收测试。完成阶段:项目完成后,在需求变更较大的情形下,可委托专业技术机构根据实际工作量估算项目建设费(决算),项目结束。2.2 各阶段费用构成各阶段的所有费用可分为四类:咨询费:包括立项阶段的可行性分析,需求分析、
8、系统设计、估价、招投标等方面的工作所需要支出的费用。服务费:第三方测试机构的验收测试费、监理单位的监理费、进行数据扫描录入等方面工作的数据处理费等。建设费:软件开发商在开发、实施、维护等方面工作的费用。其中包括:软件开发费、系统实施费、运行维护费。附加费:针对具有特殊性质的软件开发项目。如:若需要提交源程序,必须增加知识产权费;若涉和保密方面的工作,则须增加保密费用等。此外,由于软件项目建设过程中,需求变更不可避免,因而还需要考虑到因需求变更导致工作量加大带来的费用。软件项目费用构成如图1所示。可行性分析软件项目费用构成咨询费需求分析系统设计估价招标代理建设费维护费实施费服务费监理费测试费需求
9、变更费附加费保密费知识产权保护费费技术咨询开发费其它数据处理标准符合性检测图1软件项目费用构成2.3 项目费用概算依上所述,软件项目从立项到结束,项目费用为:项目概算= 咨询费+建设费+服务费(需求变更费+附加费) = 咨询费+开发费+实施费+维护费+验收测试费+监理费 (+需求变更费+附加费)3 各项费用取费依据3.1 咨询费指软件项目立项前期,请专业机构或者专家进行技术咨询、可行性分析、需求分析,造价评估、方案设计、项目招标代理等方面工作所发生的费用。该部分费用可根据项目预计投入的建设费按照一定比例计取,也可以根据所投入的人月数进行计取,此外还可以由双方协商确定。在招标活动中,公证处对全过
10、程进行现场公证并对采购合同进行公证,公证费按照国家规定标准计算。表1 软件行业咨询取费标准收费项目收费基数基准费率(%)100万101-300万301-500万501-1000万1001-3000万3000万需求分析、可行性分析、系统设计等项目预投入费8.37.87.36.75.44.5估价项目预投入费3.63.02.52.21.81.5招标代理中标金额1.00.80.70.550.350.3技术咨询每人每日1000元1500元表2 公证服务取费标准标的额m(万元)22m55m1010m5050m100100m200200m300300400费率(%)10.80.60.50.40.30.20.
11、10.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 建设费建设费包括支付给
12、软件开发商的进行软件开发、实施、维护等方面工作的费用。主要依据工作量(完成该项目需要投入的人力,以人月度量)和人月成本进行估算。建设费 = 开发费+实施费+运行维护费= (开发工作量+实施工作量+运行维护工作量) 人月成本 3.3 服务费3.3.1 验收测试费软件项目验收是一个运行环境复杂、技术难度较高、评价体系抽象的过程。该项目验收除经过专家评审外,还应进行相应验收测试,只有两者结合才能为信息化项目验收和鉴定提供定性、定量的科学依据,才能做出较为客观准确的验收和鉴定结论。软件项目的验收测试是根据项目的特点(功能、技术需求和大小等)以和项目投入,按照评价软件质量的功能性、易用性、可靠性、可维护
13、性、可移植性、效率和文档等7个特性进行特性裁减,分为功能确认测试和验收测试。1)功能确认测试项目对象:省、市级信息化建设项目包括电子政务建设项目验收,各种渠道申报的与软件相关的科技项目的验收和科技成果鉴定项目。测试内容:根据申报或鉴定合同的技术条款和软件操作手册和被测软件运行确定测试内容,一般只覆盖软件的功能性、易用性和文档。主要判断被测系统是否完成合同要求的功能和相关特性。收费标准:8000-10000元。2)项目验收测试项目对象:各类信息化建设项目包括电子政务建设项目应用发布之前的验收,各种渠道申报的与软件相关的科技项目的验收和科技成果的鉴定项目,只要用户需求和合同中的条款覆盖效率和可移植
14、性等特性要求的项目。测试内容:在模拟或实际环境下测试被测系统是否实现了用户需求,是否达到了国家标准的相关要求。依据用户需求分析、合同的技术条款、国家标准的特性要求、软件操作手册和被测软件运行确定测试内容。收费标准: 验收测试费 = 建设费D*各测试项费率之和*调节系数t各测试项的费率和收费调节系数取值如表3、表4所示。表3 验收测试项费率表序号测试项子特性费率(a%)1功能性功能点100a2.8功能点100 a32易用性易理解性a0.07易学性a0.06易操作性a0.073可靠性成熟性 a0.2容错性a0.2易恢复性a0.14维护性易改变性a0.07稳定性a0.07易测试性a0.065可移植性
15、一个环境下测试a0.2多个测试环境 ,测试环境数na0.2+(n-1)*0.16效率一般的效率指标a1负载压力测试并发用户数50,测试脚本数3,a1; 每增加50个以内用户数或3个以下测试脚本数,a递增0.57文档用户文档a0.1技术合同a0.05需求规格说明书a0.1表4 调节系数t取值范围序号项目建设费D(万元)收费折扣系数(t)1D20012200D5000.983500D10000.9641000D20000.9552000D50000.9365000D100000.927D100000.90注:1)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。被选测试项多少决定
16、测试费率a,项目大小决定收费调节系数L; 2)根据项目特点针对软件各个特性进行选择测试,测试费率为所选择软件特性测试费率a各项之和。3)根据项目大小采取项目建设费越高费率越低原则进行调节。4)项目验收测试最低收费为: 8000元(不含负载压力测试)2万元(含负载压力测试)3.3.2 工程监理费软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其它监理行业的收费标准、收费方式。一般可按照项目建设费(或合同价格)的一定百分比取费。其取费比率主要根据项目的规模、阶段、内容、复杂程度和监理成本等多方面因素综合计算。计算公式如下: 监理费 = 建设费D*基本费率a*地域调整系数d*工期调整系数e1
17、)基本费率a根据项目建设费的规模进行调整。取值范围如下:表5监理基本费率a取值范围序号项目建设费D(万元)费率a(%)1D200122200D50093500D1000741000D2000652000D5000565000D1000047D1000032)鉴于软件项目实施时分布的地域会有所不同,因此,监理的费率应在基本费率的基础上考虑地域的因素。地域调整系数d取值如下:表6 地域凋整系数d取值范围序号地域范围地域调整系数1集中实施12地市范围11.23全省范围1.21.54全国范围1.523)鉴于软件项目工期长短不一,因此,监理的费率应在监理的基本费率基础上考虑工期的因素。工期越长,系数越大
18、。工期调整系数e如下:表7 工期调整系数e取值范围序号工程工期T(年)工期调整系数e1T1e0.921T2e1.13T2e1.44)其他对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬。监理附加报酬率 = 监理费*附加工作月数/合同规定月数。对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。本参考标准未作规定的,可参考国家相关标准。3.3.3 数据处理费项目中如含有大量档案、数据需要录入、处理,则需要考虑相应的数据处理服务费。收费标准可以根据所需要处理的资料的页数核计收费。一般情况下单纯的数据录入,收费标准为:0.3-0.5元/页。特殊要求的数据处理可依
19、据合同约定。 3.4 附加费如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费;如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费。这些费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照项目建设费的一定比例计取,或者双方协商。3.5需求变更估算由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。 项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以需
20、求变更费为:需求变更费 =(建设费验收测试费监理费)* 需求变更风险系数f风险系数f可依据以下因素确定:1) 项目的成熟度:如果是新项目,则开发过程中出现需求变更的可能性很大,且需求变更幅度大,风险系数就高;如果是成熟项目,或者已经有过案例的项目,则需求变化的可能性较小,即使有变化,幅度也不会太高,则风险系数就低。2) 项目的规模大小:如果项目规模小,需求容易确定,变更几率就小,反之就大;3) 用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化。4) 前期项目需求分析、系统设计的规范性和完善性:前期的需求分析是否全面到位、系统设计的是否规范和细
21、致,会影响到开发过程的需求变化率。4 工作量估算方法工作量指在软件项目建设过程中需要投入的人力和时间,一般用人月数进行度量。项目建设阶段一般可分为:开发阶段、实施阶段、运行维护阶段。故在工作量需分阶段进行估算。工作量=开发工作量+实施工作量+维护工作量另:由于在软件项目开发过程中,因需求变更导致工作量改变的情形不可避免,故可分别在立项阶段进行工作量预算,在项目完成阶段进行工作量核算。4.1 开发阶段工作量估算 开发工作量是计算实施阶段和维护阶段工作量的基础。主要有两种估算方法。4.1.1功能点估算法该方法主要是依据软件项目的功能需求来评估开发工作量。通过分析系统需求计算项目规模(功能点数),再
22、乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),就可计算出完成项目所需要的人月数。适用于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量估算。开发工作量D(人月)= (项目功能点FP*开发成本系数k/H/W)其中H是指国家规定的一天工作时数,W指一个月工作天数。功能点FP的估算详见附录软件项目功能点估算法。开发成本系数k的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数k取值范围一般为:表8开发成本系数k取值范围功能点数(FP)开发成本系数(人工时/FP)3000 3.54.03000FP8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 项目 概算 指南
限制150内