📅  最后修改于: 2020-12-04 08:03:01             🧑  作者: Mango
功能点度量标准提供了一种用于测量软件应用程序各种功能的标准化方法。它从用户的角度衡量功能,即基于用户请求和得到的回报。功能点分析是从用户角度衡量软件开发的标准方法。
最初由Albrecht构思的功能点度量随着1986年国际功能点用户组(IFPUG)的成立而越来越受欢迎。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 | Low | Low | Average | |
2-3 | Low | Average | High | |
>3 | Average | High | High |
对于文件(ILF和ELF) ,评级基于RET和DET 。
RET – ILF或ELF中用户可识别的数据元素的数量。
DET-用户可识别字段的数量。
根据下表,包含10个数据元素和5个字段的ILF将被列为high 。
RETs | DETs | |||
---|---|---|---|---|
1-5 | 6-15 | >15 | ||
1 | Low | Low | Average | |
2-5 | Low | Average | High | |
>5 | Average | High | High |
将等级转换为UFC 。
Rating | Values | ||||
---|---|---|---|---|---|
EO | EQ | EI | ILF | ELF | |
Low | 4 | 3 | 3 | 7 | 5 |
Average | 5 | 4 | 4 | 10 | 7 |
High | 6 | 5 | 6 | 15 | 10 |
基于14个一般系统特性(GSC)的计算值调整因子(VAF ) 。
General System Characteristic | Brief Description | |
---|---|---|
GSC 1 | Data communications | How many communication facilities are there to aid in the transfer or exchange of information with the application or system? |
GSC 2 | Distributed data processing | How are distributed data and processing functions handled? |
GSC 3 | Performance | Was the response time or throughput required by the user? |
GSC 4 | Heavily used configuration | How heavily used is the current hardware platform where the application will be executed? |
GSC 5 | Transaction rate | How frequently are transactions executed daily, weekly, monthly, etc.? |
GSC 6 | On-Line data entry | What percentage of the information is entered online? |
GSC 7 | End-user efficiency | Was the application designed for end-user efficiency? |
GSC 8 | On-Line update | How many ILFs are updated by online transaction? |
GSC 9 | Complex processing | Does the application have extensive logical or mathematical processing? |
GSC 10 | Reusability | Was the application developed to meet one or many user’s needs? |
GSC 11 | Installation ease | How difficult is conversion and installation? |
GSC 12 | Operational ease | How effective and/or automated are start-up, back-up, and recovery procedures? |
GSC 13 | Multiple sites | Was the application specifically designed, developed, and supported to be installed at multiple sites for multiple organizations? |
GSC 14 | Facilitate change | Was the application specifically designed, developed, and supported to facilitate change? |
根据是否对强影响力有影响,将每个GSC权衡为0到5。
按以下方式计算FPC-
FPC = UFC* (0.65+(sum( GSC )* .01))
复杂性是大小的一个单独组成部分。它有两种类型-
问题的复杂性-这是最佳解决问题所需的资源量。
解决方案的复杂性-这是实施特定解决方案所需的资源。它有两个方面。它们如下-
时间复杂度-资源是计算机时间。
空间复杂度-资源是计算机内存。
复杂性的一方面是效率。它测量可以建模为算法的任何软件产品。
例如:如果用于解决特定问题的所有实例的算法需要f(n)计算,则f(n)是渐近最优的,如果对于解决问题f的所有其他算法g为O(g) 。然后,在给定的问题的复杂性大-为problem’的解决方案的渐近最优算法的O操作。