软件度量的方法体系

发表于:2010-06-12来源:作者:点击数: 标签:度量软件
软件 度量 的方法体系 软件测试 项目度量 项目度量是针对软件 开发 项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助 项目管理 进行项目控制。 规模度量 软件开发项目规模度量(size measurement)是 估算 软件项目工作量、编制

  软件度量的方法体系    软件测试

  项目度量

  项目度量是针对软件开发项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助项目管理进行项目控制。

  规模度量

  软件开发项目规模度量(size measurement)是估算软件项目工作量、编制成本预算、策划合理项目进度的基础。规模度量是软件项目失败的重要原因之一。一个好的规模度量模型可以解决这一问题。有效的软件规模度量是成功项目的核心要素:基于有效的软件规模度量可以策划合理的项目计划,合理的项目计划有助于有效地管理项目。规模度量的要点在于:由开发现场的项目成员进行估算;灵活运用实际开发作业数据;杜绝盲目迎合顾客需求的“交期逆推法”。

  软件规模度量有助于软件开发团队准确把握开发时间、费用分布以及缺陷密度等等。软件规模的估算方法有很多种,如:功能点分析(FPA:function points analysis)、代码行(LOC:lines of code)、德尔菲法(Delphi technique)、COCOMO模型、特征点(feature point)、对象点(object point)、3-D功能点(3-D function points)、Bang度量(DeMarco's bang metric)、模糊逻辑(fuzzy logic)、标准构件法(standard component)等,这些方法不断细化为更多具体的方法。

  1. 功能点分析法

  (1)功能点分析法概述

  功能点分析法(FPA:function point analysis)是在需求分析阶段基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模测量。FPA法由IBM的工程师艾伦·艾尔布策(Allan Albrech)于20世纪70年代提出,随后被国际功能点用户协会(IFPUG:The International Function Point Users' Group)提出的IFPUG方法继承,从系统的复杂性和系统的特性这两个角度来度量系统的规模,其特征是:“在外部式样确定的情况下可以度量系统的规模”,“可以对从用户角度把握的系统规模进行度量”。功能点可以用于“需求文档”、“设计文档”、“源代码”、“测试用例”度量,根据具体方法和编程语言的不同,功能点可以转换为代码行。经由ISO组织已经有多种功能点估算方法成为国际标准,如:①加拿大人艾伦·艾布恩(Alain Abran)等人提出的全面功能点法(full function points);②英国软件度量协会(UKSMA:United Kingdom Software Metrics Association)提出的IFPUG 功能点法(IFPUG function points);③英国软件度量协会提出的Mark II FPA功能点法(Mark II function points);④荷兰功能点用户协会(NEFPUG:Netherlands Function Point Users Group)提出的NESMA 功能点法,以及软件度量共同协会(COSMIC:the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法,这些方法都属于艾尔布策功能点方法的发展和细化。

  (2)功能点分析法的基本计数

  功能点分析的基本计数就是依据标准计算出的系统(或模块)中所含每一种元素的数目:

  ①外部输入数(EI:external input):计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。

  ②外部输出数(EO:external output):计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。

  ③外部查询数(EQ:external query):一个查询被定义为一次联机输入,它导致软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。

  ④内部逻辑文件(ILF:internal logical file):计算每个逻辑的主文件,如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件。

原文转自:http://www.ltesting.net