当前位置:文档之家› 定制开发软件费造价评估方法

定制开发软件费造价评估方法

1.版本维护2.依据此文依据重庆市首席信息官(CIO)协会2019年5月初版的《软件及信息化工程造价理论与实践培训讲义》编制,版权所有,请在有限范围内外传。

3.范围此费用范围从立项完成到项目竣工之间的费用。

排除:可行性分析、数据迁移、软件维护、与其他项目集成、三方测评、应用示范推广等。

4.软件开发费用计算方法一公式:软件开发费用=软件开发成本+利润说明:软件开发成本=直接人力成本+间接人力成本+直接非人力成本+间接非人力成本。

适用范围:适用于软件开发组织内部核算项目成本及利润的情形。

方法二公式:软件开发费用=功能规模(数量)* 功能点单价适用范围:适用于已经确定了功能点及单价的软件开发项目方法三公式:软件开发费用=工作量*人月单价说明:工作量因素有功能规模、功能点耗时率、调整因子、复用度等人月单价=人月工资*人月系数人月工资:根据所在地统计部门或上一级统计部门公布的“信息传输、软件和信息技术服务业”专业技术人员平均工资计算出的人月工资。

人月系数:根据所在地官方部门或行业组织发布的为准,若所在地未发布,参考国家级官方或者行业组织帆布的基准,特殊情况下可由委托方根据R (E/C或U/C)原则确定人月系数=人月工资系数+企业管理费系数+规费系数+利润系数综上得:人月单价=人月工资(B)*人月系数(人月工资系数+企业管理费系数+规费系数+利润系数)=B*(1+0.45~0.50+0.39~0.45+0.425)=2.265B~2.375B软件开发费用=工作量*2.265B(此处取最小值)适用范围:建议政府投资信息化项目宜采用此方法。

5.功能规模计算说明4.1依据度量依据《软件工程软件开发成本度量规范》 GB/T 36964-2018《信息化项目软件开发费用测算指南》渝 CIO协会度量方法依据《软件工程功能规模测量 IFPUG方法 ISO/IEC 20926:2009》《软件工程功能规模测量 NESMA方法 SJ/T 11619-2016》《软件工程功能规模测量 COSMIC方法 SJ/T11617-2016》《软件工程功能规模测量 MKII功能点分析方法 SJ/T 11618-2016》《软件工程功能规模测量 FiSMA1.1方法 SJ/T 11620-2016》建议使用IFPUG方法和NESMA方法。

4.2度量过程说明流程:确定计数范围和边界识别功能用户需求外部输入EI 外部输出EO外部查询EQ应用A文件文件文件文件内部逻辑文件ILF外部接口文件EIF数据功能、外部输出(EO)、外部查询(4.3度量过程功能点识别表例:(1)类别说明(2)步骤1)模块划分2)模块操作类型、逻辑实体(包括内部逻辑文件、外部接口文件)识别。

3)计算UFP(实际统计数,未经复杂度、复用度调整)---概算、预算阶段到此步骤直接转到8)计算公式:UFP=10*ILF+7*EIF+4*EI+5*EO+4*EQ4)确定数据功能ILF或EIF的复杂性5)复用度计算(根据复杂度计算,复用度是系统整体的判定)1)复用度由复杂度决定,并成反比,如复杂度越高,复用度越低;2)数据功能复杂度由DET和RET决定,事务功能复杂度由DET和FTR决定;3)复用度取值为低,需要满足:复杂度为高的ILF、EIF、EI、EO、EQ 数量分别占全部ILF的数量都 >= 2/3。

4)复用度取值为高,需要满足:复杂度为高的ILF、EIF、EI、EO、EQ 数量分别占全部ILF的数量都 < 1/3。

5)不满足取值为高或低的情形,其复用度都定为中。

8)根据样例表2计算出软件开发费用4.4定制开发软件费用计算样例表样例表1例如本次识别出ILF 15个、EIF 6个、EI 45个、EO 15个、EQ 15个,切样例表2数据解释:(1) P25、P50、P75:中国软件行业基准数据,P25=4.26小时/功能点,P50=7.12小时/功能点,P75=12.41小时/功能点;(2)软件规模变更因子(CF)及功能点数计算(4)质量特性调整因子(QR)4.5关键点(1)确定计数类型;计数类型有:开发项目功能点计数、升级项目功能点计数、应用功能点计数(2)识别系统边界;系统和用户之间分界,这里可以用用例图展现梳理。

这里做简单的用例图包含关系说明:例如:业务中,总是存在着维护某某信息的功能,我们可以称之为用户管理模块,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。

这时包含关系可以用来理清关系。

(3)识别功能点计数项此步骤就是需要识别出ILF、EIF、EI、EO、EQ。

增删改涉及到用户输入,所以定义为EI;查询涉及到用户输入输出,所以定义为EQ;如果查询是有一个加工后的输出,则定义为EO;增删改查指向的对象可以定义为ILF;如果是一个向外输出实体或逻辑数据集,独立于系统之外,则定义为EIF。

(4)识别逻辑文件(ILF)数据的分类:1)业务数据:用户的核心数据、业务的对象,用户可识别可维护(业务用户),通常有多个属性,如员工信息、部门信息、学生信息、教师信息、贷款信息等数据属性逻辑集合。

2)引用数据:维护业务数据的业务规则,用户可识别可维护(管理员),稳定且属性少,如性别、血型、职业。

3)编码数据:数据存储方式,一遍业务流程能标准化、简易化。

如学号的代码、课程编码,它不是业务对象,是非业务需求。

它可以被替换而不改变业务数据含义。

这里的逻辑文件是业务数据或引用范畴,有业务需求的用户能明显感知用途差异(员工信息与报文信息)识别步骤:1)发现数据2)找到潜在逻辑文件(剔除编码数据)3)确定是否有逻辑差异或依赖关系4)感知逻辑差异5)识别独立实体6)只存在逻辑差异不存在依赖关系7)在本系统维护为ILF,不在本系统维护则为EIF8)区分逻辑文件与物理文件,逻辑文件是例如会议信息、人员信息、单位信息等逻辑上的业务数据集合,物理文件是例如数据库表、软件页面、物理文件(doc、Excel表)、注册表等,功能点方法只关注逻辑文件。

(5)识别外部接口文件(EIF)EIF是与本系统相关的一个系统之外的文件,而且是逻辑上的维护,如上文提到的工资表。

(6)梳理业务流程业务流程是实体到实体的关系,实体间使用动词的操作类关联,实体即为提炼的ILF和EIF、以及物理文件等。

(7)EI识别:对内部逻辑文件增删改(外部输入,输入+存储)从外部接口中读取并存储到内部逻辑文件中(如excel导入)接受某个控制信号并改变系统行为(如开启防火墙、启动端口监听)若只有输入无存储,则不算EI(8)EO识别方法(外部输出):在基本操作过程中至少包含一个数学公式或计算(查询+计算)在基本操作过程中要产生派生数据在基本操作过程中至少要维护一个ILF在基本操作过程中要改变系统的行为(9)EQ识别方法(外部查询):基本操作过程从ILF或者EIF中获取数据基本操作过程不能包含数学公式或计算(简单查询)基本操作过程不能派生出数据基本操作过程不能维护任何一个ILF基本操作过程不能改变系统的行为(10)识别实体注意事项1)基本注意事项几个实体同时被创建、删除,则应该作为一个数据功能,比如:订单:订单头、订单项订单头:客户名称、地址、日期订单项:商品名称、数据、价格如果订单被删除,订单头、订单项也会被同时删除,所以此处把订单算为一个数据实体,而订单头、订单项不算2)实体依赖性问题实体独立:指即使没有其他实体支持,该实体对业务也有意义;实体依赖:指如果没有其他实体支持,该实体对业务无任何意义。

举例:员工:姓名、工号、孩子名字、、、、、、这里孩子算为一个实体,但离开了与员工的关系独立存在,跟业务毫无关系,所以孩子不能算为一个数据实体。

3)关联实体ER图里面有关联实体的概念,是指进一步描述两个实体之间多对多的实体类型,此类关联实体不能算为数据功能。

举例:订单:订单编号产品:产品编号关联实体提炼:订单-产品:订单编号、产品编号、时间戳订单-产品是关联实体,因为考虑技术实现,增加了时间戳属性,该实体在识别数据功能是应该排除在外。

然后把订单编号作为产品的一个属性、把产品编号作为订单的一个属性。

结果为:订单:订单编号、产品编号产品:产品编号、订单编号5.识别EI、EI、EQ、ILF、EIF例子ILF、EIF:解答:ILF:员工信息、部门信息(一个内部实体或逻辑数据集,名词)EIF:工资表(一个向外输出实体或逻辑数据集,名词)EI:添加员工信息、修改员工信息、删除员工信息、添加部门信息...(外部输入,增、删、改,是一个操作类型,动词)EO:统计员工年薪(外部输出,查询+计算,统计、计算展示或输出表格,是一个操作类型的输出逻辑数据集,动词)EQ: 查询员工信息、查询部门信息(外部查询,简单查询不包含计算,界面展示,是一个操作类型,动词)。

相关主题