功能点指标提供了一种用于测量软件应用程序的各种功能的标准化方法.它从用户的角度衡量功能,即根据用户请求和接收的内容来衡量.功能点分析是从用户的角度衡量软件开发的标准方法.
最初由Albrecht构思的功能点测量随着国际功能点用户组的开始而越来越受欢迎(IFPUG)于1986年.2002年,IFPUG功能点成为国际ISO标准 - ISO/IEC 20926.
FP(功能点)是适用于量化软件应用程序的最广泛的功能类型度量.它基于五个用户可识别的逻辑"功能",分为两种数据功能类型和三种事务功能类型.对于给定的软件应用程序,对这些元素中的每一个进行量化和加权,计算其特征元素,例如文件引用或逻辑字段.
结果数字(未调整的FP)被分组为已添加,更改或删除的功能集,并与值调整因子(VAF)结合使用以获得最终的FP数.每种计数类型都使用不同的最终公式:应用程序,开发项目或增强项目.
现在让我们了解如何应用Albrecht的功能点方法.其程序如下 :
EI : 外部输入的数量.这些是基本过程,其中派生数据从外部传递到内部.在示例库数据库系统中,输入现有顾客的库卡号.
EO : 外部输出的数量.这些是基本过程,其中派生数据从内到外穿过边界.在示例库数据库系统中,显示签出给顾客的书籍列表.
EQ : 外部查询的数量.这些是包含输入和输出组件的基本过程,这些组件导致从一个或多个内部逻辑文件和外部接口文件中检索数据.在示例库数据库系统中,确定当前向顾客签出的书籍.
ILF : 内部日志文件的数量.这些是用户可识别的逻辑相关数据组,它们完全位于通过外部输入维护的应用程序边界内.在示例库数据库系统中,库中的书籍文件.
ELF : 外部日志文件的数量.这些是用户可识别的逻辑相关数据组,仅用于参考目的,并且完全位于系统之外.在示例库数据库系统中,包含库的计费系统中的事务的文件.
将每个组件评为低,平均,或高 .
对于交易(EI,EO和EQ),评级基于 FTR 和 DET .
FTR : 更新或引用的文件数.
DET : 用户可识别字段的数量.
根据下表,引用2个文件和10个数据元素的 EI 被列为平均.
FTRs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | > 15 | ||
0-1 | 低 | 低 | 平均值 | |
2-3 | 低 | 平均值 | 高 | |
> 3 | 平均 | 高 | 高 |
对于文件(ILF和ELF),评级基于 RET 和 DET .
RET : ILF 或 ELF 中用户可识别数据元素的数量.
DET : 用户可识别字段的数量.
根据下表, ILF 包含10个数据元素和5个字段排名高.
RETs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | > 15 | ||
1 | 低 | 低 | 平均值 | |
2-5 | 低 | 平均值 | 高 | |
> 5 | 平均值 | 高 | 高 |
将评级转换为 UFC .
评级 | 值 | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
低 | 4 | 3 | 3 | 7 | 5 |
平均值 | 5 | 4 | 4 | 10 | 7 |
高 | 6 | 5 | 6 | 15 | 10 |
计算值调整系数(VAF)基于14个一般系统特征(GSC).
一般系统特性 | 简要说明 | |
---|---|---|
GSC 1 | 数据通信 | 有多少通讯设施可以帮助转移或交换与应用程序或系统的信息? |
GSC 2 | 分布式数据处理 | 如何处理分布式数据和处理函数? |
GSC 3 | 性能 | 是否需要用户的响应时间或吞吐量? |
GSC 4 | 重度使用的配置 | 当前硬件的使用频率应用程序执行的平台? |
GSC 5 | 交易率 | 每天,每周,每月等执行交易的频率是多少? |
GSC 6 | 在线数据输入 | 在线输入的信息百分比是多少? |
GSC 7 | 最终用户效率 | 应用程序是否为最终用户效率而设计? |
GSC 8 | 在线更新 | 在线交易更新了多少个ILF? |
GSC 9 | 复杂处理 | 应用程序是否有广泛的逻辑或数学处理? |
GSC 10 | 可重用性 | 应用程序是否开发满足一个或多个用户的需求? |
GSC 11 | 安装简便 | 转换难度和安装? |
GSC 12 | 操作简便性 | 启动,备份和恢复程序的有效性和/或自动化程度如何? |
GSC 13 | 多个网站 | 是否为多个组织的多个站点安装了专门设计,开发和支持的应用程序? |
GSC 14 | 促进更改 | 应用程序是否专门设计是否已经开发并支持以促进变更? |
根据是否对强烈影响没有影响,按0到5的等级称量每个 GSC .
计算 FPC 如下 :
FPC = UFC* (0.65+(总和) ( GSC )* .01))
复杂性是一个单独的大小组成部分.它有两种类型;
问题的复杂性 : 这是解决问题的最佳方案所需的资源量.
解决方案的复杂性 : 它是实施特定解决方案所需的资源.它有两个方面.它们如下:<
时间复杂度 : 资源是计算机时间.
空间复杂度 : 资源是计算机内存.
复杂性的一个方面是效率.它可以测量任何可以建模为算法的软件产品.
例如:如果解决特定问题的所有实例的算法需要 f(n)计算,那么 f(n)是渐近最优的,如果对于每个其他具有复杂度g的算法来解决问题 f 是 O(g) .然后,给定问题的复杂性很大 - O 是问题解决方案的渐近最优算法.