IFPUG 功能点估算基本方法
广州旅游景点推荐-周华健的朋友歌词
IFPUG 功能点估算基本方法
Function
Point Estimation 功能点估算是一种用来估算项目大小的技术。
项目经理从已经界
定的软件范围开始,并根据该陈述将软件分解为可以被单独估算的功能单
元,然后估算每一个功能的FP
值。这种分析方法是按照功能为估算单元进行分解,同样如
果以其它元素作为估算单元,例如类、对象、
业务过程,以下都以功能分解进行讨论。
注意:功能单元是指分解到的最小可估算单元。
FP值是按照经验,使用复杂度参数进行估算调整过的量化的数值。
估算的基本过程:
a) 界定项目范围;
b)
分解项目到可以被估算的最小功能单元;
c) 识别功能单元的类型,估算复杂度;
d) 计算总体系统特征值;
e) 计算调整因子;
f) 应用公式计算FP值。
1. 界定项目范围
界定项目范围这次不讨论。
2. 分解项目到可以被估算的最小功能单元
系统用5种信息域特征进行描述:
事务(Transaction):
外部输入( External Input EI)
外部输出(External
Output EO)
外部查询(External Inquiry EQ)
数据存储:
内部逻辑文件(Internal Logical File ILF)
外部接口文件(External Interface File EIF)。
内部文件(ILF)指每个逻辑主文件(即数据的一个逻辑组合,它可能是某大型数据库
的一部分或者是一个独立的文件),例如数据库表。注意不是一个数据库表就是一个ILF,
例如合同
数据可以包括合同信息、合同条款、合同付款计划。
外部接口:所有机器可读的接口,是不由本系统维护的逻辑文件,是其它系统的ILF。
例如:web
service取回的数据,一个人工维护的Excel表格。
3. 估算功能点的复杂度
数据元素类型(Data Element Types
DET)是一个用户可识别的、唯一性的、非递归的域。
记录元素类型(Record
Element Types RET)是ILF或者EIF中用户能够识别的数据元素小
组。
档案类型(File Types Referenced
FTR)是被引用或更新的内部逻辑档案。
交易类信息域(EI、EQ、EO)的
复杂程度取决于这个交易牵涉到的数据元素类型数量,
以及被引用或者更新的档案文件类型的数量。
数据存储(EIF、ILF)的复杂程度取决于这个数据的逻辑组合包含了多少类记录元素类<
br>型,以及包含了多少数据元素类型。例如合同数据包括了合同信息、合同条款、合同付款计
划,就是3个RET。
记录了每个信息域的DET、RET、FTR之后
,按照下表为每个信息域进行复杂度评定、
打分,总分就是这个功能点的分值。
评估EI复杂度
引用的文件类型个数(FTR’s) 数据元素(Data Elements)
1-4 5-15 >15
0-1 低 低 低
2 低 中
高
>=3 中 高 高
评估EO和EQ复杂度
引用的文件类型个数(FTR’s) 数据元素(Data Elements)
1-5 6-19 >19
0-1 低 低 中
2-3 低 中 高
>3 中 高 高
事务型信息域评分值
级数(Rating) 加权值
低 4 3 3
中
5 4 4
高 7 6 6
评估 ILF EIF
的复杂度
记录元素类型(RET’s) 数据元素(Data Elements)
1-19 20-50 >50
1 低 低 中
2-5 低 中 高
>5 中 高 高
ILF EIF 的评分值
级数(Rating) 加权值
ILF EIF
低 7 5
中 10 7
高 15 10
FP = Σ
各个复杂度等级的信息域数量 × 加权值
4.
计算总体系统特征值General Sysytem Characteristics GSC
也称做复杂度调整值,是系统整体复杂程度的度量,取值 Fi 为0-5。
通用特性 描述
1. Data
communications How many communication facilities
are there to aid in the
transfer or exchange
of information with the application or system?
数据通信 多少个通信设施在应用或系统之间辅助传输和交换信息。
2.
Distributed data processing How are distributed
data and processing functions
handled?
分布数据处理 分布的数据和过程函数如何处理?
3. Performance
Was response time or throughput required by the
user?
性能 用户要求相应时间或者吞吐量吗?
4.
Heavily used configuration How heavily used is
the current hardware platform where
the
application will be executed?
硬件负荷
应用运行在的硬件平台工作强度如何?
5. Transaction rate
How frequently are transactions executed daily,
weekly, monthly,
etc.?
事务频度
事务执行的频率(天、周、月)如何?
6. On-Line data entry
What percentage of the information is entered On-
Line?
在线数据输入 在线数据输入率是多少?
7. End-
user efficiency Was the application designed for
end-user efficiency?
终端用户效率
应用程序设计考虑到终端用户的效率吗?
8. On-Line update
How many ILF’s are updated by On-Line transaction?
在线更新 多少ILF被在线事务所更新?
9. Complex
processing Does the application have extensive
logical or mathematical
processing?
处理复杂度 应用有很多的逻辑或者数据处理吗 ?
10. Reusability
Was the application developed to meet one or many
user’s needs?
重用性 被开发的应用要满足一个或者多个用户需要吗?
11. Installation ease How difficult is
conversion and installation?
易安装性
升级或者安装的难度如何?
12. Operational ease How
effective andor automated are start-up, back-up,
and recovery
procedures?
易操作性
启动、备份、恢复过程的效率和自动化程度如何?
13. Multiple
sites Was the application specifically designed,
developed, and supported to
be installed at
multiple sites for multiple organizations?
跨平台性
应用被设计、开发和支持被安装在多个组织的多个安装点(不同的安装点的软
硬件平台环境不同)吗?
14. Facilitate change Was the
application specifically designed, developed, and
supported
to facilitate change?
可扩展性
应用被设计、开发以适应变化吗?
调整过的FP = FP * (
0.65 + 0.001 *Σ Fi)