软件度量的方法体系

发表于:2008-4-22 17:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

项目度量
        项目度量是针对软件开发项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等,辅助项目管理进行项目控制。
规模度量
        软件开发项目规模度量(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):计算每个逻辑的主文件,如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件。⑤外部接口文件(EIF:external interface file):计算所有机器可读的接口,如磁带或磁盘上的数据文件,利用这些接口可以将信息从一个系统传送到另一个系统。
(3) 功能点分析的主要步骤 
        功能点分析可以按照如图5-6所示步骤进行:

q

图5-6 功能点分析的主要步骤
(4) 案例:CSK株式会社的功能点分析案例
【CSK株式会社的CSFPA概述】
        在实施CSFPA之前,CSK以Step数方法来估算开发规模。但是在利用VB、C++、Java、SQL等语言的项目开发中,用Step数方法进行规模估算比较困难。为了以定量化手段降低甚至消除估算错误,CSK在IFPUG(International Function Point Users Group)的FP法的基础上加以改良开发出自身的CSFPA(CSK Simplified Function Point Analysis)法,并在企业内加以实施。CSK于1995年加入IFPUG组织,并于1998年开始正式开展活动。CSFPA改良的两点是:增加了度量要件定义等上游工程的简易测量功能;避免使用人为因素太强的调整系数。CSFPA法适用体制在项目估算时的FP度量、项目完成时的FP度量、实际数据的收集、统计分析、工数模型化、质量指标化等方面具有CSK特有的方式,CSK在该方法的教育与培训、模型构筑、估算·质量计划的适用、结果评价·差异分析等方面取得了良好的绩效。
【CSFPA法的估算步骤】 
        CSFPA法与IFPUG法的估算步骤有所不同,二者的相似点以及不同点请参照图5-7。

41/41234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号