FPA功能点估算系统规模流程概述-威尔金的IT博客,51CTO-51CTO博客

标签: | 发表时间:2020-12-12 18:03 | 作者:
出处:https://blog.51cto.com

有关什么是功能点分析法,为什么要用功能点分析法的内容,请阅读《 FPA笔记一 概述
1.   计算功能点的总体流程

FPA的计算流程比较复杂,主要分为三大步骤:定义分析目标;计算未调整功能点;计算调整功能点。具体图示请参见图一。
 
图表 1 FPA 计算流程
FPA 的主要步骤如下:
1)      决定分析类型和目的:开发项目、升级项目、应用。小特性开发属于应用类型。
2)      识别分析范围和应用边界。
3)      计算未经调整的功能点数UPFC。
(1) 列出系统的所有功能,包括数据功能和处理功能。
(2) 计算每一个功能的功能点。
                                    i.              识别该功能的类型:ILF、EIF、EI、EO、EQ。
                                  ii.              统计该功能包含元素的数目。数据功能统计DET和RET;处理功能统计DET和FTR。
                                iii.              根据该功能包含元素的数目,和相应功能类型的复杂度矩阵,确定其复杂度。
                                 iv.              根据相应功能类型的复杂度和功能点对照表,找到改功能的功能点数。
(3) 统计所有功能的功能点总和。
4)      确定调整系数。根据14个GSC确定VAF。
5)      计算调整后的功能点:AFP = UPFC * VAF
 
 

1.1.  
 
Determine Type of Count
Identify Counting Scope and Application Boundary
Count Data Functions
Count Transactional Functions
Determine Unadjusted Function Point Count
Determine Value Adjustment Factor
Calculate Adjusted Function Point Count
定义分析类型

FPA可应用于各类软件项目和应用系统。对于不同的项目和系统,FPA计算流程是一样的,但一些具体算法和规则上各有不同。FPA的目的也不尽相同。分析类型有三种:
l  新开发项目 Development Project
估算或度量系统的所有新功能点,包括新增的或系统切换的功能。度量的目的有:
n  定义需求
n  为项目计划提供估算数据:工作量,成本,人员,进度。
n  度量质量。
n  度量生产率。
l  升级项目 Enhancement Project
估算或度量系统中变化的功能点,包括新增,改变,减少和系统切换的功能。
l  应用软件Application
官方定义是度量已安装的应用软件的功能点。Appliction是指已经交付或从第三方获得的软件、软件包。小软件工具的开发也可算作应用类型。每次新开发项目完成后,都应当把交付的系统按应用软件度量一次。度量应用软件的目的有:
l  作为升级项目的基线。
l  度量软件质量
l  确定维护策略
l  确定维护的生产率
三种类型的分析关系如下图所示。
图表 2 项目FPA与应用FPA的关系

1.2.  定义范围边界

FPA是从用户视角和系统见交互的角度来分解功能。只有严格的界定了分析的范围和边界,才能很好的识别和分解功能。基于用户视角定义边界,用户能够理解和描述边界。
l  相关应用之间的边界是由用户看到的不同功能区域划分,而不是由技术考虑来划分。
l  应用之间的初始边界不会因为功能点分析而改变。
定义边界的技巧
l  获得一个系统的流程图,在系统周围画上边框,作为边界。
l  察看数据的维护方式。
l  察看数据的应用范围。
 

2.   计算未调整功能点UFPC

未调整功能点是从具体功能的复杂度计算得到,它包括三个步骤:分解功能,分析功能的复杂度,根据复杂度确定功能点数。

2.1.  识别,分解具体功能

所有系统的具体功能都可分为两种:数据功能和处理功能。正确识别出数据功能和处理功能的数目是FPA的关键。
l  数据功能:指为满足用户数据需求而提供的功能。它以文件为单位计数。文件分为两类:ILF和EIF。
n  内部逻辑文件ILF :系统内部维护的文件,如系统创建和更新的文件。
n  外部接口文件EIF :被目标系统应用,但由外部系统维护的文件。
l  处理功能:指为满足用户通过系统处理数据或控制信息而提供的功能。它以 处理元为单位计数。处理必然是发生在系统边界内外的一个交互过程,可分为三种:EI,EO和EQ。
n  外部输入EI :指处理来自系统外的文件的处理元。它的基本目的是维护一个或多个ILF,或者改变系统的行为。
n  外部输出 EO :指把文件发送到系统外的处理元。他的基本目的是给用户提供处理的结果。EO包含至少一个逻辑处理运算过程。
n  外部查询 EQ :EQ也是指把文件发送到系统外的处理元。它的基本目的是为用户获取指定的信息。EQ部包含逻辑处理运算过程。
请注意,FPA是从用户角度分析系统的。这里的文件和处理元也是从用户角度来定义的,完全与实现技术无关。特被是文件,一定要时刻记住他仅仅是一组数据,与计算机文件没有关系。
l  文件:一组用户可识别的,有逻辑关联的数据或控制信息。它不一定计算机系统实际产生,存储或使用的文件。
l  处理元:对用户有意义的最小活动单元。它与实际程序中的方法,进程和API无关。
 

2.2.  确定具体功能的复杂度

对于具体的文件和处理元,FPA采用三个指标度量其复杂度:RET,DET和FTR。这些指标都是直观的,可计量的。其中文件用RET和DET来度量,处理元用DET和FTR来度量。
l  记录元素类型RET :在一个文件内,一个用户可识别的数据元素组。
l  数据元素类型DET :用户可识别的,不重复的字段。
l  引用文件类型FTR :处理涉及到的文件,包括读取,更新和修改的文件。
FPA给概念术语的名称都比较冗繁。个人感觉把这三个术语中的“类型(Type)”去掉,会更易懂。这里的“类型(Type)”都是强调对相同的东西不能重复计算的。比如同一个ILF中的两个RET都包含同一个DET,只能记为一个DET。

2.3.  数据功能点权重矩阵

对于每一个文件(ILF或EIF),FPA是根据其复杂度来确定其功能点数。复杂度又根据文件所含的DET和RET的数量分为三级:低,中(平均)和高。
表格 1 文件功能点计算矩阵
DET个数
RET个数
1 ~ 19
20 ~50
 >= 50
 
复杂度
ILF 功能点数
EIF功能点数
1
7
5
2 ~ 5
10
7
>= 6
15
10
 

2.4.  处理功能点权重矩阵

同数据功能点类似,处理功能点也是根据三级复杂度确定的。而每个处理元的复杂度根据DET和FTR计算得来。但EI 、EQ和EO三者的计算方法不尽相同。
表格 2 处理元复杂度矩阵
EI复杂度
EQ、EO复杂度
DET个数
RET个数
1 ~ 4
5 ~15
 >=16
DET个数
RET个数
1 ~ 5
6 ~19
 >= 20
1
1
2
2 ~ 3
>= 3
>= 4
从表中可见同样文件作为输入要比输出的复杂度高。
 
表格 3 处理元功能点计算表
复杂度
EI、EQ功能点数
3
4
6
EO功能点数
4
5
7

2.5.  汇总未调整功能点

把系统中所有ILF, EIF,EI,EO,EQ的功能点数汇总,就是系统的总的未调整功能点数UFPC。

3.   计算调整功能点AFP

未调整功能点数是从用户角度计算得出的,完全没有考虑不同系统或不同功能的实现复杂度。FPA通过分析14个通用系统特性(GSC)对系统的影响程度(DI)得出每个系统的功能点值调整因子VAT。最后根据VAF调整功能点数,得出在系统和功能点可类比的调整功能点数。UFP、VAT和AFP三者的关系是:
AFP = UFP * VAT
请注意, 一个系统只有一个VAT,它是所有14个GSC分析汇总的结果。

3.1.  通用系统特性GSC

GSC是由IFPUG统一指定的标准。一共有14种GSC,适用于所有类型的系统和项目。
(1)    数据通讯 (Data Communications)
(2)    分布式数据处理 (Distributed Data Processing)
(3)    性能 (Performance)
(4)    使用强度高的配置 (Heavily Used Configuration)
(5)    事务速度 (Transaction Rate)
(6)    在线数据输入 (Online Data Entry)
(7)    最终用户的效率 (End-User Efficiency)
(8)    在线更新(Online Update)
(9)    复杂的处理 (Complex Processing)
(10)               可重用性 (Reusability)
(11)               安装的简易性 (Installation Ease)
(12)               运行的简易性 (Operational Ease)
(13)               多场地 (Multiple Sites)
(14)               允许变更 (Facilitate Change)
 

3.2.  影响程度DI和TDI

GSC对系统的影响程度分为6级,从0到5。各级定义如下:
0 不存在或者没有影响
1 偶尔的影响
2 轻微的影响
3 中等的影响
4 显著的影响
5 强烈的影响
IFPUG针对每一中GSC,给出了详细的DI等级指南。对于一些实在没有参考等级标准,用户也可以自己定义。
把14种GSC的DI都加起来,就得到系统的总影响程度TDI,即:TDI = ∑(DI)

3.3.  值调整因子VAF

在得出TDI后,VAF按如下公式计算。
VAF = (TDI * 0.01 ) + 0.65。
VAF只能在正负35%的范围调整功能点数。
AFP = UFP * VAT
 

4.   不同项目的调整功能点AFP

4.1.  开发项目功能点

DFP = (UFP + CFP) * VAF
l  DFP: 开发项目功能点。
l  UFP: 项目应用的UFPC。
l  CFP:额外的转换功能的UFPC。
l  VAFA:调整系数。

4.2.  升级项目功能点

EFP = (ADD + CHGA + CFP) * VAFA + DEL * VAFB
l  EFP:升级项目功能点。
l  ADD:升级项目新增UFPC。以升级后项目为基准。
l  CHGA:升级项目改变的UFPC。以升级后项目为基准。
l  CFP:额外的转换功能的UFPC。
l  VAFA:升级后的调整系数。
l  VAFB:升级前的调整系数。
l  DEL:升级项目中删除的UFPC。

4.3.  应用功能点

AFP = ADD * VAF
l  AFP:应用功能点
l  ADD:安装的功能UFPC。
l  VAF:调整系数。

4.4.  升级应用功能点

AFP = [( UFPB + ADD + CHGA) – (CHGB +DEL)] * VAFA
l  AFP:应用功能点
l  ADD:安装的功能UFPC。
l  VAFA:调整系数。
l  UFPB:升级前的UPFC。
l  CHGA:升级后改变的UFPC
l  CHGB:升级前改变的UFPC ?!
 

5.   附录

5.1.  度量功能点的工作量

很多公司不能推行FPA  ,并非主观上认为它没用。其主要原因有二:
1.         没有FPA的专家指导,不知从何做起,如何持续。
2.         迫于项目进度压力,担心FPA带来大量额外的工作量。
这里就推行FPA带来的额外工作量,给出一些参考数据。大多数组织是平均每小时估算出100个功能点。具体如下:
 
项目 / 应用系统的规模
很小
很大
功能点数
5 ~ 20
20 ~ 100
100 ~ 500
500 ~ 10K
10K ~ 100K
C++ 代码行
265 ~ 1K
1K ~ 5K
5K ~ 26K
26K ~ 500K
500K ~ 5M
开发工作量
0.5人天 ~ 1人月
1人月 ~ 10人月
10人月 ~ 72人月
72人月 ~ 200人年
200人年~ 8K人年
FPA 工作量
15分钟 ~ 30分钟
30分钟 ~ 1小时
1小时 ~ 5小时
5小时 ~ 100小时
100小时 ~ 1K小时
 
 

5.2.  推行FPA的建议

应当做的事情
l  得到老板的支持和指导。
l  是度量成为每一个人工作的一部分。
l  安排专人总管和支持度量活动,不一定是全职。
l  培训技术人员和用户。让用户有功能点的概念。
l  关注在项目团队的收益上,不要一上来就资产管理什么的。
l  提供自动化的支持。
l  与组织的过程模式整合。
l  度量的结果应当发布出来,并得到利用。
不应当做的事情
l  不要觉得度量可有可无,或不可达到。
l  不要苛求完美的度量系统和环境。
l  不要依赖不准确的数据。
l  不要用于衡量个人的绩效。

5.3.  术语表

术语
英文
中文
说明
FPA
Function Point Analysis
功能点分析法
 
UFP
Unadjusted Function Point
未调整的功能点
 
AFP
Adjusted Function Point
调整功能点
 
VAF
Value Adjustment Factor
值调整因子
 
ILF
Internal Logic File
内部逻辑文件
 
EIF
External Interface File
外部接口文件
 
EI
External Input
外部输入
 
EO
External Output
外部输出
 
EQ
External Query
外部查询
 
GSC
General System Characteristic
通用系统特征
 
DET
Data Element Types
数据元素类型
 
RET
Record Element Types
记录元素类型
 
FTR
File Type Referenced
引用文件类型
 
DI
Degree of Influence
影响程度
 
TDI
Total Degree of Influence
整体影响程度
 
EP
Elementary Process
处理元
 

相关 [fpa 功能 系统] 推荐:

FPA功能点估算系统规模流程概述-威尔金的IT博客,51CTO-51CTO博客

- -
有关什么是功能点分析法,为什么要用功能点分析法的内容,请阅读《 FPA笔记一 概述》. 1.   计算功能点的总体流程. FPA的计算流程比较复杂,主要分为三大步骤:定义分析目标;计算未调整功能点;计算调整功能点. 1)      决定分析类型和目的:开发项目、升级项目、应用. 2)      识别分析范围和应用边界.

1.5GHz双核 WP系统诺基亚900功能曝光

- Wang Yan - cnBeta.COM
在当前双核智能手机已经渐成主流的背景下,仅凭一部诺基亚800似乎很难与对手抗衡. 于是,一款代号为 “Hydra”的Windows Phone系统手机诺基亚900开始浮出水面. 按照相关传闻,该款手机会配备1.5GHz双核处理器和1200万像素摄像头,将成为诺基亚旗舰级智能机型.

iPhone 4S定位功能加强 支持GLONASS系统

- 洞箫 - cnBeta.COM
感谢bluehost给力促销的投递. 据悉,在苹果官方iPhone 4S网页上,在Location定位一栏已经添加了绝无仅有GLONASS格洛纳斯定位系统,进一步提高iPhone 4S的定位能力. GLONASS格洛纳斯是俄罗斯自己的全球定位系统,是“全球卫星导航系统GLOBAL NAVIGATION SATELLITE SYSTE”的缩写.

信息图:iOS 6操作系统新功能一览

- - 博客 - 伯乐在线
苹果全球开发者大会(WWDC)于太平洋时间6月11日上午10点(北京时间6月12日凌晨1点)在旧金山Moscone West会议中心举行. 苹果在本届全球开发者大会中发布了最新的移动操作系统iOS 6,它拥有超过200项新功能. 以下为iOS 6的新功能:. ·Siri整合了来自雅虎的体育新闻,准许用户能够获得最新的比赛信息.

Android系统中分享功能的实现

- - CSDN博客推荐文章
Intent 英文词义是“意图”,在Android的编程框架里面,是体现“想要做某事”的概念. 它的作用是在Activity之间传递数据,或者说,通过传递数据,达到请求另一Activity执行某种操作的目的. 主要通过设置Action为Intent.Action_Send,设置Type和Extra,Type为MIME类型,Extra为附带的数据.

免费的功能一体化系统优化工具Puran Utilities

- - 软矿
系统优化软件真的越来越多了,如 CCleaner , Ashampoo WinOptimizer, Uniblue PowerSuite和 TuneUp Utilities等不计其数. Puran Utilities 加入系统优化队伍,而且这个小巧的、界面简洁的小工具的功能一点都不容忽视.

微软芒果系统功能有改进 缺杀手级应用

- 洞箫 - cnBeta.COM
据国外媒体报道,测评显示,微软在智能手机领域推出的Windows Phone 7.5操作系统,即“芒果”系统新增了500余项功能,这些功能令人印象深刻,但是仍然缺乏一款“杀手级应用”,而最有希望担当这一角色的应当是微软的Xbox Live游戏服务. 自 从大约一年前推出以来,微软的Windows Phone 7操作系统一直在智能手机市场追赶谷歌Android和苹果iOS.

[总结] 6家移动互联网广告公司系统功能对比

- - 牛国柱
截止到今天,用6周的时间对6家移动广告公司的系统进行了分析和研究,1家是国外的AdMob,5家是国内的力美、多盟、有米、微云和安沃,这5家广告公司应该是国内比较领先的移动广告公司. 对这6家公司广告系统的研究,应该能大概了解国内外移动广告市场技术、业务发展的的大致状况. 至此,对移动广告系统的研究告一段落,不再分析其他公司的系统.

功能对比看当前三大移动生态系统差异性

- - WPDang
自今日凌晨微软在美国正式召开 Windows Phone 8产品发布会后,那些Windows Phone 8 背后的秘密也被逐一揭开. 几乎同时,谷歌也通过其官方博客发布了全新的Android 4.2系统及Nexus 4手机与Nexus 10平板电脑. 此外,今天另一个震荡业界的消息,苹果宣布iOS的早期开发人员之一,主管iPhone软件业务的斯科特·福斯特尔(Scott Forstall)将于明年正式离职.

iOS最大问题已非系统设计 功能性成最大软肋

- - cnBeta全文版
美国知名媒体《商业内幕》特约撰稿人杰-耶罗(Jay Yarow)日前撰文表示,苹果iOS操作系统目前存在着更深层次的问题,许多第三方应用软件的设计已经远远超越了苹果内置应用,因此在乔纳森-艾维 (Jony Ive)领导下的iOS 7软件设计团队仅仅对应用外观作出改进恐怕还远远不够. 目前,有不少消息指出苹果正在针对下一代驱动iPhone、iPad和iPod Touch的iOS操作系统进行重新设计.