1、产品集成: 将多个现有软件产品构件整合在一起, 组装成比较复杂的或者更加完整的产品。1.3适用范围本指南适用于应用类定制软件的新开发项目, 项目应覆盖软件开发全过程(包括立项可行性分析,需求分析、编码实现、安装实施、运行维护各个 阶段工作)。其中人月成本的计算方法也适用于其他类型的项目。本指南是站在行业的角度, 去评估一个应用软件项目的开发费用应该是 多少,而不是站在开发商的角度去计算某企业开发软件时的成本支出是多 少。虽然这两者之间会有关联。对于同一软件开发项目,不同的开发商由于各自的技术、能力、管理、 积累以及其他方面的因素,其实际成本支出会有较大差异。而这不在本指南 考虑之内。1.4名词
2、解释应用软件: 是指针对特定领域开发,为特定目的服务的一类软件。软件开发: 指从软件项目启动到项目实施前这一时间段的工作。其内容包括详细设计、编码、测试、系统调试等方面的工作。系统实施: 指软件项目开发完毕进行安装到项目正式验收这一时间段的工 作。其内容包括系统安装、 个性化配置、 用户培训等方面的工作, 但不包括各实施点的本地化开发工作。运行维护: 指从软件项目正式验收到合同规定的项目维护期结束的这一时间 段的工作。其内容包括在此期间所需要提供的原系统完善性修改 和服务等工作(不包括新增需求和原功能的重大变更) 。如:运 行管理、系统平台维护、应用软件维护、数据维护等验收测试: 确定项目是否
3、符合其验收准则,使客户能确定是否接收此项目的 正式测试。功能点 (FP) :功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。成本系数:成本系数是指完成某个功能点 (FP )的规定活动所需要投入的人 工时,其单位为:人工时 /FP 。根据软件项目建设过程的各阶段 工作,可分为:开发成本系数、实施成本系数、维护成本系数。工作量:工作量的计算是按一个开发工作人员在一个月内(日历中的月,即包括国家规定的节假日)能完成的工作量为单位,也就是通常所讲的“人月。”人月成本:指软件企业一个月平均需
4、要的所有开销(包括员工成本、国家税 收、企业利润、管理成本和质量成本等)摊分到各个员工头上的 金额。平均工资:指软件企业支付给所有员工的工资总和除以企业员工人数得到的 工资数。2软件项目费用概算2.1项目阶段划分软件项目全过程可分为:立项阶段、建设阶段、完成阶段。不同阶段工 作重点不同。为保证软件项目开发质量,避免因需求不确定,或者频繁更改 所造成的成本上升, 同时也利于项目费用概算, 软件项目建设最好采取“总体 规划、分段实施”的原则。立项阶段: 可委托专业技术咨询机构或者专家进行项目的可行性分析,需求分析;根据需求分析,进行系统设计;根据需求分析、系统设计,计算 工作量,估算项目建设费(预
5、算) ;根据项目概算进行招投标,确定软件开 发商,签订建设合同。建设阶段 :由软件开发商根据前期需求分析和系统设计, 进行编码实现, 并负责安装实施、运行维护等工作。项目实施完毕,需委托第三方测试机构 进行验收测试。完成阶段: 项目完成后,在需求变更较大的情形下,可委托专业技术机 构根据实际工作量估算项目建设费(决算) ,项目结束。2.2各阶段费用构成各阶段的所有费用可分为四类:咨询费: 包括立项阶段的可行性分析,需求分析、系统设计、估价、招 投标等方面的工作所需要支出的费用。服务费: 第三方测试机构的验收测试费、监理单位的监理费、进行数据 扫描录入等方面工作的数据处理费等。建设费: 软件开发
6、商在开发、实施、维护等方面工作的费用。其中包括: 软件开发费、系统实施费、运行维护费。附加费: 针对具有特殊性质的软件开发项目。若需要提交源程序, 必须增加知识产权费;若涉及保密方面的工作,则须增加保密 费用等。此外,由于软件项目建设过程中,需求变更不可避免,因而还需要考虑到因需求变更导致工作量加大带来的费用。软件项目费用构成如图 1 所示。可行性分析需求变更费附加费知识产权保护费保密费其它图 1 软件项目费用构成2.3项目费用概算 依上所述,软件项目从立项到结束,项目费用为:项目概算 = 咨询费 +建设费+服务费(需求变更费 +附加费)= 咨询费+开发费+实施费+维护费+验收测试费 +监理费
7、+需求变更费 +附加费)3各项费用取费依据3.1咨询费指软件项目立项前期, 请专业机构或者专家进行技术咨询、 可行性分析、 需求分析,造价评估、方案设计、项目招标代理等方面工作所发生的费用。 该部分费用可根据项目预计投入的建设费按照一定比例计取, 也可以根据所 投入的人月数进行计取,此外还可以由双方协商确定。在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证, 公证费按照国家规定标准计算。表 1 软件行业咨询取费标准基准费率( % )收费项目收费基数100 万101-300 万301-500 万501-1000 万1001-30003000万需求分析、 可行性分析、 系项目预投入费8
8、.37.87.36.75.44.5统设计等估价3.63.02.52.21.81.5招标代理中标金额1.00.80.70.550.350.3技术咨询每人每日1000 元 1500 元表 2 公证服务取费标准标的额 m22m5m 1050100200300a32易用性易理解性a0.07易学性a0.06易操作性3可靠性成熟性a0.2容错性易恢复性a0.14维护性易改变性稳定性易测试性5可移植性一个环境下测试多个测试环境 ,测试环境数 na0.2+(n-1)*0.16效率一般的效率指标a1负载 并发用户数 50,测试脚本数a1;压力 3 ,测试每增加 50 个以内用户数或 3 个以下测试脚本数,a 递
9、增 0.57文档用户文档技术合同a0.05需求规格说明书表 4 调节系数 t 取值范围项目建设费 D(万元)收费折扣系数 (t)D2001D 5000.98500D 10000.961000D 20000.952000D 50000.935000D 100000.92D 100000.901)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。被选测试项多少决 定测试费率 a ,项目大小决定收费调节系数 L ;2)根据项目特点针对软件各个特性进行选择测试, 测试费率为所选择软件特性测试费率 a 各项之和。3)根据项目大小采取项目建设费越高费率越低原则进行调节。4 )项目验收测试
10、最低收费为: 8000 元(不含负载压力测试)2 万元(含负载压力测试)3.3.2工程监理费软件项目监理收费既考虑了信息系统软件项目的特点, 又参照了其它监 理行业的收费标准、收费方式。一般可按照项目建设费 (或合同价格 )的一定 百分比取费。其取费比率主要根据项目的规模、阶段、内容、复杂程度及监 理成本等多方面因素综合计算。计算公式如下:监理费 = 建设费 D*基本费率 a* 地域调整系数 d* 工期调整系数 e1)基本费率 a 根据项目建设费的规模进行调整。取值范围如下:表 5 监理基本费率 a 取值范围费率 a( %)12200 D5009500 D10001000 D20002000
11、D50005000 100002)鉴于软件项目实施时分布的地域会有所不同,因此,监理的费率应在基本费率的基础上考虑地域的因素。地域调整系数 d 取值如下:表 6 地域凋整系数 d 取值范围地域范围地域调整系数集中实施地市范围11.2全省范围1.21.5全国范围1.523)鉴于软件项目工期长短不一,因此,监理的费率应在监理的基本费率基 础上考虑工期的因素。工期越长,系数越大。工期调整系数 e 如下:表 7 工期调整系数 e 取值范围工程工期 T (年)工期调整系数 eT1e0.911.44)其他 对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获 得监理附加报酬。监理附加报酬率 =
12、监理费 *附加工作月数 /合同规定月数。 对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。 本参考标准未作规定的,可参考国家相关标准。3.3.3数据处理费 项目中如含有大量档案、数据需要录入、处理,则需要考虑相应的数据 处理服务费。收费标准可以根据所需要处理的资料的页数核计收费。一般情况下单纯的数据录入,收费标准为: 0.3-0.5 元/页。特殊要求的 数据处理可依据合同约定。3.4附加费如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费;如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费。这些 费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照
13、项 目建设费的一定比例计取,或者双方协商。3.5需求变更估算由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作 量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的 风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。项目需求变更一般发生在项目建设过程中, 立项阶段的咨询服务不受需 求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以 需求变更费为:需求变更费 =(建设费验收测试费监理费) * 需求变更风险系数 f 风险系数 f 可依据以下因素确定:1)项目的成熟度:如果是新项目,则开发过程中出现需求变更的可能性很大,且需求变更幅度大,风险系数
14、就高;如果是成熟项目,或者已经有过案例的项目,则需求变化的可能性较小,即使有变化,幅度也 不会太高,则风险系数就低。2)项目的规模大小:如果项目规模小,需求容易确定,变更几率就小,反之就大;3)用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化4) 前期项目需求分析、系统设计的规范性和完善性:前期的需求分析是 否全面到位、系统设计的是否规范和细致,会影响到开发过程的需求 变化率。4工作量估算方法工作量指在软件项目建设过程中需要投入的人力和时间, 一般用人月数 进行度量。 项目建设阶段一般可分为: 开发阶段、 实施阶段、 运行维护阶段。 故在工作
15、量需分阶段进行估算。工作量 =开发工作量 +实施工作量 +维护工作量 另:由于在软件项目开发过程中,因需求变更导致工作量改变的情形不 可避免,故可分别在立项阶段进行工作量预算,在项目完成阶段进行工作量 核算。4.1开发阶段工作量估算 开发工作量是计算实施阶段和维护阶段工作量的基础。 主要有两种估算 方法。4.1.1功能点估算法 该方法主要是依据软件项目的功能需求来评估开发工作量。通过分析系 统需求计算项目规模(功能点数) ,再乘以各阶段完成每个功能点所需要投 入的人工时(开发成本系数) ,就可计算出完成项目所需要的人月数。适用 于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量
16、估算开发工作量 D(人月) = (项目功能点 FP*开发成本系数 k/H/W ) 其中 H 是指国家规定的一天工作时数, W 指一个月工作天数。 功能点 FP 的估算详见附录 软件项目功能点估算法。开发成本系数 k 的大小主要是考虑项目的非技术难度,如开发周期、协 调难度、业务的复杂程度、 需求的不确定性等因素。 根据对实际数据的测算, 开发成本系数 k 取值范围一般为:表 8 开发成本系数 k 取值范围功能点数 (FP)开发成本系数(人工时 /FP )30003.5 4.03000 FP 80004.0 4.580004.5 5.0针对个别项目,如果有特殊情况(如某些用户业务的特殊要求是一般
17、项 目中从未出现过的、开发人员需要到用户现场开发等) ,则经专业咨询机构 或者专家评估,开发成本系数可以超出此范围上限的限制。4.1.2任务估算法 任务估算法是把软件项目功能分解为若干个相对独立的任务, 再分别估 计完成每个任务需要的人员搭配比例及投入时间, 每个人员的工作量之和就 是该任务的工作量。 最后将各个任务的工作量累加起来就得出软件项目的总 工作量。该方法适用于立项阶段的工作量估算。依据软件工程的概念、国内软件开发行业的惯例及经验值,软件开发工 作可分为:设计、编码、测试设计各个岗位人员工作量可基于以下标准计算:(1)以程序员的工作量为标准;(2)高 级程序员的工作量为标准工作量的
18、1.5 倍;(3)系 统分析员的工作量为标准工作量的 2.5 倍;(4)测试工程师的工作量为标准工作量;(5)高 级测试工程师的工作量为标准工作量的 1.5 倍;(6)项 目管理人员的工作量为标准工作量的 3 倍;(7)市场营销人员的工作量为标准工作量;(8)技术支持工程师的工作量为标准工作量;(9)文 秘的工作量为标准工作量的 0.5 倍; 例如:完成某个任务的人员投入和时间需求如表 9,则其工作量为 60.5 人月。表 9 某任务工作量估算表开发阶段投入人员情况时间(月)工作量(人月)需求分析系统分析员 2 人2*2*2.5=10系统设计系统分析员 1 人1*2*2.5=5高级程序员 2
19、人2*2*1.5=6编码2*1*1.5=3程序员 4 人4*1*1=4测试工程师 4 人4*2*1=8项目管理项目管理人员 1 人1*7*3=21文案工作文秘 1 人1*7*0.5=3.5合计: 60.5 (人月)4.2 实施阶段工作量估算 软件项目的实施范围因项目而异(有些项目只实施一个单位、有些需要 实施多个单位、有些甚至需要全市、全省甚至全国实施) ,所以实施阶段的 费用也会有很大的差异 ,甚至有的项目会出现实施费用超过开发费用的情形。实施阶段的工作量可依据开发阶段工作量、实施系数来计算。 实施工作量(人月) = 开发工作量 D*实施系数 s 根据项目是集中式实施还是分布式实施,实施系数
20、 s 的取值有所不同。1) 集中式实施的项目实施系数 s 与“用户数”相关。设n 为用户数,一般情况下:当 0n100 时, s=0.2 ;否则, s=0.2 + ( n-100 )/100 ) *q(四舍五入取两位小数) ;q 是调节因子,取值范围为: 0.03 q0.05 ,具体取值依项目实施难 度而定。2) 分布式实施的项目实施系数 s 与“实施单位(点)数”相关。设n 为需要实施的单位(点) 数,一般情况下:s =0.2 + (n - 1 )*qq 是调节因子 ,一般取值范围为: 0.08 q0.15 ,具体取值依项目实施 难度而定。3) 个别项目, 如果对实施有特殊要求 (这些特殊要
21、求是一般项目中从未 出现过的或有本地化开发工作的) ,或者实施环境、条件、难度等方 面因素的影响,则经专业机构或者专家评估,实施系数可以超出此范 围上限的限制。4) 如果软件项目是系统集成项目中的一部分, 实施时需要整体考虑, 则 可将实施费抽出另算。一种是将软件实施费并入到整个集成项目的实 施费用中,另一种就是在软件实施费中加入项目集成的实施费用。4.3 维护阶段工作量估算软件项目通过验收 ,交付使用后,需进行一年的系统维护。维护内容包 括:运行管理、系统平台维护、应用软件维护、数据维护等。根据不同的用 户要求,系统维护服务可分为以下两种情形:A级软件企业派出技术人员常驻用户处,解决日常运行
22、中发生的问题。则其 工作量由派驻人员的数目和派驻的时间决定。软件(系统)维护工作量 派驻的人员数 *时间(月)B级软件企业在国家规定的正常工作时间,按双方约定的条件和时间到达 现场,且每月(或定期)派技术人员到现场进行软件(系统)性能调试,使 之运行处于良好状态。 则 B 级的维护工作所需工作量依据开发工作量、 实施 工作量、维护系数来计算。运行维护工作量(人月) = (开发工作量 + 实施工作量) *维护系数 w= (开发工作量 +开发工作量 *实施系数 s )*维护系数 w维护系数 w 取值范围为 0.15-0.20 ,具体取值依项目维护难度而定。 针对个别项目,如果对维护有特殊要求(这些特殊要求是一般项目中从
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1