基于改进FPA的软件规模估算方法

合集下载

基于FPA的软件工作量综合评估研究与实践

基于FPA的软件工作量综合评估研究与实践

基于FPA的软件工作量综合评估研究与实践摘要:在软件工程监理项目中如何对软件开发系统进行工作量评估,如何在实施过程中对承建单位已完成的工作量进行审核是实施信息化项目的难题。

本文在分析专家经验评估法、FPA功能点分析法等方法的基础上,给出了一种方法基于软件系统工作量估算法的融合,基于FPA评估法与专家经验估算相结合,综合评估软件系统工作量,并将该方法实践于多个项目中,结果得到了用户的认可,表明了综合评估方法的有效性和可操作性。

关键字:FPA;软件工作量评估;软件监理。

1.引言随着信息技术的快速发展和应用领域的扩大深入,软件工作量及成本投资评估方法的研究正在成为当前及未开项目管理研究的热点之一。

目前很多信息化工程建设单位对于所建设项目的工作量,预投资成本如何估算;承建单位针对项目建设的报价是否合理;采用什么方法可以科学地对项目建设的规模进行度量,始终是IT项目管理研究的一个方向。

功能点分析方法(Function Point Analysis,FPA)是一种可靠、有效的软件规模度量方法,最早出现在1979年的IBM应用开发会议期刊,目前已经发展为IFPUG、MarkII等多种方法,并且成为多种新型规模度量方法的基础。

功能点分析方法作为一种理解和交流系统规模的手段,针对用户功能、性能的需求进行度量,具有可在项目早期进行度量,不依赖于项目的语言和技术等特点,在可用性和客观性方面都要优于传统的代码行方法(LOC)。

信息工程项目建设中作为第三方的监理机构经常需要解决一些问题,如项目建设初期在用户需求不是很完善时,业主方需要了解项目的整体规模及合理项目建设进度;或者立项阶段需要了解项目的总体投资额;项目建设期间,建设、承建单位均需要监理机构能够客观地对其完成的工作量进行审核与评估,确保其应得利益。

当前,软件系统工作量评估的方法有:专家估算法,组织多名专家通过的系统建设情况的理解与建设方的答疑,依靠其经验对项目的规模进行评估,博采众长。

简述要素计点法的实施步骤

简述要素计点法的实施步骤

简述要素计点法的实施步骤1. 引言要素计点法(Function Point Analysis, FPA)是一种软件规模度量方法,它基于软件的功能需求和功能特性,通过对软件功能进行定量评估来度量软件规模。

要素计点法是一种相对较为客观和精确的软件度量方法,被广泛应用于软件项目的规模估算、成本估算等方面。

2. 要素计点法的原理要素计点法的核心思想是将软件的功能划分为独立的功能要素,通过给各个要素赋予相应的权重和度量值,最终得到软件的功能点数。

要素计点法的计算公式为:功能点 = UFP × TCF × ECF,其中,UFP(Unadjusted Function Point)表示未调整功能点,是根据软件需求文档中的功能要素进行计算的;TCF(Technical Complexity Factor)表示技术复杂度调整因子,根据软件的技术要求和约束进行调整;ECF(Environmental Complexity Factor)表示环境复杂度调整因子,根据软件开发环境的复杂程度进行调整。

3. 实施步骤步骤一:定义计算范围确定要使用要素计点法的软件项目,明确计算的范围和目标。

步骤二:收集需求文档收集软件项目的需求文档,包括功能需求、性能需求、安全需求等。

需求文档是计算要素计点的基础,通过对需求文档的分析,可以识别出软件中各个功能要素。

步骤三:确定功能要素根据需求文档,识别出软件中的各个功能要素,如数据输入、数据输出、数据查询等。

功能要素应该是独立且可衡量的,即每个功能要素都应该能够单独计算功能点。

步骤四:评估功能要素对每个功能要素进行评估,根据功能要素的复杂程度、技术要求等因素给予相应的权重和度量值。

评估功能要素时,可以使用预定义的评估表格或者专门的评估工具。

步骤五:计算UFP根据评估结果,计算未调整功能点(UFP)。

每个功能要素都有相应的权重和度量值,将它们相乘并累加,即可得到UFP。

步骤六:确定调整因子根据软件项目的技术复杂度和环境复杂度,确定相应的调整因子(TCF和ECF)。

fpa估算法调整因子

fpa估算法调整因子

fpa估算法调整因子
FPA(功能点分析)估算法是一种软件开发项目中常用的成本估算方法,它通过对软件功能点的分析来估算软件开发的工作量。

而调整因子是FPA估算法中的一个重要概念,用于根据项目的特定情况对功能点进行调整,以更准确地估算工作量和成本。

调整因子通常包括技术复杂性、性能要求、可靠性要求、数据通信、分布式处理、操作环境、与其他应用软件的交互、重用、可维护性、并发性、在线数据输入、交易处理、在线更新、复杂的业务逻辑等方面的因素。

这些因素会影响软件开发过程中的工作量和成本,因此需要对功能点进行相应的调整。

在实际应用中,调整因子的确定需要结合项目的具体情况进行分析和评估。

通常可以通过专家评估、历史数据分析、类似项目的经验等方法来确定各个调整因子的权重和影响程度,然后将这些权重应用到功能点的估算中,从而得到更准确的工作量和成本估算结果。

总的来说,调整因子在FPA估算法中起着至关重要的作用,它能够帮助项目管理者更准确地估算软件开发项目的工作量和成本,
从而更好地进行资源分配和进度控制。

因此,在实际项目中,合理而准确地确定和应用调整因子是非常重要的。

基于Neural—FPA的装备软件研发工作量估算研究

基于Neural—FPA的装备软件研发工作量估算研究
凝 聚在 研 发 阶段 因此 如 何 科 学度 量装 备 软 件 的规 模 和 研 发 工 作 量 。 定 价 找 到 合理 依 据 , 目前 装 备 价 格 管 理 部 门 为适 应 信 为 是
息化 趋 势 所 迫切 要 进 行 的 工 作 文 中探 讨 了如何 利 用 Ne r — P 模 型 进 行 这 一 工作 。 ua F A l
i es n be f d a ra o a l n me h d o d l t a u e t e sz n w r la f e u p n ot r i a r e t ts fr p c xn t o r mo e o me s r h ie a d o k o d o q ime t s f wa e s n u g n a k o r e f i g i i
0 引言
随 着 装 备 大 . 军 事 装 备 领域 得 到 了广 泛 的 应 用 。 在 这也 给
件成本估计 中 这 是 因为 . 软件 成 本 开 发 的 规律 比较 复 杂 . 果 让 这 些 因素 都作 为 神 经 网络 的 输 人 . 么就 会 如 那 使 神 经 网络 的 输 人 太 多 . 于输 人 太 多 的 网络 结 构 . 对 对 网络 的训 练 的复 杂 度 就 会 大 大 增 加 . 比如 会 需 要 大 量 的训 练 样 本 . 在 成 本 估 计 过 程 实 践 中 . 本 数 据 的不 而 样 足 是 一 直 存 在 并 且 现 在 都 没 有 解 决 的 问 题 。这 些 数 据
Ab t a t Th a u o mig p o e s o q i me ts f r a tb x li e y t d t n lMa xs V l e T e r .B c u e sr c : e v l e fr n r c s fe u p n ot e c n’ e e p an d b r i o a r i wa a i m a u h o y e a s

基于FPA的软件工程量评估方法及应用

基于FPA的软件工程量评估方法及应用


要:
关键 词 :
阐述电信应用软件工程评估软件 开发 工作 量的背景 , 介绍 了 F P A功 能点 分析 方法 的 电信应用软件工程 ; F P A; 功能点分析法 ;
特点 , 描述 了在 实际工程 应用 中的 F P A功能点 分析 法评估 流程 , 强调 了 “ 用户可 识 中图 分 类 号 : T P 3 1 7
Zh a o Di n g ’ , Ch en Ya f e n g ( 1 . He n a n Ce r t i f i c a t e A u t h o r i t y , Z h e n g z h o u 4 5 0 0 0 8, Ch i n a ; 2 . Ch i n a I n f o r ma t i o n T e c h n o l o g y De s i g n i n g& Co n - s u i t i n g I n s t i t u t e C o . , L t d . , Z h e n g z h o u 4 5 0 0 0 7, Ch i n a )
别” 概念在 F P A功 能 点 分 析 法 中 的重 要 意义 。 分 析 了 基 于 F P A方 法在 电信 软 件 工 程 文 献 标 识 码 : A
中建立知识库 、 应用代码行法进行验证 的意 义。对实际工程中评估 工具软件 的需求 文 章 编 号 : 1 0 0 7 — 3 0 4 3 ( 2 0 1 4 ) 1 1 — 0 0 1 4 — 0 4
t i o n
Ke y wo r d s:
T e l e c o m a p p l i c a t i o n s o f t wa r e ; F P A

基于改进功能点法的软件造价评估方法研究与实践

基于改进功能点法的软件造价评估方法研究与实践

当前,国家加快构建新发展格局,大力推进现代化产业体系建设,特别是网络强国和数字中国建设。

各大国有企业面对新形势、新机遇、新挑战,积极开展信息化建设,为企业发展提供充足且有效的信息技术服务和支撑。

软件项目在信息化建设中占有相当大比重,但当前企业普遍存在无法准确评估软件造价的问题,软件项目的工期、成本难以预测,工作量的合理性难以衡量。

因此,如何进行软件项目的量化造价评估成为一个亟待解决的问题。

一、软件造价评估方法经调研,国内软件造价评估相关的国家标准GB/T 36964—2018《软件工程 软件开发成本度量规范》、北京市地方标准DB11/T 1010—2019《信息化项目软件开发费用测算规范》、中国计算机用户协会团体标准T/CCUA 005—2023《软件造价评估实施规程》、北京软件造价联盟团体标准T/基于改进功能点法的软件造价评估方法研究与实践黄李昊 /中国航天科技集团有限公司王龙 /北京神舟航天软件技术股份有限公司殷艳艳 /北京师范大学-香港浸会大学联合国际学院刘振博 /航天工程咨询(北京)有限公司功能点标准方法有IFPUG 、COSMIC 、MARK II 、NESMA 和FiSMA 等5种,上述5种方法适用范围有所不同,比较情况见表1。

经对比,IFPUG 和NESMA 两种方法各方面特性较为均衡,易学易用、快速经济,因此在国际和国内应用较广。

2.工时法工时法通常根据软件开发商的开发实力和过往经验,参考类似项目的数据,采用类比法或专家法,判断每个需求点需要多少工时可以完成,通常由资深的项目经理或销售经理评估确定。

工时法尤其适用于需求极其模糊或不确定的情况,可以根据与项目类似属性(如规模、应用类型、复杂度、开发团队经验等)的一组基准数据,在整个项目级进行类比分析,也可在子系统级上进行类比分析。

工时法的优点是操作比较简单,计算速度快,客户容易理解,但准确度较低,对评估专家或项目经理的要求较高。

3.功能点法与工时法对比功能点法和工时法对比情况见表2。

软件开发FPA功能点评估模型介绍

软件开发FPA功能点评估模型介绍

3
适用对象及特点
《应用功能点法操作规程及实施细则》适用于广东移动所有开发型 系统,包括IT支撑系统、数据业务系统软件开发规模的度量。 业务支撑系统(BSS)
如:BOSS、经分等。具有单个系统投资规模大、业务需求复杂、功能分期更新 的特点。采用功能点分析方法,便于对业务支撑系统各期业务需求的变动情况进 行对比,避免重复性功能的开发。
23
具体操作(1)
操作:
1. 分析处理过程涉及的数据文件(或实体),按下述规则识别数据功能,并将 在《系统功能清单》中做好记录(数据功能名、RET个数、RET备注)。
5、计 算调整 后功能 点数
8
目录
2
功能点方法的使用步骤
功能点计数过程 确定功能点计数类型 识别计数范围及应用系统边界 确定未调整功能点数 确定调整系数值 计算调整后的功能点数
9
确定功能点计数类型
新开发项目
•指从无到有的开发一个系 统。 •新开发项目的功能点计数 度量了项目完成时交付给 用户进行系统初次安装时 的功能。这些功能是新开 发产生的功能,不依赖于 过往项目或者应用系统。
北京邮电大学 服务科学研究所 2020/3/20
目录
1
操作规程及实施细则简介
应用背景与目的
适用对象
适用范围
编制依据
2
功能点方法的使用步骤
3
功能点计数案例实战
2
应用背景与目的
应用软件开发中的窘境
软件投资规模问题 软件投资合理性问题 开发商生产率评定 商务谈判报价的评定 需求变更与成本增加的平衡 外包开发过程的度量 需求描述不清 系统二次开发问题 维护成本问题
功能在本期不予再计数。
识别应 应用系统边界表示被计数系统和用户之间的界限以及计数系统与其他系统的界限。 3 用系统 其中,与用户的界限帮助识别事务处理功能(用USE-CASE图表示),与其他系

fpa标准功能点估算

fpa标准功能点估算

FPA(功能点分析)是一种用来度量软件系统规模的方法,它从用户视角来度量产品规模,不注重产品的内部结构和技术复杂度。

FPA估算模型中,任何一个软件系统都被看作是由五种要素组成,分别是:外部输入处理(EI)、外部查询处理(EQ)、外部输出处理(EO)、内部逻辑文件(ILF)和外部参照文件(ER)。

通过估算系统中这五种要素的个数,并乘以适当的权值(权值即为每个要素的功能点数)就可以计算出系统的功能点数,进而估算出系统的规模。

在FPA中,功能点数可以通过以下步骤来估算:
1.确定系统中的功能区域:首先根据系统的主要功能,将系统划分为若干个功能
区域。

每个功能区域对应一个或多个功能。

2.确定功能区域的规模:每个功能区域的规模可以根据其涉及的数据量、处理的
数据复杂度、用户数量等因素来确定。

3.计算功能区域的功能点数:根据每个功能区域的规模和复杂度,计算出每个功
能区域的功能点数。

4.确定功能区域的权重因子:根据每个功能区域的重要性和复杂度,确定每个功
能区域的权重因子。

5.计算总的功能点数:将每个功能区域的功能点数乘以对应的权重因子,然后将
这些结果相加,就可以得到总的功能点数。

FPA标准是国际功能点用户组(IFPUG)维护和推动的,它不定期发布Counting Practices Manual来统一不同公司和产品的功能点计算模型。

这个模型基于大量已完成项目的分析数据,非常全面和精确。

对于同一个产品,不同的公司,不同的人参照CPM计算出来的功能点数应当是一样的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
终端用户 输入 查询/应答 输出 待估算的软件系统 外部输入处理 外部查询处理 外部输出处理 内部逻 辑文件 外部对象 系统 外部参 照文件
原始功能点数 UFP 不能表现出系统的全部基本特征, 通 常还需要使用 14 个基本特征对软件的功能点进行调整: F1 可 靠的备份和恢复; F2 分布式函数; F3 大量使用的配置; F4 操作简 便性; F5 复杂界面; F6 重用性; F7 多重站点; F8 数据通信; F9 性 能; F10 联机数据输入; F11 在线升级; F12 复杂数据处理; F13 安装 简易性; F14 易于修改性。 FPA 将这些系统特性对软件项目的影响程度分为 6 个级 别: 无影响、 影响很小、 有一定影响、 重要、 比较重要、 很重要, 并相应地赋予数值 0、 1、 2、 3、 4、 5。 调整因子 VAF 根据下式计算:
UFP = å å Zij × Wij
i=1 j=1 5 3
(1)
Zij 表示软件的功能要素; Wij 表示复杂性权值。表 4 给 式中,
1.2
功能点估算的功能要素
FPA 认为任何一个软件都是由外部输入处理、 外部输出处
出了复杂度等级 “低” 、 “中” 、 “高” 对应的功能点数[8]。
表 4 功能点数量与复杂度转换
22
2011, 47 (1)
Computer Engineering and Applications 计算机工程与应用
基于改进 FPA 的软件规模估算方法
付雅芳, 刘晓东, 李延杰 FU Yafang, LIU Xiaodong, LI Yanjie
空军工程大学 工程学院, 西安 710038 Engineering College, Air Force Engineering University, Xi’ an 710038, China FU Yafang, LIU Xiaodong, LI Yanjie.Software size estimation method based on improved puter Engineering and Applications, 2011, 47 (1) : 22-25. Abstract: Software size estimation is the key of entire software program project, and the exact estimation immediately relates to the success of the project.Traditional Function Point Analysis (FPA) has the deficiency of complexity grade analysis. In order to deal with the problem, an improved method for computing complexity weight is proposed.The method analyzes the complexity weight of function component by the fuzzy theory.Firstly, fuzzy logic system for analyzing weight is established.The inputs of fuzzy system are Data Element Types (DET) and Record Element Types (RET) , and the output is the component’ s complexity weight.Then, according to the relationship between complexity and function point, the fuzzy rules are set.By using these fuzzy rules, the complexity weight can be computed.The results of research show that the method can eliminate discontinuity among the different grades and enhance the accuracy of function point estimation. Key words:function point analysis; software size estimation; fuzzy rules; complexity weight 摘 要: 规模度量是软件项目管理的关键, 其度量的准确性直接关系到软件项目的成败。针对传统 FPA 方法中复杂度等级划分
基金项目: 航空科学基金资助课题 (No.20085196011) 。
没法掌握; COCOMOII 模型测算得比较准, 但是参数的取值比 较困难, 因而也不适合客户评价 [5]; FPA 是一种使用功能点为 单位对软件规模进行度量的方法, 其特征是在项目开发初期 就可以利用需求分析模型进行功能点的估算, 不依赖于开发 语言和内部技术实施 [6-7]。但在传统 FPA 方法中, 功能要素复 杂度等级的划分存在一定缺陷, 容易导致估算的结果与实际 情况之间存在较大差异。 针对上述问题, 提出一种改进的 FPA 方法, 该方法利用模 糊理论分析功能要素的复杂性权值, 以此来消除不同复杂度 之间划分不连续的现象, 从而使得功能点的估算结果更加贴 近实际。
1 FPA 估算方法 1.1 功能点方法描述
FPA 是在 20 世纪 70 年代, 为解决 LOC 度量所产生的问题
作者简介: 付雅芳 (1982—) , 女, 博士研究生, 主要研究方向为装备发展战略与管理决策、 装备软件费用分析; 刘晓东 (1965—) , 男, 博士生导师, 主要研 究方向为装备发展战略与管理决策、 装备采办与项目管理; 李延杰 (1985—) , 男, 博士研究生, 主要研究方向为武器装备论证与规划。 收稿日期: 2010-08-16 修回日期: 2010-11-26
不连续性的问题, 提出一种改进的复杂度权值计算方法。该方法利用模糊理论分析功能要素的复杂度, 首先以 DET 和 RET 作为 输入变量, 以复杂度权值作为输出变量, 建立模糊推理系统; 然后根据 FPA 中复杂度和功能点数量的转换关系, 设置模糊推理规 则, 并利用该规则确定复杂度权值。研究结果表明, 这种模糊推理的方法可以消除不同复杂度等级之间的断层, 从而使软件功能 点的估算结果更加准确。 关键词: 功能点分析; 软件规模估算; 模糊规则; 复杂性权值 DOI: 10.3778/j.issn.1002-8331.2011.01.007 文章编号: 1002-8331 (2011) 01-0022-04 文献标识码: A 中图分类号: TP311
2011, 47 (1)
23
种文件, 可以是 ILF 或 EIF。 对软件项目来说, 复杂程度与文件数和项目数成正比。 各功能要素的复杂度矩阵见表 1~3 所示。
1.4
功能点计算
功能点估算方法的关键是准确估计应用程序的功能点 数。程序中的功能点数目可以通过分析功能对象的数量和复 杂度得到。软件的原始功能点为[8]:
规模估算是软件工程的关键, 准确的估算不仅可以促进 开发资源合理的分配, 而且直接关系到整个软件项目开发的 成败 [1-2]。对于软件来说, 它是无形的、 不可见的、 难处理的。 要对其规模进行估算, 存在着一定困难。一方面, 软件本身在 编写过程中会根据功能需求的内容而不断发生变化; 另一方 面, 软件项目规模容易受到诸多因素的影响, 例如人员、 技术、 环境、 策略等。这些原因导致了在软件开发早期阶段, 很难进 行准确的软件规模估算。然而没有合理、 准确的规模估算, 就 无法很好地进行软件项目管理。 为了能在项目开发的早期阶段对整个软件规模有一个总 体的把握和了解, 学术界和工业界提出了许多规模估算方法, 目前常用的有[3-4]: 专家法、 代码行 (LOC) 、 COCOMOII 模型、 功 能点分析 (FPA) 等。这些方法各有优缺点: 专家法最简单易 行, 但误差最大, 不适合开发商使用; 代码行由于与开发语言 有关, 且误差也较大, 对有经验的开发商有利, 但对客户来说
付雅芳, 刘晓东, 李延杰: 基于改进 FPA 的软件规模估算方法 和局限性而研究发布的, 随后被国际功能点用户协会 (the International Function Point Users ’ Group, IFPUG) 提出的 IFPUG 方法所继承, 在国际软件行业范围内得到广泛推崇和 一致接受, 并从单纯的规模度量发展到倾向于软件工程整个 生命周期中的应用。 功能点方法是一种理想的软件规模度量方法, 它主要根 据系统的复杂性和系统的特性来度量系统的规模。由于不依 赖于项目开发的语言, 度量出来的结果可以在不同的开发过 程间进行比较, 因而适用于确定软件开发项目或已安装软件 的规模[7]。目前该方法主要用于早期的软件规模估算。
VAF = 0.65 + 0.01å Fi , VAF Î[0.65 1.35]
i=1 14
(2)
图1
FPA 方法的功能要素
1.3
功能要素的复杂度
各功能要素的复杂度分为: 低 (low) 、 平均 (average) 和高
(high) 三种, 它们根据记录单元类型 RET、 文件引用类型 FTR 和数据单元类型 DET 来确定[9]。 DET 是指用户可识别的无递归、 不重复的信息单元, 可以 认为是一个数据元素、 一个变量或一个字段。DET 是动态的, 而非静态的, 可以读自于文件, 或由 FTR 的数据单元创建。 RET 是指在 ILF 或 EIF 中, 用户可识别的数据集的子集, 可以 通过检查数据中的各种逻辑分组来识别它们。它们通常表现 为一种父子关系。FTR 是指在一个事务过程中所引用到的各
功能要素 EI EO EQ ILF ELF 低复杂度 3 4 3 7 5 中复杂度 4 5 4 10 7 高复杂度 6 7 6 15 1] 成[6, 。各功能要素之间的关系如图 1 所示。
相关文档
最新文档