FunctionPointEstimation.docx
- 文档编号:9442387
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:13
- 大小:49.83KB
FunctionPointEstimation.docx
《FunctionPointEstimation.docx》由会员分享,可在线阅读,更多相关《FunctionPointEstimation.docx(13页珍藏版)》请在冰豆网上搜索。
FunctionPointEstimation
1功能点(FP,FunctionPoint)法历史
70年代,IBM工程师A.J.Albrecht提出了用功能点度量软件规模的观点,并在IBM内部使用。
80年代初,A.J.Albrecht发表了用程序的输入/输出及系统内部数据文件衡量应用程序规模的方法,这就是FP法。
1986年,美国成立了IFPUG(InternationalFunctionPointUsersGroup)组织,继续沿着A.J.Albrecht的思路开发FP法。
IFPUG是世界上最大的FP法用户组,目前包括各支部的成员,超过2000个成员。
现在,FP法已经推荐给了ISO组织,在ISO中,FP法叫FunctionalSizeMeasurement。
目前,FP法较新版本是IFPUG在2000年发表的FunctionPointCountingPracticeManualRelease4.1.1
2FP法思路
2.1系统抽象
FP法将商业信息系统抽象成输入数据,输出数据,查询数据,系统内部文件,系统外部文件。
如下图示:
2.2估算原理
对于每一个基本事务处理(或者说基本用例),如一次数据录入,一次数据查询,或者一个报表输出,提炼出该事务处理涉及到的所有种别的EI,EO,EQ数据,评估这些数据的复杂度,折算成功能点。
这称为TFP(TransactionFunctionPoint),用基本处理的TFP衡量该处理的规模。
对于每一个ILF和EIF,评估该文件记录的复杂度,折算成DFP(DataFunctionPoint)。
因为系统内部处理逻辑的复杂度和系统处理的内部数据及输入数据相关,因此,用DFP衡量系统内部处理的规模。
所有基本事务处理的TFP累加,再加上DFP,就是整个系统的FP,这叫未调整的FP。
系统的复杂度和系统的性能要求,是否分布式系统等特性相关,因此还要评估系统特性。
FP法提出了14项系统特性,每项系统特性从简单到复杂,计分为0到5。
通过评估系统特性,得出一个调整因子,未调整FP乘上该调整因子,得出系统的FP数,这个FP就是最终评估出来的系统规模。
有了FP表征的系统规模,再根据历史数据或专家估算得出的每人月能完成的FP数,求出人月数表示的系统规模。
再乘上每人月的单价,即得到系统开发成本的估算。
2.3估算步骤
3FP法概念和计算
1ILF:
InternalLogicalFile,用户能识别的由本系统维护(增,删,改)的数据对象,数据对象可以是业务数据、控制信息、或者业务规则数据。
E-R图中的一个实体,系统的一个配置文件等都是ILF的实例。
ILF不等同于DB中的Table,ILF通常是用户概念中的实体,用户概念中的实体可能保存在多张Table中。
2EIF:
ExternalInterfaceFile,由别的系统维护的数据对象,但本系统需要参照。
通常是别的系统的ILF。
3DET:
DataElementType,数据字段,如ILF或EIF中的记录的字段,或者界面上的一个输入/输出字段。
DET也可以是控制信息,如界面上的一个按钮,一组Radio,一个CheckBox。
4RET:
RecordElementType,ILF或EIF中的记录的类型。
ILF/EIF中可能包含多种不同类型的数据。
最常见的是同一ILF/EIF中的父子关系的数据。
如订单处理中的订单,在用户概念中,订单是一个ILF,订单中有两种数据,订单和订单明细,它们是1:
n的父子关系,订单的RET=2,教师(简历表,项目表、教材表、指导学生表等)
5ILF/EIF的复杂度:
显然,ILF/EIF包含的字段越多,包含的记录类型越多,处理ILF/EIF的逻辑越复杂。
因此用DET和RET衡量ILF/EIF的复杂度。
评价方法如下表一:
6ILF/EIF的DFP数:
DFP,DataFunctionPoint,计算方法如上表二。
DFP用于衡量系统内部处理逻辑的规模。
如某系统有3个ILF,难度为低,有2个EIF,难度分别为中和高,则系统的DFP=3*5+1*10+1*15=40
7基本事务:
从外部的角度看,系统对外提供若干事务处理功能,如数据录入,查询等。
所有事务处理过程构成系统全体。
在FP法中,事务处理分三类:
EI,EO和EQ。
8EI:
ExternalInput,外部输入型事务处理,EI事务从系统外部输入数据到系统内部,这可能是用户通过画面输入,也可能是别的系统通过系统接口输入。
输入包括业务数据,也包括按钮、Checkbox等控制数据。
EI通常输入数据到ILF,一个ILF的维护通常包括增删改三个EI。
9EO:
ExternalOutput,输出型事务处理,如报表输出、画面初始化的输出。
EO从系统内部输出数据到系统外部。
EO输出的数据或者来自ILF或EIF,或者组合ILF/EIF的字段而来的新数据,或者通过算法计算而来的数据。
通常确认Message或错误提示不算作独立的EO,但通知Mail之类的算作独立的EO。
10EQ:
ExternalInquiry,外部查询,从外部输入一些条件,系统返回一定的输出。
11FTR:
FileTypeReference,引用的文件数,EI/EO/EQ的处理过程中通常要用到ILF/EIF,FTR指事务处理用到的ILF/EIF数。
12EI/EO/EQ复杂度:
事务处理的复杂度用该事务的输入/输出数据中的DET(即数据字段,DataElementType,数据字段,如ILF或EIF中的记录的字段,或者界面上的一个输入/输出字段)。
DET也可以是控制信息,如界面上的一个按钮,一组Radio,一个CheckBox.事务的FTR(引用的文件)数衡量,如下表三、四所示。
13EI/EO/EQ的TFP数:
TFP,TransactionFunctionPoint,计算方法如下表五所示。
系统的所有事务处理的TFP就是系统的事物处理的规模。
14UFP:
未调整功能点数,UFP=TFP+DFP。
4系统特性调整
UFP尚未考虑系统的复杂度等特性。
显然,如,航空系统和普通的业务处理系统,即使UFP数一样,但开发难度肯定不一样,因此,UFP还要根据待开发系统的特性作相应调整。
调整公式如下:
AFP=UFP*(0.65+0.01*ΣFi)
AFP是经调整的FP,UFP是上述算出的未调整FP,
Fi是调整因子值,对14项系统特性中的每一项的评分,从简单到复杂,评分0-5。
对于最简单的系统,AFP=UFP*0.65
对于最复杂的系统,AFP=UFP*(0.65+0.01*5*14)=UFP*1.35
计算调整因子
功能点的调整系数是通过通用系统特性及其影响程度来评定的,对每个常规系统特性的评估由其影响程度(DI)而定,分为0-5级:
0毫无影响1偶然影响2适度影响3一般影响4重要影响5强烈影响然后依次对以下14个系统常规特性进行打分,并带入以下计算公式算出功能点的调整因子。
1数据通讯
数据通讯指的是应用程序直接与处理器通讯的程度。
通常我们都是通过某种通讯手段来实现在一个应用中所使用的数据或者控制信息的。
连接到本地控制器上的终端被认为是使用通讯设施,而协议指的是两个系统或者两个设备之间进行通讯时所使用的一种约定。
所有的数据通讯链接都需要某种协议。
0应用程序是单纯的批处理
1应用程序是一种批处理过程,但是包含远程数据的录入或远程打印
2应用程序是一种批处理过程,但是包含远程数据的录入和远程打印
3应用程序包括在线数据收集或者包括批处理或查询系统的远程处理的前端应用
4应用程序不单只是前端应用,但是仅支持一种远程处理通讯协议
5应用程序不单只是前端应用,还支持多于一种的远程处理通讯协议
2分布式数据处理
分布式数据处理是应用在内部组件之间传递信息的程度。
这个特性是在应用边界内体现的。
0应用程序不支持组件之间的数据传输和处理功能
1应用程序为用户可能进行的处理准备数据(例如使用电子表格或者数据库等)
2应用程序所准备的数据是为了在系统另外一个组件上传输和处理。
并非为终端用户所处理。
3分布式处理和数据传输是在线的,并且是单向的
4分布式处理和数据传输是在线的,并且是双向的
5由系统中最恰当的组件动态地执行处理功能
3性能
性能是吞吐量、处理时间等指标对开发的影响。
用户所提出的性能要求将直接影响到系统的设计,实施,安装和支持。
0用户没有提出性能方面的要求
1用户提出了性能和设计方面的要求,但不需要采取特定措施
2响应时间和吞吐量在系统峰值时是关键的,但是不需要采取相应的CPU使用方面的特殊设计。
处理的最后期限是在下一个工作日。
3在任何时候响应时间和吞吐量都是关键的,但是不需要采取相应的CPU使用方面的特殊设计。
处理的完成期限比较严格
4除了上面一项的要求外,由于对需求的要求比较严格,在设计阶段就要进行性能分析
5除了上面一项的要求之外,在设计和实施阶段需要使用性能分析工具来判断性能要求的完成情况
4大业务量配置
大业务量配置指的是计算机的资源对应用开发的影响程度。
大业务量的运行配置对设计有特殊要求,是必须考虑的一个系统特性。
0没有提出明确的运行方面的限制
1有运行方面的限制,但是不需要采取特别的措施以满足运行限制
2提出了一些安全和时间方面的限制
3应用程序的某些部分对处理器有特定的要求。
4提出的运行限制对应用的中央处理器或者专用处理器有特殊的要求
5除上面一项之外,还对应用的分布式组件提出了限制
5事务处理率
事务处理率是业务交易处理速度的要求对系统的设计,实施,安装和支持等的影响。
0预计不会出现周期性的高峰事务处理期
1预计会有周期性的高峰事务处理期(例如:
每月、每季、每年)
2预计每周都会出现高峰事务处理期
3预计每天都会出现高峰事务处理期
4用户在应用程序需求或者服务级别协议中对事务率要求很高,因此必须在设计阶段进行性能分析。
5用户在应用程序需求或者服务级别协议中对事务率要求很高,因此必须进行性能分析并在设计、开发和安装阶段中使用到性能分析工具。
6在线数据输入
在线数据输入是指数据通过交互的方式输入系统程度。
系统中包括在线数据输入和控制信息功能。
0所有事务都是批处理的。
11%~7%的事务是以交互式的方式进行数据录入
28%~15%的事务是以交互式的方式进行数据录入
316%~23%的事务是以交互式的方式进行数据录入
424%~30%的事务是以交互式的方式进行数据录入
530%以上的事务是以交互式的方式进行数据录入
7最终用户效率
最终用户效率是指对应用的人文因素以及使用的便捷方面的考虑程度。
如下功能设计是针对最终用户效率的:
Ø页面导航
Ø菜单
Ø在线帮助或文档
Ø光标自动跳转
Ø可以滚动
Ø在线远程打印
Ø预定义的功能键
Ø在线做批量提交任务
Ø光标可以选取界面上的数据
Ø用户使用大量反白显示、重点显示、下划线或其他的标识
Ø在线copy用户文档
Ø鼠标拖动功能
Ø弹出窗体
Ø使用最少的界面完成某种商业功能
Ø双语言支持(如果选择了这个就算4项)
Ø多语言支持(如果选择了这个就算6项)
0以上的一个都不包括
1包括以上的1~3个
2包括以上的4~5个
3包括以上的6个或以上,但是没有用户对于效率的要求
4包括以上的6个或以上,对用户使用效率有较高要求,因而必须考虑用户方面的设计(例如,最少击键次数、尽可能提供默认值、模版的使用)
5包括以上的6个或以上,用户对效率的要求使得开发人员必须使用特定的工具和流程以判定用户对效率的要求已经被达成
8在线更新
在线更新是指内部逻辑文件ILF被在线更新的程度。
应用系统提供在线更新内部逻辑文件的功能。
0没有在线更新
1包含1~3个控制文件的在线更新。
更新的流量低,恢复容易
2包含对4个以上控制文件的在线更新。
更新的流量低,恢复容易
3包含对主要ILF的更新
4除了3之外,在设计和实施中要考虑对数据丢失的防范。
5除了4之外,大量的数据恢复工作要考虑成本因素,同时包含了高度自动化的恢复流程。
9复杂处理
复杂处理描述了逻辑处理对应用开发的影响程度。
它包含以下要素:
Ø敏感控制(例如特殊的审核过程)和/或程序特定的安全处理
Ø大量的逻辑处理
Ø大量的数学处理
Ø因为例外处理造成的需要重新处理的情况(例如,由TP中断、数据值缺少和验证失败导致的ATM事务)
Ø多种可能的输入/输出造成的复杂处理
0上面一个都不满足
1只满足一个
2只满足两个
3满足三个
4满足四个
5都满足
10可复用性
应用系统中的应用和代码经过特殊设计、开发和支持,可以在其他应用系统中复用。
0没有可复用的代码
1代码在应用之内复用
2应用中被其他用户复用的部分不足10%
3应用中被不止一个用户使用的部分超过10%
4应用遵从一种易于复用的方式被打包和文档化。
用户在源代码级客户化该应用
5应用按照一种易于复用的方式被打包和文档化。
用户使用用户参数来对该应用进行客户化
11.易安装性
易安装性指应用系统的转换和安装容易度对开发的影响程度。
系统测试阶段提供了转换和安装计划和/或转换工具。
0用户对安装没有特定的要求
1用户对安装没有特定的要求,但有特定的安装环境要求
2用户提出了安装和转化的要求,转化/安装指南被经过测试提供给用户。
但是转化的影响对该应用不重要
3用户提出了安装和转化的要求,转化/安装指南被经过测试提供给用户。
转化的影响对该应用来说是重要的
4除了2的要求之外,需要提供经过测试的自动化的安装和转化工具。
5除了3的要求之外,需要提供经过测试的自动化的安装和转化工具。
12.易操作性
易操作性指的是应用对运行的影响程度,如有效启动、备份和恢复规程的影响。
易操作性是应用提供的一种特性,它最小化了手工操作的要求。
0用户没有指定除正常备份程序外的其它特定操作
1提供高效的启动、备份和恢复进程,但需要人手操作
2提供高效的启动、备份和恢复进程,不需要人手操作(当作两项计算)
3应用程序对磁带的需求最小化
4应用程序对硬拷贝处理的需求最小化
5程序设计成无人操作模式。
无人操作模式的意思是除了启动和关闭之外,不需要对系统进行操作。
程序的其中一个功能就是错误自动恢复。
13.多场地
多场地指应用系统经特殊设计、开发可以在多个组织、多个地点应用的程度。
0用户需求不含多场地和组织的要求
1考虑了多场地的要求,但是设计要求应用在不同的场地使用相同的软硬件环境
2考虑了多场地的要求,但是设计要求应用在不同的场地使用类似的软硬件环境
3考虑了多场地的要求,同时设计支持应用在不同的场地使用不同的软硬件环境
4在1或者2的要求之上,提供了经过测试的多场地的文档和支持计划
5在3的要求之上,提供了经过测试的多场地的文档和支持计划
14.支持变更
支持变更指的是应用在设计上考虑支持处理逻辑和数据结构变化的程度。
可以具有如下的特性:
Ø提供可以处理简单要求的弹性查询和报告功能,如对一个ILF进行与(或)逻辑
Ø提供可以处理一般复杂度要求的弹性查询和报告功能,如对多于一个的ILF进行的与(或)逻辑(当作两项计算)
Ø提供可以处理复杂要求的弹性查询和报告功能,如对一个或多个ILF进行的与(或)逻辑的组合(当作三项计算)
Ø业务控制数据被保存到用户通过在线交互进程维护的表中,但变更只会在第二个工作日生效
Ø业务控制数据被保存到用户通过在线交互进程维护的表中,且变更即时生效
0一个都不满足
1合计满足一个
2合计满足二个
3合计满足三个
4合计满足四个
5合计满足五个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FunctionPointEstimation