首页 理论教育规范性引用文件:功能点法和度量方法

规范性引用文件:功能点法和度量方法

【摘要】:a)将功能点法作为规模估算方法,以及五种度量方法列入规范性引用文件的考虑。这也是本标准引入这五种度量标准作为规范性引用文件的基础。——ISO/IEC 20926软件和系统工程—软件度量—IFPUG功能规模度量方法2009IFPUG是一个非营利性组织,1979年IBM的Allan Albrecht提出功能点分析方法,1984年正式发布了第一个功能点使用指南,1986年成立IFPUG组织,2003年被ISO组织接纳

【标准原文】

下列文件对于本文件的应用是必不可少的.凡是注日期的引用文件,仅注日期的版本适用于本文件.凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件.

ISO/IEC 19761软件工程——COSMIC:一种功能规模度量方法(Software engineer-ing——COSMIC:a functional size measurement method)

ISO/IEC 20926软件和系统工程——软件度量——IFPUG功能规模度量方法2009(Soft-ware and systems engineering——Software measurement——IFPUG functional size measurement method 2009)

ISO/IEC 20968软件工程——MkⅡ功能点分析——计数实践手册(Software engineering——MkⅡ Function Point Analysis——Counting Practices Manual)

ISO/IEC 24570软件工程——NESMA功能规模度量方法2.1版——功能点分析应用定义和计数指南(Software engineering——NESMA functional size measurement method version 2.1——Definitions and counting guidelines for the application of Function Point Analysis)

ISO/IEC 29881信息技术——系统和软件工程——FiSMA1.1功能规模度量方法(Infor-mation technology——Systems and software engineering——FiSMA 1.1 functional size measure-ment method)

【标准释义】

ISO是国际标准化组织(International Organization for Standardization)的简称,IEC是国际电工委员会(International Electrotechnical Commission)的简称。这两个国际组织联合制定和发布了许多计算机和软件领域的国际标准(通常冠以ISO/IEC的标号)。

我国的国家标准(通常冠以GB的标号)有不少是从这些国际标准组织引进并等同采用的。在软件规模估算过程中,标准引用了ISO/IEC的五项国际标准,并注明“下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。”作为限制说明。

a)将功能点法作为规模估算方法,以及五种度量方法列入规范性引用文件的考虑。

在软件研发成本度量(包括估算与测量)方面,对于软件规模本身的评价是首要任务。根据软件行业的实践,目前评价软件规模的方法主要分为两种:基于业务视角和基于开发视角。基于业务视角的方法是从用户角度出发,与软件开发技术无关,如:功能点、故事点、用例点、对象点等方法;基于开发视角的方法是从开发者角度出发,如:基于软件源代码行、数据库表、函数数量等方法。

基于开发视角的软件规模评价的方法,优点是操作简单、实施容易,但不容易在项目干系人之间达成一致,往往会引起较多的分歧。基于开发视角的评价方法虽然在实际工作中也有着普遍的应用,但更多局限于软件开发团队内部。如果要在业务部门与开发部门、甲方与乙方之间约定软件开发的工期或费用等关键项目目标,则需要从业务视角出发,对软件项目规模进行标准、一致的评价与估算。而且,在系统初始阶段,用户功能需求是唯一真正可以得到的信息。任何程序大小或代码行数的猜想实际上都是从系统要提供的功能性推演出来的。

表2-1展示了几种常用的软件规模度量方法的对比,可以看出,功能点方法最优。

2-1 软件规模度量方法对比

978-7-111-56938-1-Chapter02-1.jpg(www.chuimin.cn)

自从美国人AllanJ.Albrecht在20世纪70年代末提出功能点方法以来,功能点在软件行业的应用与实践已超过30年。在Albrecht的功能点模型基础之上,经过进一步应用与发展,功能点标准演进为ISO/IEC14143“信息技术软件度量功能规模度量”系列标准及IFPUG、COSMIC、MkII、NESMA、FiSMA五个具体操作方法的标准。这也是本标准引入这五种度量标准作为规范性引用文件的基础。

b)五种功能点度量方法的发展简述。

——ISO/IEC19761软件工程——COSMIC:一种功能规模度量方法(Software engineer-ing——COSMIC:a functional size measurement method)

COSMIC(COmmon Software Measurement International Consortium,通用软件度量国际联盟)功能点的前身来源于1997年所提出的FFP(Full Function Point,全面功能点)功能点标准,后来FFP组织又与COSMIC组织共同合作,于1999年提出了COSMIC功能点标准,该标准历经修订,目前的最新版本为该组织于2009年所提出的3.0.1版本,该标准也于2003年被ISO组织接纳成为国际标准。

——ISO/IEC 20926软件和系统工程—软件度量—IFPUG功能规模度量方法2009(Soft-ware and systems engineering——Software measurement——IFPUG functional size measurement method 2009)

IFPUG(International Function Points User’s Group,国际功能点用户组)是一个非营利性组织,1979年IBM的Allan Albrecht提出功能点分析方法,1984年正式发布了第一个功能点使用指南,1986年成立IFPUG组织,2003年被ISO组织接纳成为国际标准。目前的最新版本为4.3版本。

——ISO/IEC 20968软件工程——MkⅡ功能点分析—计数实践手册(Software engineer-ing——MkⅡ Function Point Analysis——Counting Practices Manual)

1991年,英国人Charles Symons在自己的《Software Sizing and Estimating:MkⅡ Function Point Analysis》一书中介绍了MkⅡ功能点的操作方法。Symnos先生在为毕马威咨询公司工作期间提出了MkⅡ功能点操作方法,在该操作方法的基础之上形成了MkⅡ功能点标准,该标准提出后被英国政府所采纳,目前该标准由英国软件行业协会维护。2001年被ISO组织接纳成为国际标准。

——ISO/IEC 24570软件工程——NESMA功能规模度量方法2.1版—功能点分析应用定义和计数指南(Software engineering——NESMA functional size measurement method version2.1——Definitions and counting guidelines for the application of Function Point Analysis)

NESMA为荷兰软件度量协会的简称(NEtherland Software Measurement Association),功能点标准在荷兰的应用是较为普遍的,NESMA功能点标准与IFPUG并不完全相同,它们之间还存在些许差异,具体表现在外部查询与外部输出的识别差异、外部查询的复杂度确定、隐含查询处理和代码表处理等方面。

——ISO/IEC 29881信息技术——系统和软件工程——FiSMA 1.1功能规模度量方法(Information technology-Systems and software engineering——FiSMA 1.1 functional size meas-urement method)

FiSMA(Finnish Software Measurement Association,芬兰软件度量行业协会)组织于1997年就提出了FiSMA 1.1 功能点标准的前身——Experience 2.0 Function Point Analysis(FPA),目前该标准的应用主要集中于芬兰的软件开发组织。与其他的功能点标准相比较,FiSMA功能点标准突出了“服务”概念,不再强调“功能”概念。另外,FiSMA将软件的典型功能区分为28种服务,从而使得服务类型的划分更为细致,但同时也增加了操作方面的不便。

c)功能规模度量的发展历程。

上述五种不同的功能点标准,在功能点类型、应用范围、可操作性和应用现状等方面都有各自不同的特点。但就其应用的广泛程度来看,IFPUG标准和NESMA标准仍然是目前最主要、最流行的标准,其他几种标准也都是在这两个功能点标准的基础上发展而来的。