软件过程和项目度量 (2)ppt课件_第1页
软件过程和项目度量 (2)ppt课件_第2页
软件过程和项目度量 (2)ppt课件_第3页
软件过程和项目度量 (2)ppt课件_第4页
软件过程和项目度量 (2)ppt课件_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 软件工程 Software Engineering 第4章 软件过程和工程度量第第4章章 软件过程和工程度量软件过程和工程度量n4.1 过程和工程领域中的度量过程和工程领域中的度量n4.2 软件丈量软件丈量n4.3 调和不同的度量方法调和不同的度量方法n4.4 软件质量度量软件质量度量n4.5 在软件过程中集成度量在软件过程中集成度量第第4章章 软件过程和工程度量软件过程和工程度量o丈量丈量o在软件工程领域中,在软件工程领域中,“measure(丈量丈量)对一个对一个产品过程的某个属性的范围、数量、维度、容量或产品过程的某个属性的范围、数量、维度、容量或大小提供了一个定量的指示。大小提供了一

2、个定量的指示。o当获取到单个的数据点当获取到单个的数据点(如在一个模块的复审中发如在一个模块的复审中发现的错误数现的错误数)时,就建立了一个丈量。时,就建立了一个丈量。 o丈量的发生是搜集一个或多个数据点的结果丈量的发生是搜集一个或多个数据点的结果(如调如调研假设干个模块的复审,以搜集每一次复审所发现研假设干个模块的复审,以搜集每一次复审所发现的错误数的丈量的错误数的丈量)。第第4章章 软件过程和工程度量软件过程和工程度量o丈量丈量o对软件开发过程、产品和资源进展实时和事后的定对软件开发过程、产品和资源进展实时和事后的定量描画,涉及丈量的要素、方法、过程、工具和数量描画,涉及丈量的要素、方法、

3、过程、工具和数值结果。值结果。o直接丈量和间接丈量直接丈量和间接丈量o直接丈量用于不依赖于其它属性的简单属性;直接丈量用于不依赖于其它属性的简单属性;o 例如:破费的本钱、任务量、产生的例如:破费的本钱、任务量、产生的LOCo间接丈量用于依赖于假设干其它属性的要素、准那间接丈量用于依赖于假设干其它属性的要素、准那么和属性。么和属性。o 例如:软件的质量、软件的可靠性例如:软件的质量、软件的可靠性第第4章章 软件过程和工程度量软件过程和工程度量o度量度量oIEEE的软件工程术语规范辞典中定义:的软件工程术语规范辞典中定义:“metric(度量度量)为为“对一个系统、构件或过程具有的某个对一个系统

4、、构件或过程具有的某个给定属性的度的一个定量丈量。给定属性的度的一个定量丈量。 o度量具有数字特征,软件工程范围的度量是软件开度量具有数字特征,软件工程范围的度量是软件开发过程、软件资源或软件产品简单属性的定量描画。发过程、软件资源或软件产品简单属性的定量描画。如,程序规模、操作符个数、程序中错误的个数等。如,程序规模、操作符个数、程序中错误的个数等。 o软件度量在某种程度上与单个的丈量相关软件度量在某种程度上与单个的丈量相关(如每一如每一次复审所发现的错误的平均数,或复审中每人次复审所发现的错误的平均数,或复审中每人/小小时所发现的错误的平均数时所发现的错误的平均数)。第第4章章 软件过程和

5、工程度量软件过程和工程度量o目的目的o软件工程师搜集丈量结果并产生度量,这样就可以软件工程师搜集丈量结果并产生度量,这样就可以获得目的获得目的“indicator。目的是一个度量或度量。目的是一个度量或度量的组合,它对软件过程、软件工程或产品本身提供的组合,它对软件过程、软件工程或产品本身提供了更深化的了解。了更深化的了解。o估算估算o对软件产品、过程、资源进展预测对软件产品、过程、资源进展预测o估算可以采用阅历公式、或参考历史资料估算可以采用阅历公式、或参考历史资料o估算用于事前签署合同、立项、制定任务方案等估算用于事前签署合同、立项、制定任务方案等4.1 过程和工程领域中的度量过程和工程领

6、域中的度量o过程度量和软件过程改良过程度量和软件过程改良o过程度量的搜集涉及一切的工程,目的是提供可以引过程度量的搜集涉及一切的工程,目的是提供可以引导长期的软件过程改良的一组过程目的。导长期的软件过程改良的一组过程目的。4.1 过程和工程领域中的度量过程和工程领域中的度量o工程度量工程度量o评价正在进展中的工程的形状;评价正在进展中的工程的形状;o跟踪潜在的风险;跟踪潜在的风险;o在问题呵斥不良影响之前发现它们;在问题呵斥不良影响之前发现它们;o调整任务流程或义务;调整任务流程或义务;o评价工程团队控制软件任务产质量量的才干;评价工程团队控制软件任务产质量量的才干;4.2 软件丈量软件丈量o

7、软件丈量的两种分类方法:软件丈量的两种分类方法:o软件过程和产品的直接丈量软件过程和产品的直接丈量o产品的间接丈量产品的间接丈量o采用规范化的度量方法,就有能够产生在更大的组采用规范化的度量方法,就有能够产生在更大的组织范围内进展比较的软件度量。织范围内进展比较的软件度量。4.2 软件丈量面向规模的度量软件丈量面向规模的度量p面向规模的软件度量是基于曾经开发的软件的规模。面向规模的软件度量是基于曾经开发的软件的规模。p用代码行用代码行(LOC)数表示软件工程的规模,利用它数表示软件工程的规模,利用它不仅可以丈量软件规模,还可以度量软件开发的消不仅可以丈量软件规模,还可以度量软件开发的消费率,计

8、算每行代码的平均本钱,计算文档与代码费率,计算每行代码的平均本钱,计算文档与代码的比例管理,每千行代码存在的软件错误个数。的比例管理,每千行代码存在的软件错误个数。4.2 软件丈量面向规模的度量软件丈量面向规模的度量p代码行技术的主要优点:代码行技术的主要优点:p代码是一切软件开发工程都有的代码是一切软件开发工程都有的“产品,而且很产品,而且很容易计算代码行数。容易计算代码行数。p代码行技术的缺陷是:代码行技术的缺陷是: p源程序仅是软件配置的一个成分,用它的规模代表源程序仅是软件配置的一个成分,用它的规模代表整个软件的规模似乎不太合理;整个软件的规模似乎不太合理;p依赖于程序设计言语的表达才

9、干;依赖于程序设计言语的表达才干; p这种方法不适用于非过程言语;这种方法不适用于非过程言语;p会对设计精巧的软件工程产生不利的影响;会对设计精巧的软件工程产生不利的影响;p在工程开发前或初期很难作到。在工程开发前或初期很难作到。4.2 软件丈量面向规模的度量软件丈量面向规模的度量p代码行技术的规范值法代码行技术的规范值法(Expert Judgment)p 请多位专家估算程序的最小规模请多位专家估算程序的最小规模 a ,最能够的规,最能够的规模模 m,和最大规模,和最大规模 b 。以三组平均值估算程序规。以三组平均值估算程序规模:模:6bm4aL4.2 软件丈量面向规模的度量软件丈量面向规模

10、的度量o代码行技术的相关度量消费率代码行技术的相关度量消费率opl=L / EoL:代码行数,用千行代码代码行数,用千行代码kLOC度量度量oE:软件工程的任务量,用人月软件工程的任务量,用人月(PM)度量。度量。opl:软件工程的消费率,用每人每月完成的代码行:软件工程的消费率,用每人每月完成的代码行数数LOC/PM度量。度量。4.2 软件丈量面向规模的度量软件丈量面向规模的度量o代码行技术的相关度量每行代码的本钱代码行技术的相关度量每行代码的本钱oCl=S /LoS:软件工程的总开销,用人民币或美圆表示;软件工程的总开销,用人民币或美圆表示;oCl:软件工程每行代码的平均本钱,用人民币美:

11、软件工程每行代码的平均本钱,用人民币美圆圆/代码行度量代码行度量4.2 软件丈量面向规模的度量软件丈量面向规模的度量o代码行技术的相关度量文档与代码比代码行技术的相关度量文档与代码比oDl=Pd / LoPd :软件工程的文档页数:软件工程的文档页数oDl:每千行代码的平均文档页数:每千行代码的平均文档页数4.2 软件丈量面向规模的度量软件丈量面向规模的度量o代码行技术的相关度量代码出错率代码行技术的相关度量代码出错率oEQRl=Ne / LoNe:软件工程的代码错误数:软件工程的代码错误数oEQRl :每千行代码的平均错误数。:每千行代码的平均错误数。4.2 软件丈量面向规模的度量软件丈量面

12、向规模的度量例例 软件工程记录软件工程记录工程工程任务量任务量 PM本钱本钱万美圆万美圆代码行代码行kLOC文档页数文档页数 Pd错误数错误数 Ne人数人数 MAlpah2416.812.1365293Beta6244.027.21224865gamma4331.420.210506464.2 软件丈量面向功能的度量软件丈量面向功能的度量oAlbrecht 1979年提出年提出,目前在欧共体很普遍,目前在欧共体很普遍,只涉及多种要素的间接度量方式。它根据事物信息只涉及多种要素的间接度量方式。它根据事物信息处置程序的根本功能定义,因此在软件系统涉及初处置程序的根本功能定义,因此在软件系统涉及初期

13、就可以估算出软件工程的规模。期就可以估算出软件工程的规模。o功能点技术根据对软件信息域特性和软件复杂性的功能点技术根据对软件信息域特性和软件复杂性的评价结果,估算软件规模。这种方法用功能点评价结果,估算软件规模。这种方法用功能点FP为单位度量软件规模。为单位度量软件规模。o 4.2 软件丈量面向功能的度量软件丈量面向功能的度量 表中的五个信息量按以下方式取值表中的五个信息量按以下方式取值用户输入数用户为软件提供的输入参数个数用户输入数用户为软件提供的输入参数个数用户输出数软件系统为用户提供的输出参数个数用户输出数软件系统为用户提供的输出参数个数用户查询数一个联机输入确定一次查询,软件以用户查询

14、数一个联机输入确定一次查询,软件以 联机输出的方式联机输出的方式, ,实时地产生一个呼应实时地产生一个呼应主文件数主文件数 统计逻辑的主文件个数统计逻辑的主文件个数外部界面数统计一切机器可读的界面,利用这些外部界面数统计一切机器可读的界面,利用这些 界面可以将信息从一个系统传送到另一个界面可以将信息从一个系统传送到另一个 系统系统o估算功能点的步骤估算功能点的步骤o计算未调整的功能点数计算未调整的功能点数UFPUFPo首先,把产品信息域的每个特性首先,把产品信息域的每个特性( (即即InpInp、OutOut、InqInq、MafMaf和和Inf)Inf)都分类为简单级、平均级或复杂级,都分类

15、为简单级、平均级或复杂级,并根据其等级为每个特性分配一个功能点数并根据其等级为每个特性分配一个功能点数. .o然后,用下式计算未调整的功能点数然后,用下式计算未调整的功能点数UFPUFP: UFP=a1UFP=a1Inp+a2Inp+a2Out+a3Out+a3Inq+a4Inq+a4Maf+a5Maf+a5InfInfo其中,其中,ai(1i5)ai(1i5)是信息域特性系数,其值由相是信息域特性系数,其值由相应特性的复杂级别决议,见书应特性的复杂级别决议,见书342342所示。所示。4.2 软件丈量面向功能的度量软件丈量面向功能的度量o估算功能点的步骤估算功能点的步骤o计算技术复杂性因子计

16、算技术复杂性因子TCFTCFo度量度量1414种技术要素对软件规模的影响程度。种技术要素对软件规模的影响程度。o用用Fi(1i14)Fi(1i14)代表这些要素。根据软件的代表这些要素。根据软件的特点,为每个要素分配一个从特点,为每个要素分配一个从0 0到到5 5的值。的值。o计算技术要素对软件规模的综合影响程度。计算技术要素对软件规模的综合影响程度。oDI =DI =o技术复杂性因子技术复杂性因子TCFTCF由下式计算:由下式计算: oTCF=0.65+0.01TCF=0.65+0.01DIDIoDIDI的值在的值在0 07070之间,所以之间,所以TCFTCF的值在的值在0.650.651

17、.351.35之间。之间。 4.2 软件丈量面向功能的度量软件丈量面向功能的度量141iiFo估算功能点的步骤估算功能点的步骤o计算功能点数计算功能点数FPFPo用下式计算功能点数用下式计算功能点数FPFP: o FP=UFP FP=UFPTCFTCF4.2 软件丈量面向功能的度量软件丈量面向功能的度量 4.2 软件丈量面向功能的度量软件丈量面向功能的度量o功能点技术的相关度量消费率功能点技术的相关度量消费率o Pf=FP/E o 其中其中 Pf表示每人月完成的功能点数表示每人月完成的功能点数 4.2 软件丈量面向功能的度量软件丈量面向功能的度量o功能点技术的相关度量平均本钱功能点技术的相关度

18、量平均本钱o Cf=S/FPo o 其中其中 Cf :每功能点的平均本钱:每功能点的平均本钱REM, USD 4.2 软件丈量面向功能的度量软件丈量面向功能的度量o功能点技术的相关度量文档与功能点比功能点技术的相关度量文档与功能点比oDf=Pd / FPo o 其中其中 Df:每功能点平均具有的文档页数:每功能点平均具有的文档页数 4.2 软件丈量面向功能的度量软件丈量面向功能的度量o功能点技术的相关度量代码出错率功能点技术的相关度量代码出错率oEQRf=Ne / FPo o 其中其中 EQRf:表示每个功能点的平均错误个数。:表示每个功能点的平均错误个数。4.2 软件丈量面向功能的度量软件丈

19、量面向功能的度量o软件规模的功能点度量没有直接设计软件系统本身软件规模的功能点度量没有直接设计软件系统本身的算法复杂性,因此它适宜算法比较简单的事物系的算法复杂性,因此它适宜算法比较简单的事物系统的软件规模度量。统的软件规模度量。o对比较复杂的软件系统,照实时系统、大型嵌入式对比较复杂的软件系统,照实时系统、大型嵌入式系统软件、过程控制软件不适用。系统软件、过程控制软件不适用。 4.2 软件丈量面向功能的度量软件丈量面向功能的度量o优点优点o与程序设计言语无关,适用于过程式和非过程式言与程序设计言语无关,适用于过程式和非过程式言语。语。o适用于软件工程的开发初期。适用于软件工程的开发初期。o缺

20、陷缺陷o涉及客观要素较多涉及客观要素较多o信息领域某些值不易采集信息领域某些值不易采集oFP的值没有直观的物理意义的值没有直观的物理意义4.2 软件丈量面向对象的度量软件丈量面向对象的度量o场景脚本的数量场景脚本的数量o场景脚本是一个详细的步骤序列,用来描画用户和运用系统之间的交互。场景脚本是一个详细的步骤序列,用来描画用户和运用系统之间的交互。o关键类的数量关键类的数量oDomin Class:问题域的中心。:问题域的中心。o通常在工程的早期就可以确定下来。通常在工程的早期就可以确定下来。o支持类的数量支持类的数量o是实现系统所必需的但又不与问题域直接相关的类。是实现系统所必需的但又不与问题

21、域直接相关的类。o包括:包括:UI类、操作类等。类、操作类等。o支持类的定义贯穿于工程的一直。支持类的定义贯穿于工程的一直。o在采用在采用GUI的运用中,支持类是关键类的的运用中,支持类是关键类的23倍;倍;o在不采用在不采用GUI的运用中,支持类是关键类的的运用中,支持类是关键类的12倍;倍;o子系统的数量子系统的数量o是实现某个功能的类的集合。是实现某个功能的类的集合。4.3 调和代码行和功能点的度量方法调和代码行和功能点的度量方法o代码行度量依赖于程序设计言语,而功能点度量不代码行度量依赖于程序设计言语,而功能点度量不依赖于程序设计言语。依赖于程序设计言语。oAlbrechtAlbrec

22、ht和和JonesJones等人对假设干软件采用事后处置等人对假设干软件采用事后处置的方式分别统计出不同程序设计言语每个功能点与的方式分别统计出不同程序设计言语每个功能点与代码行数的关系,用代码行数的关系,用LOC/FPLOC/FP的平均值表示。的平均值表示。4.3 调和代码行和功能点的度量方法调和代码行和功能点的度量方法表表 各种言语的各种言语的LOC/FP(LOC/FP(平均值平均值) )程序设计言语程序设计言语 LOC/FP( LOC/FP(平均值平均值) )汇编言语汇编言语 300 300COBOL 100COBOL 100FORTRAN 100FORTRAN 100Pascal 90

23、Pascal 90Ada 70Ada 70面向对象的言语面向对象的言语 30 30四代言语四代言语(4GL) 20(4GL) 20代码生成器代码生成器 15 154.3 调和代码行和功能点的度量方法调和代码行和功能点的度量方法o利用上表中所包含的信息,只需知道了程序设计言利用上表中所包含的信息,只需知道了程序设计言语的语的LOC,就可以,就可以逆向逆向估算出现有软件的估算出现有软件的FP。4.4 软件质量度量软件质量度量 o软件工程的最高目的就是产生高质量的系统、运用软件工程的最高目的就是产生高质量的系统、运用软件或产品。为了到达这个目的,软件工程师必需软件或产品。为了到达这个目的,软件工程师

24、必需掌握在成熟的软件过程背景下有效的方法及现代化掌握在成熟的软件过程背景下有效的方法及现代化的工具的运用。除此之外,一个优秀的软件工程师的工具的运用。除此之外,一个优秀的软件工程师(及优秀的软件工程管理者及优秀的软件工程管理者)必需评价能否可以到达必需评价能否可以到达高质量的目的。高质量的目的。4.4 软件质量度量软件质量度量o丈量质量丈量质量o正确性正确性o一个程序必需可以正确操作,否那么对于用一个程序必需可以正确操作,否那么对于用户就没有价值了。正确性是软件完成所需的户就没有价值了。正确性是软件完成所需的功能的程度。关于正确性的最常用的丈量是功能的程度。关于正确性的最常用的丈量是每千行每千

25、行(KLOC)的缺陷数,这里缺陷定义为的缺陷数,这里缺陷定义为验证出的与需求不符的地方。验证出的与需求不符的地方。 4.4 软件质量度量软件质量度量o丈量质量丈量质量o可维护性可维护性o软件维护所占的任务量比任何其他软件工程活动都软件维护所占的任务量比任何其他软件工程活动都大。可维护性是指遇到错误时程序能被修正的容易大。可维护性是指遇到错误时程序能被修正的容易程度;环境发生变化时程序可以顺应的容易程度,程度;环境发生变化时程序可以顺应的容易程度,用户希望改动需求时程序能被加强的容易程度。用户希望改动需求时程序能被加强的容易程度。o一个简单的面向时间的度量是平均修正时间一个简单的面向时间的度量是

26、平均修正时间(mean-time-to-change,MTTC),即分析,即分析改动的需求设计适宜的修正方案实现修正测试,并改动的需求设计适宜的修正方案实现修正测试,并将修正后的结果发布给用户所花的时间。将修正后的结果发布给用户所花的时间。 4.4 软件质量度量软件质量度量o丈量质量丈量质量o完好性完好性o在黑客及病毒横行的如今,软件完好性已变在黑客及病毒横行的如今,软件完好性已变得日益重要。这个属性丈量系统在平安方面得日益重要。这个属性丈量系统在平安方面的抗攻击的抗攻击(包括偶尔的和蓄意的包括偶尔的和蓄意的)才干。攻击才干。攻击能够发生在软件的三个主要成分上:程序、能够发生在软件的三个主要成

27、分上:程序、数据及文档。数据及文档。o一个系统的完好性可以定义为:一个系统的完好性可以定义为:o 完好性完好性=1要挟要挟(1平安性平安性)4.4 软件质量度量软件质量度量o丈量质量丈量质量o可用性可用性o可用性试图量化可用性试图量化“用户友好性,并根据四用户友好性,并根据四个特性来丈量:个特性来丈量:o学会一个系统所需的膂力的和学会一个系统所需的膂力的和/或智力的投或智力的投入;入;o在系统的运用上到达中等效率所需的时间;在系统的运用上到达中等效率所需的时间;o当系统由某个具有中等效率的人运用时,丈当系统由某个具有中等效率的人运用时,丈量到的消费率的净增长量到的消费率的净增长(与被该系统替代

28、的与被该系统替代的老系统相比老系统相比);o用户对系统的态度的一个客观评价用户对系统的态度的一个客观评价(有时可有时可以经过调查表获得以经过调查表获得)。 4.4 软件质量度量软件质量度量o缺陷排除效率缺陷排除效率DREo缺陷排除效率是在工程级和过程级都有意义的质量缺陷排除效率是在工程级和过程级都有意义的质量度量。度量。oDRE是对质量保证及控制活动滤除缺陷才干的丈是对质量保证及控制活动滤除缺陷才干的丈量。量。oDRE=E/(E+D)oE:软件交付给最终用户之前发现的错误数。软件交付给最终用户之前发现的错误数。oD:软件交付之后发现的缺陷数。软件交付之后发现的缺陷数。4.5 在软件过程中集成度量在软件过程中集成度量o经过对消费率丈量和质量丈量提出恳求,并进展评经过对消费率丈量和质量丈量提出恳求,并进展评价,软件团队可以建立改良软件工程过程的有意义价,软件团队可以建立改良软件工程过程的有意义的目的。的目的。o建立基线建立基线o数据必需相当准确,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论