附件5:软件项目功能点概预算编制方法 v1.0
电子政务工程软件项目费用构成及概算方法(V1.0)为规范电子政务工程项目软件的价格行为,维护价格公平竞争,同时为电子政务软件项目进行经费概算提供科学可信的依据,广东软件行业协会组织有关专家和企业,经过多次研究和修订,提出以下电子政务工程软件项目费用构成及概算方法。一、名词解释开发阶段:开发阶段是指从软件项目启动到项目实施前的这一时间段。因此,开发阶段的工作包括详细需求分析、系统设计、编码、测试等方面的工作。实施阶段:实施阶段是指软件项目从实施开始到项目正式验收的这一时间段。因此,实施阶段的工作包括系统安装、系统调试、用户培训等方面的工作,但不包括各实施点的本地化开发工作。运行维护阶段:运行维护阶段是指从软件项目正式验收到合同规定的一年项目维护期结束的这一时间段。因此,维护阶段的工作包括系统在维护期内所需要提供的原系统完善性修改和服务等工作(不包括新增需求和原功能的重大变更)。功能点:功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。功能点分析法是目前国际上软件行业普遍接受的软件项目规模度量模型。成本系数:成本系数是指完成某个功能点(FP)的规定活动所需要投入的人工时,因此成本系数的单位为:人工时/FP。如开发阶段的成本系数,则是指一个功能点(FP)需要完成“详细需求分析”、“系统设计”、“编码”和“测试”等工作所需要投入的人工时。其他如实施阶段成本系数、运行维护阶段成本系数的定义以此类推。软件人员月人工费用:软件人员月人工费用是指一个软件人员工作一个月平均需要的所有成本开销(包括工资、奖金、福利、办公成本、国家各种税费、管理费用等等)及软件企业合理利润的总和。二、软件项目费用构成电子政务软件项目的费用构成因素很多,为准确描述,我们依据软件工程理论,从角色和项目阶段两个维度来描述项目的费用构成。从角色维度来看,电子政务工程项目建设中主要包括建设方、承建方、第三方测试机构和监理方四个主体;从项目阶段维度来看,可以分为前期咨询、开发、实施、验收、维护五个阶段。用一个二维表来表示角色、项目阶段和项目费用的对应关系,如下表所示。电子政务软件项目费用构成表阶段角色立项前期工作开发验收实施运行维护建设方需求分析、系统初步设计、招标、造价等咨询服务费用承建方开发费用实施费用运行维护费用(维护期内)测评机构测试费用监理方工程监理费用从表中我们看出,软件项目经费概算应考虑到如下方面的费用:咨询服务费、项目建设费(包括软件开发、实施、维护阶段费)、验收测试费、工程监理费。其中项目建设费是整个项目费用构成中的最主要和最重要的部分。此外,由于软件项目的需求往往在项目建设之初很难精确描述、在项目的建设过程总会有一定量的变更,因此电子政务的软件项目经费概算中还要考虑到因为需求变更导致工作量增加而追加的费用。三、取费依据(一)咨询服务费P指软件项目立项前期,请专业机构或者专家进行可行性分析、技术咨询、项目初步需求分析,造价评估、方案初步设计、项目招投标等方面工作所发生的费用。该部分费用可根据项目预计投入的建设费按照一定比例计取,也可以根据所投入的人月数进行计取,此外还可以由双方协商确定。软件行业咨询服务取费标准收费项目收费基数基准费率(‰)100万以内101万-300万301万-500 万501万-1000万1001万-3000万3001万以上软件项目价格概算项目预投入费3.63.02.52.21.81.5系统设计,包括初步需求分析、概要设计等项目预、投入费8.37.87.36.75.44.5技术咨询每人每日1000元~1500元注:(1) 参考建筑行业及通信行业的造价编制取费标准,结合软件行业项目建设实践,提出以上造价咨询取费标准表,仅供参考。(2) 按上表计费不足10000元的,按10000元收费。(3) 技术咨询按耗用工时(日)计费,为完成委托任务发生的差旅、交通费由委托方另行支付。(二)项目建设费M根据上述软件项目开发过程的划分及费用构成,项目建设费为以承建方为主体的各阶段费用总和,包括:开发阶段费用、实施阶段费用、维护阶段费用。故:项目建设费M=开发费用D+实施费用S+维护费用W1、开发费用D指对项目进行详细需求分析、系统设计、编码、测试等方面的工作而需支出的费用。取费主要是依据项目规模(功能点)、开发成本系数和软件人员月人工费用计取。开发费用D = 工作量(人月)* 软件人员月人工费用= (项目功能点*开发成本系数/7.5/22)*(3.23B)(其中7.5是指一天7.5个工作时,22指一月22个工作日,下同)。开发成本系数的大小主要是考虑项目的非技术难度,如开发周期、协调难度、业务的复杂程度、需求的不确定性等因素。根据对实际数据的测算,开发成本系数一般为:3000个功能点以下(含3000):3.5人工时/FP—4.0人工时/FP;3000到8000(含8000)个功能点以下:4.0人工时/FP—4.5人工时/FP;8000个以上功能点:4.5人工时/FP—5.0人工时/FP。针对个别项目,如果有特殊情况(如某些业务特殊要求是一般项目中从未出现过的、业主需要项目组到用户现场开发等),则经专家组评判,开发成本系数可以超出此范围上限的限制。项目功能点的估算方法参见附录一《软件项目功能点估算方法》。软件开发人员月人工费用计算方法参见附录二《软件人员月人工费用计算办法》。2、实施费用S由于电子政务项目的实施范围因项目而异(有些项目只实施一个单位、有些需要实施多个单位、有些甚至需要全市、全省甚至全国实施),所以实施阶段的费用也会有很大的差异。实施费用可依据项目规模(功能点)、实施成本系数和软件人员月人工费用计取。实施费用S = 工作量(人月)* 软件人员月人工费用= (项目功能点*实施成本系数/7.5/22)*(3.23B)根据项目是集中式实施还是分布式实施,实施成本系数可以采用如下两种方式之一确定:1)集中式实施的项目(C/S),实施成本系数与“用户数”相关,确定方法如下:实施成本系数 = 开发成本系数*t。根据软件工程理论和实际情况,t一般采用如下标准:当 0<用户数<=100时,t=0.2;否则,t=0.2 +((用户数-100)/100)*f(四舍五入取两位小数);f是调节因子,f取值如下:0.03<=f<=0.05,具体取值依项目实施难度而定。2) 分布式实施的项目,实施成本系数与“实施单位(点)数”相关,确定方法如下:实施成本系数 = 开发成本系数*(0.2 +(n - 1)*k)其中n代表需要实施的单位(点)数;k是比例因子。根据软件工程理论和实际情况,k一般采用如下:0.08<=k<=0.15,具体取值依项目实施难度而定。3) 个别项目,如果对实施有特殊要求(这些特殊要求是一般项目中从未出现过的或有本地化开发工作的),则经专家组评判,实施成本系数可以超出此范围上限的限制。3、运行维护费用W软件项目通过验收后,需进行一年的系统维护。维护内容包括:运行管理、系统平台维护、应用软件维护、数据维护等。根据不同的用户要求,系统维护服务可分为以下两种:A级软件企业派出技术人员常驻用户处,解决日常运行中发生的问题。则W=软件(系统)维护费/年 = 派驻的人员数*12(月)*软件人员月人工费用*q其中q为调整因子,1.5<=q<=2.0。B级软件企业每周5天,每天8小时(即5*8小时)响应,按双方约定的条件和时间到达现场,且每月(或定期)派技术人员到现场进行软件(系统)性能调试,使之运行处于良好状态。B级维护阶段费用依据项目规模(功能点)、实施成本系数和软件人员月人工费用计取。运行维护费用W = 工作量(人月)* 软件人员月人工费用= (项目功能点*维护成本系数/7.5/22)*(3.23B)维护成本系数 = (开发成本系数 + 实施成本系数)*p根据软件工程理论和实际情况,p一般为15%—20%,具体取值依项目维护难度而定。针对个别项目,如果对维护有特殊要求(这些特殊要求是一般项目中从未出现过的),则经专家组评判,维护成本系数可以不受此限制。备注:系统后期维护:系统运行一年之后的系统维护,需另行签订系统维护合约。为了有利于保证用户的利益和扶植软件企业,在维护范围不变的前提下,如果新维护合同的维护费用不超过上一年度维护金额的115%,则用户有权和原承建商直接签定维护合同,否则由政府相关部门进行招投标并确定新维护合同的承建公司。(三)验收测试费C项目完成后,需要委托第三方专业测评机构对项目进行验收测试、性能测试等方面工作。第三方验收测试可根据软件项目开发费按百分比计取。故验收测试费用为:C = 开发费D * 按规定计取的百分比a验收测试费率表费用序号软件开发费D(万元)第三方验收测试费率g(%)1D≤200≥52200<D≤500≥4.53500<D≤1000≥3.541000<D≤2000≥2.852000<D≤5000≥2.565000<D≤10000≥2.07D≥10000≥1.0(四)工程监理费用G软件项目监理收费既考虑了信息系统软件项目的特点,又参照了其它监理行业的收费标准。其收费参考标准内容如下:监理费G = 项目建设费M * 计取费率S计取费率S = 基本费率a * 地域调整系数b * 工期调整系数c故: G= M * (a*b*c)=(D+S+W)* (a*b*c)相关系数说明:1、不同规模的软件项目计取费率不同,基本费率a可参照下表。序号项目建设费M(万元)费率a1M≤200>122200<M≤500>93500<M≤1000>741000<M≤2000>652000<M≤5000>565000<M≤10000>47M>10000>32、鉴于信息系统工程项目分布的地域不同,因此,监理的费率应在监理的各阶段费率的基础上考虑地域的因素,地域调整系数b如下:1)、集中建设的信息系统工程项目:地域调整系数b为1;2)、地市范围的信息系统工程项目:地域调整系数b为1~1.2;3)、全省范围的信息系统工程项目:地域调整系数b为1.2~1.5;4)、全国范围的信息系统工程项目:地域调整系数b为1.5~2。3、鉴于软件项目工期长短不一,因此,监理的费率应在监理的各阶段费率的基础上考虑工期的因素。工期调整系数c序号工程工期T(年)工期调整系数c1T≤1C>0.921<T≤2C>1.13T>2C>1.4收费其它情况说明如果信息系统工程项目建设中有下列情况,监理附加报酬取费可以按照下列方式计取:1) 对于非监理原因造成工程延期而产生的监理附加工作,监理单位有权获得监理附加报酬,监理附加报酬率=G×附加工作月数/12。2) 对于维护阶段的监理取费由业主单位和监理单位协商解决。3) 本参考标准未作规定的,可参考国家相关标准。四、电子政务软件项目经费概算(一) 项目初始建设费计算在立项阶段,需聘请专业技术咨询机构或者专家,进行系统可行性分析和需求分析,在此基础上确定项目规模并对项目开发工作量进行评估,根据开发工作量计算出软件开发费用;项目建设完后,需第三方软件测试机构进行验收测试,此外,项目建设过程还会请监理机构进行全过程或某个阶段的监理。故整个项目初始预估建设费为:项目初始建设费Q=咨询服务费P+项目建设费M+验收测试费C+工程监理费G=咨询服务费P+(软件开发费D+实施费S+维护费W)+验收测试费C+工程监理费G= P + (D+S+W) + C + G(二) 需求变更费评估由于软件开发过程中,用户的需求有可能不断变化,从而导致开发工作量的变化,费用追加。故在立项阶段即要请专业机构或者专家对需求变更的风险性进行评估,以预申请出足够应付需求变更的经费。风险系数f可依据以下因子确定:1) 项目的成熟度:如果是新项目,则开发过程需求变更的可能性很大,风险系数高,如果是成熟项目,则需求变化小,风险系数低;2) 项目的规模大小:如果项目规模小,需求变更的几率就小,反之就大;3) 用户业务的稳定性和管理的规范性:用户单位业务的变化和业务流程的调整,都有可能带来开发过程中需求的变化。(该系数取值范围以后将通过经验统计方法给出。根据国外权威机构的调查,该系数一般为25%到400%。)项目需求变更一般发生在项目建设过程中,立项阶段的咨询服务不受需求变化的影响。但验收测试和工程监理工作量会随着需求变化而加大,所以需求变更费为:需求变更费B=(项目建设费M+验收测试费C+工程监理费G)*需求变更风险系数f= (D+S+W+C+G)* f(三) 项目总经费概算由此,可得出电子政务软件项目经费概算为:项目经费概算= 项目初始预估建设费Q+需求变更费B= P + (D+S+W) + C + G+(D+S+W+C+G)* f= P+(D+S+C+G+W)*(1+f)五、其他事项项目完成后,根据最终的系统功能点数和性能要求,可由专业评估机构再次进行评估,根据评估结果确定最终项目合同金额。其中因需求变更而追加的费用一般不能超过预计的需求变更费,如果由于需求发生巨大变更而导致需求变更费用可能超过项目预留的需求变更费,承建方需要及时向建设方提出申请,由专家进行评估后决定是终止需求的变更或追签新合同。项目概算过程中要充分发挥专家和中介机构在管理与决策过程中的咨询和评议作用。参考文献:1.《软件开发和服务项目价格构成及评估方法》,中国软件行业协会制定,上海市软件行业协会编写;2.《信息系统工程造价指导书》,深圳市信息工程协会和广东省价格协会编制。3.《基于COCOMOII模型的软件评估软件一系统设计及实现》,李鹏,山东大学硕士学位论文,2004.11。4.《软件工程项目管理——功能点分析方法与实践》,李帜、林立新、曹亚波,清华大学出版社。5.《软件成本估算COCOMOII模型方法》,Barry W.Boehm等著,李师贤等译,机械工业出版社。6.《通信软件开发成本评估系统研究》,李文,电子科技大学工程硕士学位论文,2004年10月附录一:软件项目功能点估算方法附录二:软件人员月人工费用计算方法附录一:软件项目功能点估算方法软件开发工作量指完成该项目所需要投入的人月数。一个人月表示一个软件人员在一个月的时间内从事软件开发项目的时间数。工作量大小由软件项目规模所决定。软件项目规模大小可根据历史经验、类比等方法来估算,但目前国际上通行的也比较科学的估算方法是采用功能点分析方法。功能点分析方法是通过一种基于软件功能的预测模型,以各种与软件项目功能有关的因素作为软件开发工作量的度量。一旦项目的需求分析确定,就可以大致得出软件的各项功能要素,并进行相应的功能点计算,以功能点表示软件的规模,并转化为工作量大小。功能点方式目前被广泛认可并应用在信息系统、数据库密集型、4GL应用系统开发等。本方法采用功能点分析法来估算软件项目的功能点数。一、 软件开发工作量的功能点估算流程功能点是对软件功能和大小的间接度量单位,一般通过必须和用户交互的情况的数目来测算程序工作量的大小。其工作流程如下:1、确定计算范围:确定功能点的计算规范、划定应用程序的边界;2、功能点分析:识别和估算与软件数据和事务功能有关的各种要素及其数量;3、功能点计算(初步):根据表格和加权值计算出初步的功能点数UFC;4、确定基数复杂度因子TCF;5、功能点调节:计算出经调节后的功能点数:FP=UFC*TCF二、 功能点分析功能点分析是从软件用户的角度来评估一个软件系统的功能,它将软件的功能分为五个基本要素:其中两个表示终端用户的数据需求:内部逻辑文件(Internal Logical Files),外部接口文件(ExternalInterface Files),另外三个表示用户对数据的获取处理的事务功能:用户输入(ExternalInPuts),用户输出(External Outputs),用户查询(External Inquiries)。它们的详细定义如下:1、内部逻辑文件(ILF):是一个用户可识别的逻辑相关的数据组,它在应用程序边界内,由用户输入来维护。它可能是某个大型数据库的一部分或是一个独立的文件。2、外部接口文件(EIF):是一个用户可识别的逻辑相关的数据组,但仅仅是起参考的作用,且数据完全存于软件边界之外,由另一个应用程序进行维护,是另一个应用程序的内部逻辑文件。3、用户输入(EI):是来自于软件外部的数据输入,可以是控制信息,也可是事务数据输入。如果是事务数据,它必须维护一个或多个内部逻辑文件。也就是说那些最后没有保存的中间计算结果和消息发送,都不算作数据输入单元。输入数据可来自于一个数据输入屏幕或其他应用程序。4、用户输出(EO):是“经过处理”的数据,由程序内部输出到外部。这里“经过处理”是指其区别于用户查询数据,是将一个或多个ILF、EIF中取出数据经过一定的组合、计算、总结后得出的输出数据。5、用户查询(EQ):是一个输入输出的组合过程,从一个或多个ILF、EIF中取出数据输出到程序外部。其中的输入过程不更新任何ILF,输出过程不进行任何数据处理。注:对软件项目进行估算的有效性和准确性取决于所掌握的有关项目的原始资料的完备性。这些原始资料包括:需求说明书、系统规格说明书、或者软件需求说明书等。从这些原始资料中可分析得出以上5类要素。如果以上5类要素的数据不准确,将直接影响到评估的结果。三、 功能点计算(初步值UFC)一旦估算出应用程序中每个功能要素的数量后,就可以将每个计数与一个复杂度值(加权因子)相乘,最后进行合计,算出一个初步的总的功能点数UFC。复杂加权因子表如下:功能要素复杂度加权因子表(Complexity weights Factor)复杂度功能要素低平均高用户输入数EI346用户输出数EO457用户查询表EQ346内部逻辑文件数ILF71015外部接口文件数EIF5710例如,每个功能要素的复杂度都是平均的,若有一个由25个数据登记表、5个接口文件,15个报告、10个外部查询和20个逻辑内部表单组成的系统,其功能点为:UFC=(25*4)+(5*7)+(15*5)+(10*4)+(20*10)=450个功能点。每个功能要素的复杂度可通过下表进行分析判断。功能要素复杂度判别表(Determine the complexity-level)ILF(内部逻辑文件)和EIF(外部接口文件)EO(用户输出)和EQ(用户查询)EI(用户输入)记录单元数据单元文件类型数据单元文件类型数据单元1-1920-5051+1-56-1920+1-45-1516+1低低平均0或1低低平均0或1低低平均2-5低平均高2-3低平均高2-3低平均高6+平均高高4+平均高高4+平均高高从表中可以看出,EI(用户输入)、EO(用户输出)和EQ(用户查询)是由文件类型和数据单元的数量来决定的。而ILF(内部逻辑文件)和EIF(外部接口文件)则是由记录单元和数据单元来决定的。通过上面的两维表即可确定各个功能要素的复杂度是低、平均,还是高。注:表中三种数据项定义如下:·记录单元类型RecordElement Type(RET):指在ILF或EIF中,用户可识别的数据域的子集,可以通过检查数据中的各种逻辑分组来识别它们。(例如一个客户文件,包括客户姓名、地址等个人信息,以及客户的信用卡和卡号,一个客户有多张信用卡。该文件含有两个记录单元:客户信息和信用卡信息)·文件引用类型FileType Referenced(FTR):指在一个事务过程中,所引用到的各种文件,可以是内部逻辑文件,也可以是外部接口文件。·数据单元类型DataElement Type(DET):是用户可识别的无递归,不重复的信息单元。DET是动态的,而非静态的,可以读自于文件,或由FTR的数据单元创建。另外,一个DET也可是对一个事务处理过程的唤醒,或是事务的有关信息。四、 确定技术复杂度因子TCF算出功能点总数UFC后,还需要乘上技术复杂度因子。技术复杂度一共考虑了14个调节参数,他们分别是:技术复杂度因子表EM1Data communications数据通讯EM2Performance软件性能EM3Heavily used configuration可配置性EM4Transaction rate事务效率EM5Online data entry实时数据输入EM6End user efficiency用户界面复杂度EM7Online update在线升级EM8Complex processing复杂运算EM9Reusability ease代码复用性EM10Installation ease安装简易性EM11Operations ease操作方便性EM12Multiple ease跨平台要求EM13Facilitate change可扩展性EM14Distributed functions分布式数据处理四、14个调整因子调整系数(VAF)是建立在14 个用来评价应用被分析的应用的功能的通用系统特性(GSC)的基础之上的。每一个特性都有一些规则来进行评分,以判断该特性对这个应用的影响程度。通用系统特性DI(0-5)影响度备注1.数据通讯(Data communications)3『应用有Web浏览器前端,支持HTTP协议3』0 应用是单纯的批处理或者PC stand-alone1 应用是批处理,但是有远程的数据输入或者打印2 应用是批处理,但是有远程的数据输入以及打印3 应用包括了在线数据收集或者一个批处理或者查询系统的远程处理前端4 应用不仅包括前端,但是仅支持一种远程处理通讯协议5 应用不仅包括前端,而且仅支持不止一种远程处理通讯协议2.软件性能(Performance)1『系统的设计中,并没有提出采用的特定行动,在本系统中,虽然需要与其他系统进行数据查询与分析,但这些系统属于外部系统,因此评定为1』0 用户没有提出特定的性能要求1 提出了性能和设计方面的要求,但不需要采取特定行动2 响应时间和吞吐量在系统峰值时是关键的,但是不需要采取相应的CPU 使用方面的特殊设计。交易的完成期限是下一个营业日3 响应时间和吞吐量在所有时间都是关键的,但是不需要采取相应的CPU 使用方面的特殊设计。交易的完成期限比较严格4 除了3 中的要求之外,因为对需求的要求比较严格,在设计阶段需要进行性能分析5 除了4 中的要求之外,在设计和实施阶段需要使用性能分析工具来判断性能要求的完成情况3.可配置性(Heavily used configuration)0『需求中没有明确的提出运行方面的限制』0 没有明确的提出运行方面的限制1 存在运行方面的限制,但是限制不如典型的应用中那样严格,不需要进行特殊的努力以满足运行限制2 考虑了一些安全和时间方面的限制3 应用中的一个部分包含了对处理器的特定需求4 提出的运行限制对应用的中央处理器或者专用处理器提出了特殊的要求5 除了4 之外,还对应用的分布式的组件提出了限制4.事务效率(Transaction rate)0『没有预期的高峰期,而且在需求中没有提出交易速度的要求,在设计中没有明确进行性能的估算,所以评定为0』0 没有预期的业务交易的高峰期1 有预期的交易高峰期(例如,每月,每季度,每年)2 每周都有预期的交易高峰期3 每天都有预期的交易高峰期4 用户在需求或者协议中提出了较高的交易速度要求,需要在设计阶段进行性能分析5 用户在需求或者协议中提出了较高的交易速度要求,需要在设计阶段进行性能分析。此外,在设计,实施以及安装阶段还需要使用性能分析的工具5.实时数据输入(Online data entry)40 所有的交易都是用批处理的方式完成1 交互式的数据输入占总交易的 1%~7%2 交互式的数据输入占总交易的 8%~15%3 交互式的数据输入占总交易的 16%~23%4 交互式的数据输入占总交易的 24%~30%5 交互式的数据输入占总交易的 30%以上6.用户界面复杂度(End user efficiency)5『本系统集中利用是属于图形表现,所以评定为5』-导航帮助(例如功能键,跳转,动态菜单等)-菜单-在线帮助和文档-光标自动移动-滚屏-在线远程打印-预定义的功能键-在线方式提交的批处理任务-屏幕数据的光标选取-大量使用反白,高亮,颜色表示以及其他的标示方法-用户手册-鼠标界面-弹出窗口-尽可能少的屏幕-双语言支持-多语言支持、0 以上一项都没有1 1~3项2 4~5项3 6项以上,但是没有用户对于效率的要求4 6项以上,用户对效率的要求足以使设计时必须考虑人文要素5 6项以上,用户对效率的要求使得开发人员必须使用特定的工具和流程以判定用户对效率的要求已经被达成7.在线升级(Online update)0『B/S结构,不需要在线升级』0 没有1 包括对1~3 个控制文件的在线更新。更新的流量低,恢复容易2 包括对4 个以上控制文件的在线更新。更新的流量低,恢复容易3 包括对主要ILF 的更新4 除了3 之外,对数据丢失的防范非常重要,在设计和实施中已经进行了这方面的特殊考虑。5 除了4 之外,大量的数据恢复工作存在成本考虑,包含了高度自动化的恢复流程。8.复杂运算(Complex processing)5『本系统需要运用多种的分析方法』对于以下控制:-敏感的控制(例如特别的审计处理)或者应用的安全处理-大量的逻辑-大量的数学处理-因为例外处理造成的需要重新处理的情况-多种可能的输入/输出造成的复杂处理0 没有1 有1 种2 有2 种3 有3 种4 有4 种5 有5 种9.代码复用性(Reusability ease)1『本系统不是中间件平台,所以对代码的复用性没有提出要求,代码只在系统内应用,如在检索系统整合中应用』0 没有可重用的代码1 代码在应用之内重用2 应用中需要被其他用户重用的部分不足10%3 应用中需要被不止一个用户使用的部分超过10%4 应用被按照一种易于重用的方式被打包和文档化。用户在源代码级客户化该应用5 应用被按照一种易于重用的方式被打包和文档化。用户使用用户参数来对该应用进行客户化10.安装简易性(Installation ease)0『采用B/S结构开发,不需要用户进行安装』0 用户对安装没有特定的要求,对安装没有特定的设置要求1 用户对安装没有特定的要求,但是有特定的安装环境要求2 用户提出了转化和安装的要求,转化/安装指南被提供给用户并且经过测试。但是转化的影响对该应用来说并非重要3 用户提出了转化和安装的要求,转化/安装指南被提供给用户并且经过测试。转化的影响对该应用来说是重要的4 除了2 的要求之外,需要提供自动化的安装和转化工具并经过测试。5 除了3 的要求之外,需要提供自动化的安装和转化工具并经过测试。11.操作方便性(Operations ease)40 除了备份之外,用户没有提出运行方面的特定要求1~4 以下四个特性,满足一个就在影响度上加1u 提供了有效的启动,备份和恢复流程,但是需要操作员的手工干预u 提供了有效的启动,备份和恢复流程,但是不需要操作员的手工干预u 应用最小化对于磁带mount 的要求u 应用最小化对于硬拷贝处理的要求5 应用的实际支持无人干预的运行。无人干预的运行意味着出了启动和关闭之外,系统不需要操作员的手工干预。错误的自动处理是应用的特性之一12.跨平台要求(Multiple ease)20 用户需求不包括多场地和组织的要求1 设计中考虑了多场地的要求,但是设计要求应用在不同的场地使用相同的软硬件环境2 设计中考虑了多场地的要求,但是设计要求应用在不同的场地使用类似的软硬件环境3 设计中考虑了多场地的要求,设计支持应用在不同的场地使用不同的软硬件环境4 在1 或者2 的要求之上,提供了多场地的文档和支持计划并进行了测试5 在3 的要求之上,提供了多场地的文档和支持计划并进行了测试13.可扩展性(Facilitate change)5『根据需求分析说明书,本系统的拓展性需要第5项的要求』-提供弹性的查询/报告功能以支持简单的请求。例如:对一个ILF 进行的与/或逻辑-提供弹性的查询/报告功能以支持中等复杂度的请求。例如:对多个ILF进行的与/或逻辑-提供弹性的查询/报告功能以支持复杂的请求。例如:对多个ILF 进行的与/或逻辑的组合-用表来保存业务控制数据,用户使用在线的互动手段对这些数据进行维护,但是维护在下一个交易日才能生效-用表来保存业务控制数据,用户使用在线的互动手段对这些数据进行维护,维护的结果即时生效0 没有以上的项1 有1 项2 有2 项3 有3 项4 有4 项5 有5 项14.分布式数据处理(Distributed functions)40 应用不支持组件之间的数据传输和处理功能1 应用为用户可能进行的处理准备数据(例如用户使用电子表格或者数据库应用进行的处理)2 应用准备了用于传输的数据,数据被传输并且被系统的其他组件所处理(不同于用户的处理)3 分布式的数据传输和处理是在线的,但只是单向的4 分布式的数据传输和处理是在线的,而且是双向的5 处理功能是由系统中最恰当的组件动态地执行的设Ei为根据14个方面的调节参数对软件系统的影响程度,从没有影响到要求极高,给出的一个0-5之间的数。则功能点技术复杂度因子为:
, Ei∈(0,5)则TCF∈(0.65,1.35)五、计算调节后的功能点数FP最后得出经调节后功能点数FP=UFC*TCF。附录二:软件人员月人工费用计算方法软件开发成本应反映软件项目在开发过程中所耗费的各项费用,包括从设计阶段到测试完毕交付用户使用之间所发生的工资费、材料费、外协费、试验费、固定资产使用费、交通费、管理费等。一般用月人工费用作为度量指标。软件人员月人工费用是指一个软件人员工作一个月平均需要的所有成本开销(包括工资、奖金、福利、办公成本、国家各种税费、管理费用等等)及软件企业合理利润的总和。主要包括以下方面因素:一、平均工资:指软件企业需要支付给员工的平均工资,设该值为B。二、奖金及各项物质奖励:指企业支付给企业的奖金及过年过节的一些物质奖励和基本福利。根据经验及广东省软件行业情况,该项成本约为20%*B。三、福利待遇:按照国家政策的缴费基数缴纳的职工福利,其中公积金8%到20%,医疗保险金12%,养老金22%,失业金2%(即通常所说的四金),另外还有按工资总额计征的工伤保证金0.5%,生育保证金0.5%,残疾基金1.6%,工会基金2%,累计为47.6%。故该项成本为47.6%*B。四、办公成本:包括办公场地租赁费、水电费、差旅费、企业为项目顺利运作所支付的其他费用等各项。根据经验及研究,该项支出约占企业员工成本的三分之一,即该项成本为B/3.五、人力资源储备费:企业人员流动、人员储备及人员的学习、培养、知识更新,不能创造价值但需要支付成本,该项成本为20%*B。六、基础设施建设、设备的购置、折旧费等,该项成本约为15%*B。七、国家税收和企业利润,根据经验和统计数据,约占企业员工成本的三分之一,故该项成本约为B/3。八、管理费用:包括公司管理层,部门管理层,人力资源、行政、财务等人员的费用分摊。根据经验和行业通常计算方法,每十个软件人员配备两个管理人员,则管理费用计取的比例为前面七项总和的20%。综合以上因素。可得出软件人员月人工费用为:软件人员月人工费用= (工资+奖金+福利+办公成本+资源储备+基础建设+税收利润)*(1 + 管理费用百分比)= (B+0.476*B+0.20*B+B/3+0.20*B+0.15*B+B/3)*1.2= 3.23*B平均工资B根据地方经济发展及软件行业发展水平每年会有所区别。可由软件行业协会根据软件行业统计数据和地方经济发布数据,得出全省主要地市的平均值并予以发布。PA19错误!未定义书签。