112软件项目度量管理...........................................................................................................212.1软件度量概述...........................................................................................................212.1.1度量定义...........................................................................................................312.1.2度量的类型.......................................................................................................412.1.3度量的作用.......................................................................................................412.1.4度量的成本.......................................................................................................412.2度量体系...................................................................................................................412.3度量技术...................................................................................................................512.3.1GQM技术........................................................................................................512.3.2PsM技术..........................................................................................................612.4度量管埋过程...........................................................................................................712.4.1标识目标...........................................................................................................812.4.2选择度量指标...................................................................................................812.4.3定义数据收集...................................................................................................812.4.4分析度量...........................................................................................................912.4.5改逆度量过裎.................................................................................................1012.5度量计划.................................................................................................................1012.5.1度量计划的构成.............................................................................................1012.5.2度量计划的买施.............................................................................................1212.6度量指标选择.........................................................................................................1312.6.1PsMER分类组...............................................................................................1312.6.2s匚丨E=指标...............................................................................................1512.6.3PSPE=...........................................................................................................1812.6.4SE⊥的度量指标............................................................................................1912.7软件度量的建议.....................................................................................................2012.8案例说明.................................................................................................................2112.9小结.........................................................................................................................2212.10习题.........................................................................................................................22212软件项目度量管理项目度量是实现量化管理的关键,没有度量,项目管理永远是主观的管理。但是,项目度量常被项目管理过程所忽略,其实它很重要。度量的作用不是立竿见影的,它的作用是潜在的,是逐步体现出来的。所以,应该在项目计划中建立度量计划。本章我们将进入路线图的第11站:项目度量,如图12-1所示。图12-1路线图第11站:项目度量我们的生活中同样充满了度量。度量物体的长、宽、高以判断物体是否合乎相关标准,度量体温以便判断是否有发烧症状,度量读书的速度以便计划将来读书的时间等。总之,度量在我们的日常生活中是无处不在的,而且起着比较重要的作用。度量就像一把尺子,衡量合乎标准、规则、计划的情况。在激烈的软件行业竞争中,客户都希望以更低的费用、更快的速度,获得更多的高质量的产品功能,并可以迅速实现新的功能,以满足不断变化的市场需求。软件度量已经成为企业能否跟上快速变换的信息技术发展的关键要素。12.1软件度量概述软件度量为软件过程的不断改进和量化管理奠定了基础,也为管理层了解项目状态提供了帮助,但国内在这方面似乎经验不足。近来,软件项目总是由于超进度和超预算而名声在外,而且还存在质量的问题,究其原因,主要是没有对进度、成本和质量等进行准确的预计,没有有效的度量。软件度量已经发展成为一门至关重要的软件工程学科。过去,很多的软件组织认为度量是额外的,是可以忽略的工作,其实,软件度量已经是软件工程的重要实践。高效的组织在技术目标和管理目标上使用客观的度量数据,用度量来帮助计划和评价一个软件项目。规划项目时,需要估计项目规模和进度;跟踪项目时,需要明确实际的工作量和时间与计划的对比情况;判断软件产品的稳定性时,需要明确发现和纠正缺陷的比率;定量了解项目的进展,需要对当前项目的绩效进行测量,并与基线进行比较。这些都需要准确的度量,度量可以帮助项目经理更好地规划和控制项目,更多地了解项目的情况。一个有效的项目管理应该是离不开度量的。其实,软件度量是软件项目很重要的一项任务,只是目前还没有受到应有的重视。从图12。2可见,只有经过度量才能知道:项目缺陷10%来自需求阶段,40%来自设计阶段,50%来3自实现阶段。也只有经过度量才能知道:缺陷的发现有3%通过需求评审实现,5%通过设计评审实现,7%通过代码评审实现,25%通过功能测试实现,50%通过系统测试实现,还有10%的缺陷留给后来用户发现或者投诉。当然,也可以通过度量知道解决缺陷的成本组成,如图12-3所示。图12ˉ2阶段缺陷度量结杲12.1.1度量定义量度(mcasurc)被定义为测量的一个单位,必须为每个量度建立通用的或者局部的标准,代码行(LOC)是量度的一个例子,如果没有标准确定什么是代码行(LOC),组织就应该定义一个局部标准来说明代码行(LOC),或者采用相关文献的标准。测量(measuremcnt)是一个行为或者过程,测量是为实体的所选属性赋予数字或者符号的过程。属性是一个实体的特征,一个实体可以是物理对象,或者可以是发生在现实世界中的事件或者过程。测量过程把现实世界中的实体映射到形式化的数学领域。图12ˉ3缺陷与成本关系度量结果度量(mctric)是一个指标器,指示多个(或者单个)量度的计算或者组合的结果,例如缺陷数/千代码行(KLOC)就是一个度量。所以,一个量度是一个直接测量的结果,而4一个度量是通过多个测量进行计算而得到的结杲。软件度量是通过各种不同的量度对软件生存期中的各个元素进行测量的。通过度量可以定量了解项目进度、工作量、产品规模、项目状态以及质量性能等,从而评估项目情况、跟踪进展、评价效率等。SW-CMM中并没有一个专门的软件度量的关键过程域,而是将其贯穿于其他关键过程城中,不过在SW-CMM的继承者——CMMI中定义了一个专门的关键过程城:度量与分析软件度量。尽管度量和量度有不同形式的定义,但在实践中可以同义地互换使用。因此,在软件工程的文献和实践中,术语“软件度量”(SoftwarcMctrics)、“软件量度”(SoftwarcMcasurcs)和“软件测量”(SoftwareMcasurcment)可以相互互换使用。12.1