软件开发成本估算-软件规模估算
3.各项费用取费依据 3.1 咨询费 指软件项目立项前期软件开发成本估算,请专业机构或者专家进行技术咨询、可行性分析、需求分析,造价评估、方案设计、项目招标代理等方面工作所发生的费用。该部分费用可根据项目预计投入的建设费按照一定比例计取,也可以根据所投入的人月数进行计取,此外还可以由双方协商确定。 在招标活动中,公证处对全过程进行现场公证并对采购合同进行公证,公证费按照国家规定标准计算。 * * 注: 1.按表1计费不足1000元的,按1000元收费。 2.按表2计费不足200元的,按200元收费。 3.技术咨询按耗用工时(日)计费,为完成委托任务发生的差旅、交通费由委托方另行支付。 4.招标代理收费和公证服务收费按差额定率累进法计算。 5.如某招标代理业务中标金额为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.2.1开发阶段工作量估算 开发工作量是计算实施阶段和维护阶段工作量的基础。主要有两种估算方法。(1)功能点估算法 (2)任务估算法 * 3.2.1.1功能点估算法 该方法主要是依据软件项目的功能需求来评估开发工作量。通过分析系统需求计算项目规模(功能点数),再乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),就可计算出完成项目所需要的人月数。适用于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量估算。 开发工作量D(人月)= (项目功能点FP*开发成本系数k/H/W) 其中H是指国家规定的一天工作时数软件开发成本估算,W指一个月工作天数。 功能点FP的估算详见附录—软件项目功能点估算法。 * 开发成本系数k的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。
根据对实际数据的测算,开发成本系数k取值范围一般为: 功能点数(FP) 开发成本系数(人工时/FP) ≤3000 3.5~4.0 30008000 4.5~5.0 * 3.2.1.2 任务估算法 任务估算法是把软件项目功能分解为若干个相对独立的任务,再分别估计完成每个任务需要的人员搭配比例及投入时间,每个人员的工作量之和就是该任务的工作量。最后将各个任务的工作量累加起来就得出软件项目的总工作量。该方法适用于立项阶段的工作量估算。 依据软件工程的概念、国内软件开发行业的惯例及经验值,软件开发工作可分为:设计、编码、测试。 * 以程序员的工作量为标准; 高级程序员的工作量为标准工作量的1.5倍; 系统分析员的工作量为标准工作量的2.5倍; 测试工程师的工作量为标准工作量; 高级测试工程师的工作量为标准工作量的1.5倍; 项目管理人员的工作量为标准工作量的3倍; 市场营销人员的工作量为标准工作量; 技术支持工程师的工作量为标准工作量; 文秘的工作量为标准工作量的0.5倍; * 开发阶段 投入人员情况 时间(月) 工作量(人月) 需求分析 系统分析员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(人月) 例如:完成某个任务的人员投入和时间需求,则其工作量为60.5人月。
* 3.2.2实施阶段工作量估算软件项目的实施范围因项目而异(有些项目只实施一个单位、有些需要实施多个单位、有些甚至需要全市、全省甚至全国实施),所以实施阶段的费用也会有很大的差异,甚至有的项目会出现实施费用超过开发费用的情形。 实施阶段的工作量可依据开发阶段工作量、实施系数来计算。实施工作量(人月)= 开发工作量D*实施系数s 根据项目是集中式实施还是分布式实施,实施系数s的取值有所不同。 * (1)集中式实施的项目 实施系数s与“用户数”相关。设n为用户数,一般情况下: 当 0