表4 调节系数t取值范围
序号 1 2 3 4 5 6 7 项目建设费D(万元) D≤200 200 1)影响项目验收测试费用的因素一个是项目的大小,另一个是所选择的测试项。被选测试项多少决定测试费率a,项目大小决定收费调节系数L; 2)根据项目特点针对软件各个特性进行选择测试,测试费率为所选择软件特性测试费率a各项之和。 3)根据项目大小采取项目建设费越高费率越低原则进行调节。 4)项目验收测试最低收费为: 8000元(不含负载压力测试) 2万元(含负载压力测试) 3.3.2 工程监理费 软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其它监理行业的收费标准、收费方式。一般可按照项目建设费(或合同价格)的一定百分比取费。其取费比率主要根据项目的规模、阶段、内容、复杂程度及监理成本等多方面因素综合计算。计算公式如下: 监理费 = 建设费D*基本费率a*地域调整系数d*工期调整系数e 1)基本费率a根据项目建设费的规模进行调整。取值范围如下: 表5 监理基本费率a取值范围 序号 1 2 3 4 5 6 7 项目建设费D(万元) D≤200 200<D≤500 500<D≤1000 1000<D≤2000 2000<D≤5000 5000<D≤10000 D>10000 费率a(%) >12 >9 >7 >6 >5 >4 >3 10 2)鉴于软件项目实施时分布的地域会有所不同,因此,监理的费率应在基本费率的基础上考虑地域的因素。地域调整系数d取值如下: 表6 地域凋整系数d取值范围 序号 1 2 3 4 地域范围 集中实施 地市范围 全省范围 全国范围 地域调整系数 1 1~1.2 1.2~1.5 1.5~2 3)鉴于软件项目工期长短不一,因此,监理的费率应在监理的基本费率基础上考虑工期的因素。工期越长,系数越大。工期调整系数e如下: 表7 工期调整系数e取值范围 序号 1 2 3 工程工期T(年) T≤1 1<T≤2 T>2 工期调整系数e e>0.9 e>1.1 e>1.4 4)其他 对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬。 监理附加报酬率 = 监理费*附加工作月数/合同规定月数。 对于项目结束后的维护,其监理取费由用户单位和监理单位协商解决。 本参考标准未作规定的,可参考国家相关标准。 3.3.3 数据处理费 项目中如含有大量档案、数据需要录入、处理,则需要考虑相应的数据处理服务费。收费标准可以根据所需要处理的资料的页数核计收费。 一般情况下单纯的数据录入,收费标准为:0.3-0.5元/页。特殊要求的数据处理可依据合同约定。 11 3.4 附加费 如果用户需要软件开发商提交源代码,则必须支付相应的知识产权费;如果所开发的项目是涉密项目,则需额外再支付给软件开发商保密费。这些费用的计算均与软件开发工作量相关,也就是与项目建设费相关,可按照项目建设费的一定比例计取,或者双方协商。 3.5需求变更估算 由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以便在做项目预算时留出足够应付需求变更的经费。 项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以需求变更费为: 需求变更费 =(建设费+验收测试费+监理费)* 需求变更风险系数f 风险系数f可依据以下因素确定: 1) 项目的成熟度:如果是新项目,则开发过程中出现需求变更的可能性很大,且需求变更幅度大,风险系数就高;如果是成熟项目,或者已经有过案例的项目,则需求变化的可能性较小,即使有变化,幅度也不会太高,则风险系数就低。 2) 项目的规模大小:如果项目规模小,需求容易确定,变更几率就小,反之就大; 3) 用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化。 12 4) 前期项目需求分析、系统设计的规范性和完善性:前期的需求分析是否全面到位、系统设计的是否规范和细致,会影响到开发过程的需求变化率。 4 工作量估算方法 工作量指在软件项目建设过程中需要投入的人力和时间,一般用人月数进行度量。项目建设阶段一般可分为:开发阶段、实施阶段、运行维护阶段。故在工作量需分阶段进行估算。 工作量=开发工作量+实施工作量+维护工作量 另:由于在软件项目开发过程中,因需求变更导致工作量改变的情形不可避免,故可分别在立项阶段进行工作量预算,在项目完成阶段进行工作量核算。 4.1 开发阶段工作量估算 开发工作量是计算实施阶段和维护阶段工作量的基础。主要有两种估算方法。 4.1.1功能点估算法 该方法主要是依据软件项目的功能需求来评估开发工作量。通过分析系统需求计算项目规模(功能点数),再乘以各阶段完成每个功能点所需要投入的人工时(开发成本系数),就可计算出完成项目所需要的人月数。适用于立项阶段需求分析比较详细的项目或者用于项目完成阶段的最终工作量估算。 开发工作量D(人月)= (项目功能点FP*开发成本系数k/H/W) 13 其中H是指国家规定的一天工作时数,W指一个月工作天数。 功能点FP的估算详见附录—软件项目功能点估算法。 开发成本系数k的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数k取值范围一般为: 表8 开发成本系数k取值范围 功能点数(FP) 《3000 3000〈FP《8000 〉8000 开发成本系数(人工时/FP) 3.5~4.0 4.0~4.5 4.5~5.0 针对个别项目,如果有特殊情况(如某些用户业务的特殊要求是一般项目中从未出现过的、开发人员需要到用户现场开发等),则经专业咨询机构或者专家评估,开发成本系数可以超出此范围上限的限制。 4.1.2 任务估算法 任务估算法是把软件项目功能分解为若干个相对独立的任务,再分别估计完成每个任务需要的人员搭配比例及投入时间,每个人员的工作量之和就是该任务的工作量。最后将各个任务的工作量累加起来就得出软件项目的总工作量。该方法适用于立项阶段的工作量估算。 依据软件工程的概念、国内软件开发行业的惯例及经验值,软件开发工作可分为:设计、编码、测试。 设计各个岗位人员工作量可基于以下标准计算: (1) 以程序员的工作量为标准; (2) 高级程序员的工作量为标准工作量的1.5倍; 14