国家标准采用功能点分析方法(Function Piont Analysis,简称FPA,功能点简称FP)作为软件规模估算的方法。
那么什么是功能点分析方法?
在国际上,有两个组织机构负责进行国际标准化体系的构建和国际标准的制定,这两个组织分别是ISO(International Orgnization for Standardization,国际标准化组织)和IEC(International Electrotechnical Commission,国际电工委员会)。这两个组织共同组建了联合技术委员会,来进行国际标准体系的制定。我国多个国家标准和行业标准是从相应的国际标准引进并等同采用的。
1974-1979年间,在IBM公司工作的Allan J. Albrecht主导研究如何度量软件的规模,通过对大量项目生产率进行研究得出了FPA的研究成果。之后的数年间,在最初的功能点模型基础上,衍生出了多个标准和方法,其中较为有代表性的就是国家标准中指出的5个国际标准,即IFPUG, NESMA,COSMIC, MK II和FiSMA。
功能点是软件规模的一个测量单位,用来度量被开发或维护应用的规模大小,表示应用(自动化的系统)提供给用户的信息处理数量,类似于丈量房屋面积的“平方米”。一款应用软件的功能点规模是进行工作量估算和成本估算的先决条件。功能点方法适用于功能性软件项目,如办公系统、业务管理系统等等,不适用于以非功能性需求为主的软件,如人工智能、大数据等。
以下的内容描述基于NESMA标准,其他标准略有不同。
FPA基于应用程序为用户提供的功能。功能来源于应用程序包含或使用的逻辑文件(数据功能)以及传入或传出(事务功能)的信息流(数据或控制信息)。一个功能类型的复杂性根据一定的标准指南确定。每个功能的点数取决于它的复杂性。这些点数的总和就是功能的规模大小。FPA是指通过对应用程序或其描述文档进行分析,确定应用程序或项目的功能大小的行为。
关于功能点分析方法的具体用法,我们将在接下来的详细章节进行分析,欢迎继续关注。