当前位置:
文档之家› [荐]软件功能点技术与应用(有很多行业数据)
[荐]软件功能点技术与应用(有很多行业数据)
24
功能点分析概述
• IFPUG
– IFPUG (International Function Points Users’ Group) 即国际功能点用户组是一个致力于功能点分析 研究的非营利性组织。 – 1986年IFPUG组织成立,后续的FP指南都是由 IFPUG组织所发布的Function Point Counting Practices Manual 系列版本 –
0.35 0.3
0.25
FP/Hour
0.2 0.15
0.1
0.05 0
0 50 100 150 200 250 300 350 400 450
Project Function Point Size
2014.02 34
为什么使用功能点分析
• 使用功能点分析的好处
– 使用功能点管理软件组织
• 用于资产管理
– 功能点分析(Function Point Analysis)是从用户 角度度量软件开发的一种标准方法。
– 功能点分析基于用户的逻辑功能需求,而不考 虑应用的物理实现
2014.02
23
功能点分析概述
• 功能点历史
– 1979 – 1984 – 1988 – 1990 – 1994 – 1999 – 2003 – 2004
2014.02
40
功能点分析方法
• 数据功能(Data Function)
– 指提供给用户的以满足应用内部和外部数据需 求的功能性 – 分为内部逻辑文件(ILF)和外部接口文件(EIF) – 复杂性由数据元素类型(DET)和记录元素类型 (RET)决定
COSMIC FFP 功能点标准
2014.02
5
IFPUG功能点
– 1979 – 1984 – 1988 – 1990 – 1994 – 1999 – 2003 – 2004
2014.02
IBM的Allan Albrecht提出FP方法 正式的FP使用指南发布 FP CPM release 2.0 FP CPM release 3.0 FP CPM release 4.0 FP CPM release 4.1 加入ISO/IEC标准 FP CPM release 4.2
• 步骤二:映射阶段
2014.02
15
Cosmic FFP 功能点
• 步骤二:映射阶段(续)
2014.02
16
Cosmic FFP 功能点
• 步骤二:映射阶段(续)
2014.02
17
Cosmic FFP 功能点
• 步骤二:映射阶段(续)
2014.02
18
Cosmic FFP 功能点
• 步骤三:度量阶段
– 可预见的功能性 – 可预见的工作量和工期 – 可预见的成本
2014.02
37
为什么使用功能点分析
• 使用功能点分析的好处
– 使用功能点管理软件组织
• 进行组织级改进
– 进行过程度量 – 进行项目管理度量 » 估计 » 生产率 » 缺陷密度 » 等等 – 进行标杆
2014.02
38
功能点分析方法
软件功能点技术与应用
内容
• • • • • 功能点标准概述 IFPUG功能点概述 示例 升级项目及维护活动 功能点应用
2014.02
2
功能点标准概述
• • • • • 功能点标准 IFPUG 功能点标准 Mark II 功能点标准 Nesma 功能点标准 COSMIC FFP 功能点标准
2014.02
2014.02
8
Mark II 功能点
• Mark II
– 视所有的用户功能为逻辑事务 – 每个事务包括输入、处理过程和输出 – 功能点指数(FPI)是所有逻辑事务的输入数据元素类型数量 (Ni)、数据实体类型的引用数量(Ne)和输出数据元素类型数量 (No)的加权和
FPI Wi * Ni We * Ne Wo * No
事务功能 外部输入EI 外部输出EO 外部查询EQ
Application A file file file Application B file
内部逻辑文件ILF 数据功能
2014.02
外部接口文件EIF
39
功能点分析方法
• 把用户的业务功能需求分为数据功能需求和 处理数据的事务功能需求
• 数据分为应用内部逻辑数据和应用外部的接 口数据,事务分为对数据的外部输入、输出 和查询 • 分别分析这些组成部分的功能点
– 使用功能点管理软件组织
• • • •
2014.02
用于资产管理 在CMMI中的运用 改进客户关系 进行组织级改进
32
为什么使用功能点分析
• 使用功能点分析的好处
– 使用功能点管理软件开发(需求变更)
2014.02
33
为什么使用功能点分析
• 使用功能点分析的好处
– 使用功能点管理软件开发
• 通过度量提升软件开发的生产率和质量
2014.02
25
功能点分析的目的和用途
• 功能点分析的目的
– 度量用户要求的及得到的功能性 – 脱离软件技术实现来度量软件的开发和维护 – 除了满足以上目的,功能点分析过程应该:
• 足够简单以最小化度量过程所需要的开销 • 在不同的项目或组织之间保持一致的度量方法和标 准
2014.02
26
功能点分析的目的和用途
6
IFPUG 功能点
• IFPUG
– IFPUG (International Function Points Users’ Group) 即国际功能点用户组是一个致力于功能点分析 研究的非营利性组织。 – 1986年IFPUG组织成立,后续的FP指南都是由 IFPUG组织所发布的Function Point Counting Practices Manual 系列版本 –
11
Cosmic FFP 功能点
过程识别
管理过程/控制过程
识别输入、输出与查询
识别入口、出口、读、写
使用FPA方法
使用FFP方法
得到FPC
2014.02 12
Cosmic FFP 功能点
2014.02
13
Cosmic FFP 功能点
• 步骤一:获取功能性需求
2014.02
14
Cosmic FFP 功能点
– 功能规模度量(Functional Size Measurement FSM)
• 度量功能规模的过程(The process of measuring Functional Size)
2014.02 4
功能点标准
IFPUG 功能点标准
功 能 点 标 准
Mark II 功能点标准
Nesma 功能点标准
2014.02
7
Mark II 功能点
• Mark II
– 英国人Charles Symons为KPMG工作时提出的方 法 – 1991年定义Mark II方法 – 目前该方法由英国软件度量协会Metrics Practice Committee 委员会维护 – 2002年11月纳入国际标准 –
2014.02
10
Nesma 功能点
• Nesma
– Nesma与IFPUG一样,将功能点划分为五个类型, 分别是EI/EO/EQ/ILF/EIF – 但在一些方面存在差异,例如
• • • • • •
2014.02
EQ与EO的区分 EQ的复杂程度 隐含查询(Implicit Inquiry) 代码数据(Code Data) 物理介质 组合查询
2014.02
IBM的Allan Albrecht提出FP方法 正式的FP使用指南发布 FP CPM release 2.0 FP CPM release 3.0 FP CPM release 4.0 FP CPM release 4.1 加入ISO/IEC标准 FP CPM release 4.2
10,000 25 25 $125,000 $12.50 400 1.2 $5,000
3,000 25 15 $75,000 $25.00 200 2 $3,000
31
为什么使用功能点分析
• 使用功能点分析的好处
– 使用功能点管理软件开发
• 估计和度量需求规模 • 估计和度量需求变更带来的影响 • 通过度量提升软件开发的生产率和质量
代码行的缺点
1.没有一个统一的数代码行的 标准 2.代码行度量组件而不是整个 产品 3.用代码行度量生产率会导致 软件设计不严谨等问题
2014.02
30
为什么使用功能点分析
• 功能点和代码行的比较
– 典型生产率度量矛盾
Project 1 Project 2
Lines of Code Function Points Total Months effort Total Costs Cost per Source Line Lines per Person month FPs per Person month 2014.02 Cost per FP
2014.02
21
功能点分析概述
• 什么是功能点
– 功能点(Function Points)是度量软件规模的一 个标准度量单元
– 一个软件的大小可以通过交付给用户的功能点 数来度量,就如一间房子的大小通过提供给用 户的建筑面积或使用面积来度量一样。
2014.02
22
功能点分析概述
• 什么是功能点分析
– – – – Size=50,000 Function Points Replacement Cost=$300,000,000 Growth=7% per year Support Cost=$20,000,000 per year