目录
1.ILF, EIF, EI ,EO ,EQ介绍
1.1 ILF
ILF: 一整个大模块
例如:美妆模块功能包含增删改查功能 美妆模块则为ILF
1.2 EIF
EIF:外部接口获取
1.3 EI
EI: 数据维护 增删改恢复 (不包含查询)
1.4 EO
EO:统计分析 以及 计算得到的结果
例如: 统计分析,计算营业额,环比,同比 ,登陆,密码验证登,定位,标注
1.5 EQ
EQ:查询列表
1.6 固定报价值
有些ILF =7 EIF=5 EI=4 EO=5 EQ=4 是个固定值
有些是需要根据实体和参数 进行计算得出的,看下图
2.基于功能点估算法的软件造价计算模型汇报
2.1概述
功能点分析法FPA(FunctionPoingtAnalysis)是由IBM的工程师Allan JAlbrecht于20世纪70 年代末提出的,是一种与程序语言无关,能够有效衡量软件规模的方法。
NESMA(Netherland Software Measurement Association,荷兰软件度量协会)功能点估算方法是JAlbrecht功能点分析理论的理论发展和细化。
2003年,NESMA功能点估算法升级为ISO/IEC国际标准(ISO/IEC 24570:2005),目前版本是ISO/IEC 24570:2018。
2016年,我国电子行业标准 《软件工程 功能规模测量NESMA方法》(SJ/T 11619-2016)正式发布。该标准等效采用国际标准《软件工程—NESMA功能规模测量方法版本2.1—使用功能点分析的定义和统计准则》(ISO/IEC 24570:2005)。
网信科技通过与行业软件造价公司-中联国际评估咨询有限公司的沟通学习,经过公司申请CMMI5评估的实践论证,以中国软件行业协会造价分会发布的《中国软件行业基准数据报告202109》为参考,以及股份公司有关文件精神指导下,形成了网信科技软件造价的建议模型。
2.2 软件造价计算模型
参考国家标准《软件工程 软件开发成本度量规范》(GB/T 36964:2018)中定义的软件研发成本计算模型,采用方程法来确定软件研发项目的工作量和成本,形成网信软件造价的建议模型如下所示:
软件研发成本 = (软件规模[功能点数]×生产率)×调整因子[累乘]×人力单价
2.3 估算过程解析
2.3.1 软件规模(功能点数)估算
国际标准《软件工程—NESMA功能规模测量方法版本2.1—使用功能点分析的定义和统计准则》(ISO/IEC 24570:2018)中提供了三种类型的功能点估算方法:
(1)指示法:一般用于计划阶段,因为此阶段需求文件多不完善,故而只需关注逻辑文件(ILF EIF)即可。
UFP = 35×ILF + 15×EIF
注:35、15数据来源于ISO/IEC 24570:2018
估算步骤:
(2)估算法:一般用于执行阶段,此时需求文件较为完善,故需要关注逻辑文件和相应的操作(EI、EO、EQ),不考虑复杂度,使用均值进行估算。
UFP= 7×ILF + 5×EIF + 4×EI + 5×EO + 4×EQ
注:7、5、4、5、4数据来源于ISO/IEC 24570:2018
估算步骤:
(3)详细法:主要用于事后评估阶段,此时功能需求非常详细,可关注逻辑文件、相应操作和复杂度。
UFP=Σ(UFP)
详细法也是网信科技采用的主要评估方法。
估算步骤:
2.3.1.1 ILF和ELF复杂度计算矩阵
DET/FTR | 1-19个DET | 20-50个DET | 多于50个DET |
1个FTR | 低 | 低 | 中 |
2-5个FTR | 低 | 中 | 高 |
大于5个FTR | 中 | 高 | 高 |
2.3.1.2 EI复杂度计算矩阵
DET/FTR | 1-4个DET | 5-15个DET | 多于16个DET |
0-1个FTR | 低 | 低 | 中 |
2个FTR | 低 | 中 | 高 |
大于2个FTR | 中 | 高 | 高 |
2.3.1.3 EO和EQ复杂度计算矩阵
DET/FTR | 1-5个DET | 6-19个DET | 多于20个DET |
0-1个FTR | 低 | 低 | 中 |
2-3个FTR | 低 | 中 | 高 |
大于4个FTR | 中 | 高 | 高 |
2.3.1.4 不同功能类型复杂度对应功能点
类型/复杂度 | ILF | ELF | EI | EO | EQ |
低 | 7 | 5 | 3 | 4 | 3 |
中 | 10 | 7 | 4 | 5 | 4 |
高 | 15 | 10 | 6 | 7 | 6 |
2.3.1.5 单位描述
- UFP : 未调整的功能点数,单位为功能点;
- ILF : 内部逻辑文件数量,单位为个;
- EIF : 外部接口文件数量,单位为个;
- EI : 外部输入数量,单位为个;
- EO : 外部输出数量,单位为个;
- EQ : 外部查询数量,单位为个。
2.3.2 识别调整因子
以下数据主要来源于《中国软件行业基准数据报告202109》。
2.3.2.1 需求变更调整因子
估算阶段 | 取值 |
预算(可行性研究报告) | 1.85 |
立项(立项报告、用户需求说明书) | 1.50 |
招标/投标(用户需求说明书) | 1.25 |
项目计划/需求(软件需求说明书) | 1.10 |
设计(软件设计方案) | 1.00 |
2.3.2.2 软件因素调整因子
包含:业务领域调整因子,应用类型调整因子,质量特性调整因子。
业务领域调整因子
业务领域 | 取值 |
政府(OA类) | 0.83 |
政府(电子政务类) | 1.11 |
金融 | 1.62 |
电信 | 1.54 |
能源 | 1.02 |
交通 | 1.01 |
制造 | 1.25 |
其他 | 1.00 |
应用类型调整因子
应用类型 | 范围 | 取值 |
业务处理 | 办公系统OA,人事、会计、工资、销售等经营管理及业务处理用软件 | 1.0 |
科学计算 | 科学计算、模拟、统计、大数据分析等 | 1.2 |
多媒体 | 图形、影像、声音等多媒体应用领域;地理信息系统;教育和娱乐应用等 | 1.3 |
智能信息 | 自然语言处理、人工智能、专家系统、预测模型等 | 1.7 |
系统 | 操作系统、数据库系统、集成开发环境、自动化开发/设计工具等 | 1.7 |
通信控制 | 通信协议、仿真、交换机软件、全球定位系统等 | 1.9 |
流程控制 | 生产管理、仪器控制、机器人控制、实时控制、嵌入式软件等 | 2.0 |
质量特性调整因子
质量要求 | 说明 | 取值 |
分布式处理 | 此应用能够在各组成要素之间传输数据 | 各因子根据质量需求取值-1、0、1,最终取值=1+0.025*(各因子之和) |
性能 | 要用户对应答时间或处理率的需求水平 | |
可靠性 | 发生障碍时引起的影响程度 | |
跨平台/设备 | 开发能够支持不同硬件和软件环境的软件 | |
安全性 | 应用系统所采用的保障系统安全的相关要求 | |
应用云化 | 应用云化部署主要是体现系统部署方式和提供应用服务的状态 |
2.3.2.3开发因素调整因子
包含开发语言调整因子,开发团队背景调整因子。
开发语言调整因子
开发语言 | 取值 |
C及其他同级别语言/平台 | 1.5 |
JAVA,C++,C#及其他同级别语言/平台 | 1.0 |
Python及其他同级别语言/平台 | 0.8 |
PowerBuilder、ASP 及其他同级别语言/平台 | 0.6 |
开发团队背景调整因子
团队经验 | 取值 |
有同行业类似项目经验 | 0.8-0.9 |
有其他行业类似项目经验或本行业相关项目的经验 | 1.0 |
无同类项目经验 | 1.1-1.2 |
2.3.2.4 能力成熟度调整因子
能力成熟度集成模型 | 取值 |
无 | 0.8 |
CMMI 3 | 1.0 |
CMMI 4 | 1.1 |
CMMI 5 | 1.2 |
2.3.3 全行业生产率
生产率(单位:人时/功能点) | ||||
P10 | P25 | P50 | P75 | P90 |
2.26 | 4.13 | 7.16 | 12.68 | 18.95 |
P50为行业平均生产率,代表每开发一个功能点需要7.16个人时
2.3.4 复用度
软件研发过程中一般存在一定的复用,考虑到复用会对造价产生一定影响,该情况一般行业建议有两种方式处理。
(1)如果评估功能点的过程中直接可识别复用点,且复用比例不存在普遍性,可在原功能点数上进行复用度缩减,即当前功能点数*复用系数。复用系数为:1([低]基本不存在复用)、0.67([中]存在一定比例复用)、0.33([高]存在大比例复用)。
(2)如果存在一个模块或者子系统复用情况比较多的情形下,可以把该部分统一拿出来单独处理,不再考虑功能点复用系数,评估完成后对此部分的生产率根据复用情况给与一定比例折扣。