在功能点方法的发展演进中,共有5种功能点方法被ISO国际标准组织接受成为了ISO国际功能点标准。这五种方法分别为IFPUG、MARK Ⅱ、COSMIC、NESMA和FiSMA方法。目前在全球使用功能点方法的企业中,超过90%使用IFPUG/NESMA方法,而NESMA方法中详细功能点方法与IFPUG方法基本等效。
国际5大ISO功能点方法标准发展简介:
(1)ISO/IEC 20926 软件和系统工程—软件度量—IFPUG功能规模度量方法2009(Software 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组织接纳成为国际标准。
(2)ISO/IEC 19761 软件工程—COSMIC:一种功能规模度量方法(Software engineering -- COSMIC: a functional size measurement method)COSMIC(Common Software Measurement International Consortium,通用软件度量国际联盟)功能点的前身来源于1997年所提出的FFP(Full Function Point,全面功能点)功能点标准,后来FFP组织又与COSMIC组织共同合作于1999年提出了COSMIC功能点标准,该标准历经修订,该标准也于2003年被ISO组织接纳成为国际标准。
(3)ISO/IEC 20968 软件工程—MkⅡ功能点分析—计数实践手册(Software engineering -- MkⅡ Function Point Analysis -- Counting Practices Manual)1991年,英国人Charles Symons在自己的《Software Sizing and Estimating: MkII Function Point Analysis》一书中介绍了MarkII功能点的操作方法。Symnos先生在为毕马威咨询公司工作期间提出了MarkII功能点操作方法,在该操作方法的基础之上形成了MarkII功能点标准,该标准提出后被英国政府所采纳,目前该标准由英国软件行业协会维护。2001年被ISO组织接纳成为国际标准。
(4)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)NESMA为荷兰软件度量协会的简称(Netherland Software Measurement Association),NESMA功能点标准与IFPUG功能点标准之间存在一定的差异,,但与其他的功能点标准相比较(MarkII功能点标准、COSMIC功能点标准和FISMA功能点标准),NESMA功能点标准与IFPUG功能点标准保持了**的一致性。
(5)ISO/IEC
29881 信息技术—系统和软件工程—FiSMA1.1功能规模度量方法(Information technology – Systems
and software engineering -- FiSMA 1.1 functional size measurement
method)FISMA(FIland Software Measurement
Association,芬兰软件度量行业协会)组织于1997年就提出了FISMA1.1功能点标准的前身——Experience 2.0
Function Point
Analysis(FPA),目前该标准的应用主要集中于芬兰本国的软件开发组织。与其他的功能点标准相比较,FISMA功能点标准突出了“服务”概念,不再强调“功能”概念。另外,FISMA将软件的典型功能区分为28种服务,从而使得服务类型的划分更为细致,但同时也增加了操作方面的不便。
5大功能点方法比较
根据ISO系列标准对行业内应用比较广泛的几种功能点方法的发展历程、度量模型进行归纳和总结,并从技术角度和用户角度进行了比较。
功能点方法比较(技术角度)
名称 | 测量角度 | 基本组件 | 组件类型 | 权值 | 调整因子 | 适用领域 | |
IFPUG | 终端用户 | 基本功能要素 | 内部逻辑文件ILF 外部接口文件EIF 外部输入EI 外部输出EO 外部查询EQ | 由复杂度决定 | 14个 | 管理信息系统 | |
MarkⅡ | 终端用户 | 逻辑事务 | 输入(Input) 处理(Processing) 输出(Output) | 0.58 1.66 0.26 | 19个 | 管理信息系统; 实时系统等 | |
COSMIC | 终端用户;开发者 | 功能过程 | 输入(Entry) 输出(Exit) 读(Read) 写(Write) | 1 1 1 1 | 无 | 管理信息系统; 实时系统; 商业应用软件等 | |
N E S M A | 详细功能点法 | 终端用户 | 基本功能要素 | 内部逻辑文件ILF 外部接口文件EIF 外部输入EI 外部输出EO 外部查询EQ | 由复杂度决定 | 14个 | 管理信息系统; 商务应用软件:如银行、财务、保险、采购等领域的信息系统 |
预估功能点法 | 内部逻辑文件ILF 外部接口文件EIF | 35 15 | 14个 | ||||
估算功能点法 | 内部逻辑文件ILF 外部接口文件EIF 外部输入EI 外部输出EO 外部查询EQ | 10 7 4 5 4 | 14个 |
功能点方法比较(用户角度)
名称 | 应用领域 | 方法易用性 | 用户广泛性 | 可靠性 | 综合评价 |
IFPUG | ★★★★ | ★★★ | ★★★★★ | ★★★ | ★★★★ |
MarkⅡ | ★★ | ★★ | ★★ | ★★★★★ | ★★ |
COSMIC | ★★★★★ | ★★★★ | ★★★ | ★★ | ★★★ |
NESMA | ★★★★ | ★★★★★ | ★★★★ | ★★★★ | ★★★★★ |