软件度量综述

上传人:今*** 文档编号:106891359 上传时间:2019-10-16 格式:PPT 页数:68 大小:1.16MB
返回 下载 相关 举报
软件度量综述_第1页
第1页 / 共68页
软件度量综述_第2页
第2页 / 共68页
软件度量综述_第3页
第3页 / 共68页
软件度量综述_第4页
第4页 / 共68页
软件度量综述_第5页
第5页 / 共68页
点击查看更多>>
资源描述

《软件度量综述》由会员分享,可在线阅读,更多相关《软件度量综述(68页珍藏版)》请在金锄头文库上搜索。

1、1,软件度量综述,吴小萌 2016-07-25,软件度量(software measurement),软件度量(software measurement):对软件开发项目、过程及其产品进行定量化的过程,目的在于对其加以理解、预测、评估、控制和改善。 度量取向:软件开发的诸多事项,涉及项目、产品和过程多方面,包括规模、成本、进度、可靠性、功能性、易用性、缺陷、生产率、生命周期等等。 度量取向的依据是:事实、数据、原理、法则; 度量取向的方法是:测试、审核、调查; 度量取向的工具是:统计、图表、数字、模型; 度量取向的标准是:量化的指标。,2,3,度量与量度,software measuremen

2、t 和 software metrics分别译成软件度量和软件量度,目前学界还没有明确这两个术语的区别,从文献上看,这两个术语是同义词。大多数人采用软件度量(software measurement)。,4,软件度量的发展历程,Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco la

3、boris nisi ut aliquip ex ea commodo consequat.,软件度量流程,5,软件度量三维度 (考试),6,项目度量,项目度量是针对软件开发项目的特定度量,目的在于度量项目规模、项目成本、项目进度、顾客满意度等。 项目度量目的:辅助项目管理、进行项目控制。,7,规模度量,规模度量(size measurement)是估算软件项目工作量、编制成本预算、策划合理项目进度的基础。 软件规模的估算方法: 代码行(LOC:lines of code) 功能点分析(FPA:function points analysis) 德尔菲法(Delphi technique) C

4、OCOMO模型 特征点(feature point) 对象点(object point) 3-D功能点(3-D function points) Bang度量(DeMarcos bang metric) 模糊逻辑(fuzzy logic) 标准构件法(standard component)等,,8,代码行(LOC:lines of code),代码行(LOC):所有可执行源代码行数,包括可交付的工作控制语言(JCL:job control language)语句、数据定义、数据类型声明、等价声明、输入/输出格式声明等。 一代码行(1LOC)的价值和人月均代码行数可以体现一个软件组织的生产能力。

5、 可以根据对历史项目的审计来核算单行代码价值。 代码行LOC常用于源代码的规模估算,常使用的单位有: SLOC (single line of code) KLOC (thousand lines of code) LLOC (logical line of code) PLOC (physical line of code) NCLOC (non-commented line of code) DSI (delivered source instruction)。,9,面向LOC的估算模型,Walston-Felix模型 E=5.2*(KLOC)0.91 Bailey-Basili模型 E=

6、5.5+0.73*(KLOC)1.16 Boehm模型 E=3.2*(KLOC)1.05 Doty模型 E=5.288*(KLOC)1.047,10,功能点分析法(FPA:function point analysis),功能点分析法(FPA)是在需求分析阶段基于系统功能的一种规模估算方法,是基于应用软件的外部、内部特性以及软件性能的一种间接的规模测量。 FPA法由IBM的工程师艾伦艾尔布策(Allan Albrech)于20世纪70年代提出,随后被国际功能点用户协会(IFPUG:The International Function Point Users Group)提出的IFPUG方法继承

7、。,11,成为国际标准的功能点估算方法: 加拿大人艾伦艾布恩(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 功能点法; 软

8、件度量共同协会(COSMIC:the COmmon Software Metrics Consortium)提出的COSMIC-FFP方法; ,12,功能点分析的主要步骤,13,功能点分析法的基本计数 外部输入数(EI:external input):计算每个用户输入,它们向软件提供面向应用的数据。输入应该与查询区分开来,分别计算。 外部输出数(EO:external output):计算每个用户输出,它们向软件提供面向应用的信息。这里,输出是指报表、屏幕、出错信息,等等。一个报表中的单个数据项不单独计算。 外部查询数(EQ:external query):一个查询被定义为一次联机输入,它导致

9、软件以联机输出的方式产生实时的响应。每一个不同的查询都要计算。 内部逻辑文件(ILF:internal logical file):计算每个逻辑的主文件,如数据的一个逻辑组合,它可能是某个大型数据库的一部分或是一个独立的文件。 外部接口文件(EIF:external interface file):计算所有机器可读的接口,如磁带或磁盘上的数据文件,利用这些接口可以将信息从一个系统传送到另一个系统。,14,面向FP的估算模型,Albrecht 和Gaffney E=-13.39+0.0545FP Kemerer E=60.62*7.728*10(-8)*FP3 Maston、Barnett和 M

10、ellichamp E=585.7+5.12FP,15,16,德尔菲法(Delphi technique),德尔菲法的步骤是: (1)协调人向各专家提供项目规格和估算表格; (2)协调人召集小组会和各专家讨论与规模相关的因素; (3)各专家匿名填写迭代表格; (4)协调人整理出一个估算总结,以迭代表的形式返回给专家; (5)协调人召集小组会,讨论较大的估算差异; (6)专家复查估算总结并在迭代表上提交另一个匿名估算; (7)重复46,直到最低估算和最高估算一致。,17,LOREM IPSUM DOLOR,德尔菲法(Delphi)是最流行的专家评估技术,在没有历史数据的情况下,这种方式适用于评定

11、过去与将来、新技术与特定程序之间的差别,但专家“专”的程度及对项目的理解程度是工作中的难点,尽管德尔菲技术可以减轻这种偏差,在评定一个新软件实际成本时通常用得不多,但是,这种方式对决定其他模型的输入时特别有用。,18,LOREM IPSUM DOLOR,Expert judgment专家评估(判断) Analogy类推 Proportion预测(x悲观+4y乐观+z可能)/6 Delphi technique Delphi 技术 Wolverton model Wolverton 模型,构造性成本模型(COCOMO:constructive cost model),构造性成本模型(COCOMO

12、)是一种精确、易于使用的基于模型的成本估算方法,最早由勃姆(Boehm)于1981年提出。 COCOMO模型具有估算精确、易于使用的特点。 该模型按其详细程度分为3级: 基本COCOMO模型 中级COCOMO模型 高级COCOMO模型,19,基本COCOMO模型 是一个静态单变量模型,它用一个已估算出来的源代码行数(LOC)为自变量的函数来计算软件开发工作量。 中级COCOMO模型 在用LOC为自变量的函数计算软件开发工作量的基础上,再用涉及产品、硬件、人员、项目等方面属性的影响因素来调整工作量的估算 高级COCOMO模型 包括中级COCOMO模型的所有特性,但用上述各种影响因素调整工作量估算

13、时,还要考虑对软件工程过程中分析、设计等各步骤的影响。,20,COCOMO模型中使用的基本量有以下几个: (1)DSI(源指令条数),定义为代码行数,包括除注释行以外的全部代码。若一行有两个语句,则算做一条指令。 (2)MM(度量单位为人月)表示开发工作量。 (3)TDEV(度量单位为月)表示开发进度,由工作量决定。 (4)COCOMO模型重点考虑15种影响软件工作量的因素,并通过定义乘法因子,从而准确、合理地估算软件的工作量。,21,22,成本度量,软件开发成本度量主要指软件开发项目所需的财务性成本的估算。主要方法如下: 类比估算法 细分估算法 周期估算法,类比估算法: 类比估算法是通过比较

14、已完成的类似项目系统来估算成本,适合评估一些与历史项目在应用领域、环境和复杂度方面相似的项目。其约束条件在于必须存在类似的具有可比性的软件开发系统,估算结果的精确度依赖于历史项目数据的完整性、准确度以及现行项目与历史项目的近似程度。,23,细分估算法: 细分估算法是将整个项目系统分解成若干个小系统,逐个估算成本,然后合计起来作为整个项目的估算成本。细分估算法通过逐渐细化的方式对每个小系统进行详细的估算,可能获得贴近实际的估算成本。其难点在于,难以把握各小系统整合为大系统的整合成本。,24,周期估算法: 周期估算法是按软件开发周期进行划分,估算各个阶段的成本,然后进行汇总合计。周期估算法基于软件

15、工程理论对软件开发的各个阶段进行估算,很适合瀑布型软件开发方法,但是需要估算者对软件工程各个阶段的作业量和相互间的比例具有相当的了解。,25,顾客满意度度量,顾客满意度指标(CSI:customer satisfaction index)以顾客满意研究为基础,对顾客满意度加以界定和描述。 项目的顾客满意度度量 确定各类信息、数据、资料来源的准确性、客观性、合理性、有效性,并以此建立产品、服务质量的衡量指标和标准。 企业的顾客满意度度量 标准会因为各企业的经营理念、经营战略、经营重点、价值取向、顾客满意度调查结果等因素而有所不同。,26,美国专家斯蒂芬(Stephen H.Kan)在软件质量工程

16、的度量与模型(Metrics and Models in Software Quality Engineering)中给出的企业的顾客满意度要素:,27,作为企业的顾客满意度的基本构成单位,项目的顾客满意度会受到项目要素的影响 ,可以细分为如表所示的度量要素:,28,产品度量,软件产品质量的生命周期及其度量 软件产品度量用于对软件产品进行评价,并在此基础之上推进产品设计、产品制造和产品服务优化。 软件产品的度量实质上是软件质量的度量,而软件的质量度量与其质量的周期密切相关,如图所示:,29,30,LOREM IPSUM,Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.,软件产品质量度量模型,软件产品的度量主要针对作为软件开发成果的软件产品的质量而言,独立于其过程。 软件的质量由一系列质量要素组成,每一个质量要素又由一些衡量标准组成,每个衡量标准又由一些量度

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号