软件项目度量管理_第1页
软件项目度量管理_第2页
软件项目度量管理_第3页
软件项目度量管理_第4页
软件项目度量管理_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、12软件项目度量管理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.3PSPE1812.6.4SE的度量指标1912.7软件度

2、量的建议2012.8案例说明2112.9小结2212.10习题2212 软件项目度量管理项目度量是实现量化管理的关键,没有度量,项目管理永远是主观的管理。但是,项目度量常被项目管理过程所忽略,其实它很重要。度量的作用不是立竿见影的,它的作用是潜在的,是逐步体现出来的。所以,应该在项目计划中建立度量计划。本章我们将进入路线图的第11站:项目度量,如图12-1所示。图12-1路线图第11站:项目度量我们的生活中同样充满了度量。度量物体的长、宽、高以判断物体是否合乎相关标准,度量体温以便判断是否有发烧症状,度量读书的速度以便计划将来读书的时间等。总之,度量在我们的日常生活中是无处不在的,而且起着比较

3、重要的作用。度量就像一把尺子,衡量合乎标准、规则、计划的情况。在激烈的软件行业竞争中,客户都希望以更低的费用、更快的速度,获得更多的高质量的产品功能,并可以迅速实现新的功能,以满足不断变化的市场需求。软件度量已经成为企业能否跟上快速变换的信息技术发展的关键要素。12.1 软件度量概述软件度量为软件过程的不断改进和量化管理奠定了基础,也为管理层了解项目状态提供了帮助,但国内在这方面似乎经验不足。近来,软件项目总是由于超进度和超预算而名声在外,而且还存在质量的问题,究其原因,主要是没有对进度、成本和质量等进行准确的预计,没有有效的度量。软件度量已经发展成为一门至关重要的软件工程学科。过去,很多的软

4、件组织认为度量是额外的,是可以忽略的工作,其实,软件度量已经是软件工程的重要实践。高效的组织在技术目标和管理目标上使用客观的度量数据,用度量来帮助计划和评价一个软件项目。规划项目时,需要估计项目规模和进度;跟踪项目时,需要明确实际的工作量和时间与计划的对比情况;判断软件产品的稳定性时,需要明确发现和纠正缺陷的比率;定量了解项目的进展,需要对当前项目的绩效进行测量,并与基线进行比较。这些都需要准确的度量,度量可以帮助项目经理更好地规划和控制项目,更多地了解项目的情况。一个有效的项目管理应该是离不开度量的。其实,软件度量是软件项目很重要的一项任务,只是目前还没有受到应有的重视。从图12。2可见,只

5、有经过度量才能知道:项目缺陷10来自需求阶段,40来自设计阶段,50来自实现阶段。也只有经过度量才能知道:缺陷的发现有3通过需求评审实现,5通过设计评审实现,7通过代码评审实现,25通过功能测试实现,50通过系统测试实现,还有10的缺陷留给后来用户发现或者投诉。当然,也可以通过度量知道解决缺陷的成本组成,如图12-3所示。图122阶段缺陷度量结杲12.1.1 度量定义量度(mcasurc)被定义为测量的一个单位,必须为每个量度建立通用的或者局部的标准,代码行(LOC)是量度的一个例子,如果没有标准确定什么是代码行(LOC),组织就应该定义一个局部标准来说明代码行(LOC),或者采用相关文献的标

6、准。测量(measuremcnt)是一个行为或者过程,测量是为实体的所选属性赋予数字或者符号的过程。属性是一个实体的特征,一个实体可以是物理对象,或者可以是发生在现实世界中的事件或者过程。测量过程把现实世界中的实体映射到形式化的数学领域。图123缺陷与成本关系度量结果度量(mctric)是一个指标器,指示多个(或者单个)量度的计算或者组合的结果,例如缺陷数千代码行(KLOC)就是一个度量。所以,一个量度是一个直接测量的结果,而一个度量是通过多个测量进行计算而得到的结杲。软件度量是通过各种不同的量度对软件生存期中的各个元素进行测量的。通过度量可以定量了解项目进度、工作量、产品规模、项目状态以及质

7、量性能等,从而评估项目情况、跟踪进展、评价效率等。SW-CMM中并没有一个专门的软件度量的关键过程域,而是将其贯穿于其他关键过程城中,不过在SW-CMM的继承者CMMI中定义了一个专门的关键过程城:度量与分析软件度量。尽管度量和量度有不同形式的定义,但在实践中可以同义地互换使用。因此,在软件工程的文献和实践中,术语“软件度量”(Softwarc Mctrics)、“软件量度”(Softwarc Mcasurcs)和“软件测量”(Software Mcasurcment)可以相互互换使用。12.1.2 度量的类型从宏观上,可以将度量分为过程度量、项目度量、技术度量。过程度量是量化了用于软件开发的

8、环境或者过程的特征,过程度量具有战略性目的,有助子进行连续的过程改进。项目度量量化了被开发软件项目的特征,项目度量具有战术性目的,辅助估算、质量控制、生产率评估、项目控制等。技术度量是评估技术工作产品的质量,在项目中进行决策,比如:项目的复杂性,偶合性等。对于项目管理者,感兴趣的是项目度量和过程度量。本章主要讲述过程度量和项目度量。12.1.3 度量的作用软件度量能够为项目管理者提供有关项目的各种重要信息,同时也是评估项目活动的基础。软件度量能为项目估算、计划提供基础数据,也提供了控制项目的量化信息。同时,软件度量也为质量管理提供指示,推动企业的过程改进。度量为软件组织提供了客观的信息,是帮助

9、项目经理进行项目交流的有利工具。度量可促进主动性的管理策略,度量指标的各种指示,就像质量目标的红绿指示灯一样,帮助项目经理进行决策,以便对费用、进度、质量等进行杈衡,以满足项目目标。通过度量,可以量化实体的特征或者属性,以便了解它们、预测它可的未来行为,并最终控制它们。所以,进行软件度量的三个主要作用是:1)理解软件项吕;2)预测软件项目;3)控制软件项目。12.1.4 度量的成本与大部分管理活动一样,度量管理也是有成本的,度量管理更多依赖子项目负贯人的判断和综合企业文化。如杲收集和推进某类度量的成本是无法承受的,或者某些度量不能提供改善的信息,就不要进行这些度量。在开始收集企业度量时,应从满

10、足最低要求开始,然后逐步增加那些能以最低成本和最低工作量提供最高潜在利益的度量信息。开始度量时可以设定度量底线:收集度量的成本应与可获得的潜在利益相平衡。防止意外成本(后杲)的发生,例如,测量生产率的时候,开发者一味扩大生产量,不顾镨误,加快编码速度,改变了原来的编码风格。这是得不偿失的做法。12.2 度量体系为了有效地进行软件度量,首先要选择合适的度量指标。软件度量指标(SoftwareMctricIndicator)是进行软件度量时所选择的属性,属性是一个实体(例如项目产品、过程等)的特征或者性质。例如,项目的成本是一个度量指标。测量时对指标赋予相应的度量值。图12-4说明与度量指标相关的

11、干系人。度量指标可以为项目管理者进行项目规划和项目控制提供参考;度量指标可以为软件工程过程组(SEPG)的过程改进提供依据;度量指标可以为公司的高层管理提供可视化的报告;度量指标可以为客户提供跟踪项目的可靠信息;度量指标可以为研究组织提供研究的资料。图124与度量指标相关的干系人一项度量指标只是赋有相对数值的一些数字,规模、工作量、时间或者缺陷也只是一些数据的集合,多项度量指标结合起来才能形成度量体系。利用度量体系的结果,可以确定最佳实践、建立过程改进的模型、分析项目发展趋势、改进评估方式、培训客户等。度量体系是客观评价过程或者产品的标准。为了让度量体系取得最大的效益,软件企业应该做到:将度量

12、体系融人现有过程。将度量体系纳人企业文化。以项目为单位收集信息并汇总,从而产生组织的成效。用准确、可重复和持续的方式收集数据。初始度量,应该选择少量的度量指标。采用行业标准度量体系,促进与其他组织的比较。建立度量体系数据库。运用简单一致的度量方案。及时而恰当地交流度量方案的结果。最妤取得高层经理的支持。选择合适的人员实施度量。对相关人员培训度量规划和度量体系。采用明确的方式进行度量,不进行个人度量。12.3 度量技术度量方法学,可以用于决策支持,目的是为一个软件开发项目选择、组织、交流和评价所需的度量。其中GQM(Goal目标一Question问题一Mctric度量)和PSM(Practica

13、l SoftwareMcasurcmcnt,实用软件度量)是两种重要的度量方法或者技术。12.3.1 GQM技术由于度量工作不易开展,实施度量之初,选择一组数量少而且平衡的度量,有助于企业达到目标。GQM(Goal目标一QuCstion问题-Mc饣nc度量)是一种很不错的技术,可以用于选择适当度量来满足需求。采用GQM方法选择度量指标的基本步骤如下(详见图12-5)l)首先选择几个项目目标或者几个企业目标,尽可能将目标叙述得可以量化、可以测量。2)对于每个目标,设想一下必须回答的问题,看看是否达到目标。3)然后,选择回答每个问题所必需的度量指标。4)最后,确认进行软件度量的度量体系。图12-5

14、 GQM技术例如:某软件公司确定的目标是:1)一年内降低50维护成本。2)将进度估计的准确性提高到10以内。3)将下一个项目的系统测试时间减少15。对于第一个目标:一年内降低50维护成本,应该确定如下问题:1)每个月的维护费用是多少?2)支持每个应用软件的维护成本是多少?3用子调整(调整以适应变更的环境)、完善(增加、提高)和修正(纠正缺陷)的费用各是多少?对于最后一个问题,可以提出如下的度量:1)每类维护活动的时间。2)每类维护活动时间内的总维护成本。类似地,对于其他的目标,我们也可以逐步提出问题,然后再确定相应的度量指标。12.3.2 PsM技术PSM(实用软件度量)是数十年来数十个组织的

15、经验总结,它们是在实现如何最佳地完成软件项目度量过程中积累起来的。PSM是基于成功量度工作中关键实践的一个全面度量过程,该过程反映每个项目的技术和管理特点,是基于风险和问题驱动的。PSM包括三个基本的度量活动:裁剪、应用和实施。裁剪是选择一组有效、平衡的度量,GQM方法可以帮助实现这一目标。应用是收集、加工、分析定义的度量数据。实施是根据具体的企业和项目,建立一个有效的度量买既过桂。PsM采用度量信息模型懈决了度量信息的数据结构,采跽螂型撼述了良量祗动和任务s良量信息模型如图12-6所示,它提供了定义特定项目度量并将度量与项目决策者的需要相关联的结构。项目经理需要对项目的进度、成本、质量等做出

16、综合的决策,因此,需要有项目实践中的信息作为决策的依据。在度量实施和数据的收集过程中,度量信息模型将度量数据和相关的分析构造作为决策信”崽。图26度量信”愈模型度量过程模型(见图12-7)可以同度量信息模型一起,对一个项目提供实施度量的应用框架,它是通过计划实施检查行动的管理顺序构造的,包括四个基本活动:计划度量、执行度量、评价度量、建立和维持承诺。核心的度量过程是计划度量和执行度量。计划度量活动包括数据收集、分析和报告规程的定义和规划,它的输出是定义良好的度量方法、直接支持项目的信息需要。执行度量活动直接解决了度量用户的需求,包括度量数据的收集、分析、处理;执行度量活动是通过执行度量计划而为

17、项目决策提供有效的信息产品。评价度量活动可以通过评估度量的应用和度量过程能力,提供改进措施,便于持续改进。建立和维持承诺是确保度量获得相应的支持,获得相应的资源和基础设施。只有进行正确的度量,才可能真正获得软件项目中的各种实际数据,为正确地估算、计划、控制项目性能提供帮助。图127度量过程模型12.4 度量管埋过程尽管很多人已经意识到度量的重要性,但是真正实施度量还是有一定的困难。定义和实施度量过程的最佳方法是:首先定义企业或者项目的目标,然后为其选择合适的度量,确定了度量指标之后,下一步就需要收集支持这些度量指标的特定数据集。具体说,软件项目度量过程的基本步骤是:1)标识目标。2)选择度量指

18、标。3)定义数据收集。4)分析度量。5)改进度量过程。12.4.1 标识目标标识目标是成功实施度量的第一步,如杲没有确定的目标,就妤比在没有软件需求的时候就开始进行软件项目的开发,这是无法成功的。以下便是一些目标举例:提高项目生产率。提高项目质量。降低项目成本。度量本身不说明问题,度量必须与一个目标进行比较以确定项目是否成功。刚开始度量时,项目经理通常不太清楚项目组织当前的生产率或者质量水平,所以,初始的目标就可以执行得常规一些或者采用当前状态的度量作为基线,然后将后续的度量与塞线进行比较,以判断是否有所进步。基线不一定容易得到,有时需要积累一些初始度量数据,实施一些测量并了解当前的水平。例如

19、,可能要跟踪系统缺陷三个月,然后按照月的平均值作为综合基线。之后,可以根据当前的情况,设定特定的目标,例如将生产率提高l0等。12.4.2 选择度量指标标识目标之后,下一步是选择合适的度量指标,以便确定如何支持这些目标。例如,针对上面标识的目标,确定度量指标,如表12币1所示。表丬2丬 选择度且指标目 标度量指标提高项目生产率提高项围质量每小时的功能点数降低项目成本每个功能点产住的缺陷数每个功能点的戌本作为软件企业,在开始选择度量时,应该从少数的度量值人手,这样才能更便捷、准确和一致地收集到数据。下面给出一个适合起步阶段的度量方案:1)生产率。生产率是指消耗资源、开发软件过程中的效率。例如LO

20、C小时。2)质量。质量既是软件过程的度量指标,又是已交付软件产品的度量指标。例如缺陷率、缺陷排除率等。3)规模成本。规模成本是决定项目能否继续进行的一个至关重要的参数,成本超出会导致项目失败。例如人月工作量、实际成本、计划成本等。4)时间。时间用来编制项目进度,也用来确定在预定日期内完成项目所需要的资源,时间还能影晌软件的质量。例如工期等。为了完成这些度量体系,需要更多其他的基本度量,例如表示规模的代码行、功能点,表示工作量的工时数,表示质量的缺陷数,表示时间的日期,表示成本的金钱等度量指标。它们可以以各种方式组合成上面的度量体系。软件组织必须明确、一致地定义这些度量指标,并且可以捕获它们。1

21、2.4.3 定义数据收集选择了度量指标之后,就可以定义支持这些度量指标所需要的数据:明确度量的各项具体活动;确定度量时间、确定度量负责人、确定度量报告形式等,必要时可以赋予各种度量相应的优先级。数据定义度量指标的每项定义都要进行验证,并以可以理解的方式进行定义,例如如果选择了每小时功能点的生产率作为度量指标,就需要定义功能点和功能点的工作时间量。2-数据收集尽最大可能把度量收集活动集成到项目的软件开发过程中,作为软件项目活动的一部分,而不是额外的工作。数据应该在支持选择的度量指标的那些点上进行收集。例如,如果项目的目标是提高项目生产率,而且度量指标是功能点小时,那就需要计算执行的功能点数,同时

22、收集其工作时间量。3,集度垦的责任为了确保数据的收集,需要指定收集和报告每顼数据的负责人,例如,一些人负责记录数据,一些人负责收集数据,还有一些人负责报告数据等。度曼收集的工具在收集度量数据的时候,应该利用现有的数据收集形式或者体系,避免重复和混乱,尽可能利用自动化的工具帮助度量数据的收集和分析,可以通过采用纸面模板、电子数据表、预定义报告、软件工具等方式实现。收集过程的自动化可以降低度量工作的成本,并增强收集数据的准确性。例如,作为一个软件配置项的软件模块放人配置库之后,计数器程序就可以自动计算代码行数等。表12亏2是度量数据定义的一个表格。表亻2-2 项目度丑走义目 标度量指标数据定义责

23、任提高项目化产率功能点l时项目实施过程中计算出功能点数功能点负责人用电子表格记录数据项目开发周期内记录工作时间量开发人贞随时记录数据提高顶目质量缺陷功能点项目实施过程中计算出功能点数功能点负责人用电子表格记录数据计算用户使用三个月后的缺陷数服务台的人员在接到用户的报告后采用缺陷跟踪系统记录数据降低项目成本成本功能点项目实施过程中计算出功能点数功能点负责人用电子表格记录数据按工作量计算出劳动成本项目经理在项目进行过程中记录并计算项目周期内记录非芳动成本12.4.4 分析度量分析度量是根据收集的数据,同时汇总历史数据,与既定的目标进行跟踪比较,得出相应的结论。汇总数据时要汇总已经完成的项目的度量数

24、据和当前项目的历史数据。进行数据度量时应该使用度量数据库,存储和收集度量数据。分析度量的主要原因是要给出结论并做出预测,这些结论和预测可用于指导项目的技术和管理过程。最基本的分析活动之一是随着时间的变化绘制出度量结果,并在项目的进展中寻找其特征和趋势,其中既有预测和预期的数据,也有实际的曲线,典型的例子是成本和进度数据、产生的代码行数或者存储设备的使用情况等。度量报告的确定包括确定度量报告的对象、报告的频率和报告的形式。度量报告的对象除了包括项吕经理、项目组成员、高层领导、客户、过程改进入员等外,还应包括提供信息的人员和数据收集过程的人员,他们都应该从中获益,获得相关的信息。项目组人员利用度量

25、结果分析项目的现状,预测项目的后续情况,同时,也获得必要的过程改进信息。度量报告至少应该包括:度量结果:看到的事实。例如“某某项目,第二阶段的缺陷率下降6”度量结论:分析结果是什么。例如“某某项目,第二阶段的缺陷率下降6,是由于在项目第二阶段增加了技术评审的频度和质量”。 要深人了解度量值说明的内在问题,比如某个功能点发现的缺陷减少,就要仔细探讨是因为测试效果下降了,还是因为开发质量提高了,缺陷数下降了哪些等。建议:下一步如何做。例如,“建议进一步加强技术评审的效率,同时将技术评审作为过程改进,推广到企业的软件开发过程中”。使用度量的数据可以进行软件项目的各种决策,例如:可以判断产品的推出程度

26、。可以了解客户项目的成本和进度。 可以考虑在估计成本和进度时包括多少偶然因素。可以估计在过程改进中投资何处能得到最高的回报。12.4.5 改逆度量过裎与SW-CMM的软件过程改进模型IDEAL类似,度量过程的改进也有PIMA(Plan。ImplcmcntationMctricAction,计划实施度量改进)模型:计划:它要求在启动开发活动前首先确定用户的需求,以确保计划和度量需求的制定早于度量指标的选择。在设计和实施方案前,公司需要确定目标并确立软件度量(计划需求(问题)。实施:实施阶段包括筛选和设计适合该计划的恰当度量体系,以及培训、启动和收集具体的指导性度量指标。度量:在度量过程中,要结合

27、度量指标,收集、分析、审核和报告实际数据,并汇集和呈报具有可操作性的管理信急。改进:根据前一步的数据,确立适当的过程改进方法,执行完行动后再循环返回到计划步骤,确认下一度量方案是否仍然符合目标12.5 度量计划为了能更好控制项目进展和评估项目性能,也为了能向将来项目提供历史信息,建立一个项目度量计划是必需的。为特定的项目制定度量计划,需要将度量信息模型实例化,以便生成一个项目度量产品,供项目决策和后续项目之用。一个软件度量程序的关键活动是规划工作,实施和使用度量,以及改进或者精化度量程序。12.5.1 度量计划的构成一个度量计划的执行产生项目需要的度量信息产品,这些信息产品可以作为项目决策的指

28、示器。度量规划包括三个任务:1)定义项目的目标;2)选择支持达到目标的度量;3)定义实施必要的测量过程、计算所需的度量、需要的政策和规程。即度量计划是项目目标需要的度量(信,歆需要)、度量构造和度量规程的集合。图12-8描述了度量计划中的信息需要、度量构造和度量规程的关系。信息需要应该与项目的目标一致,同时也应该与实现目标的范围相关。很多的项目都是根据成本、进度、质量和软件范围等来实现既定的目标。度量构造定义了度量的对象和如何对数据进行组合以便产生满足信息需要的结果。度量规程定义了收集和组织数据的机制,要求这些数据可以实例化度量构造。定义妤目标之后,选择度量集合,以测量目标的满足程度。选择度量

29、必须是现实的。因此,在选择度量时,必须清楚地理解计算度量所需的数据,以及如何通过计算这些数据得到度量。面对大量的度量,如何选择一个小型的、有意义的度量集是很重要的。理想情况下,选择的度量应该具有如下的特征:简单:度量的定义简单、易于理解。客观:不同的人使用同一度量,应该得到相同的值。易收集:收集数据的成本或者工作量是合理而且可以接受的。健壮性:度量对不相关的改变是不敏感的。正确性:度量的测量应该是它所定义的内容。图12-8度量计划的组成关系如果度量只是支持一个单独的项目,那么所选择的度量以及被狈!量的数据和度量的单位都应该被记录到项目度量计划中。如杲设计的度量方案支持多个项目,那么共同的信息应

30、该置于一个单独的组织度量计划中。度量计划还应该定义度量规程,例如:何时、以何种频率实施测量过程和收集数据。记录和汇报结果的时间要求。被测量数据的来源。收集、抽取和记录数据的形式和规程。数据如何被存储和访问。谁负责设计度量数据库、谁负责维护和监督度量工作。谁负责收集度量数据。谁使用度量数据。数据如何被确认、分析和报告。获取并维护支持过程的所有支持工具。项目管理者需要在项目执行期间对产品的质量进行定期评价,软件的缺陷率(缺陷数KLOC)便是一个重要的度量指标,它的大小可以作为决策的指示器。缺陷率是一个派生度量,即需要获取多于一个属性的信息,是两个或多个基本度量的函数。这里,缺陷率需要的基本度量是代

31、码行数和缺陷数的度量,缺陷率的函数是:缺陷率1000x缺陷数代码行数。基本度量是对单个属性的度量,执行度量产生一个度量值,例如代码行数、缺陷数等。具体的度量过程如图12-9和图12亏10所示。度量分析模型是基子构造的度量及其随着时间变化的行为期望饣是包含多个基本度量或者派生度量的算法或者计算。图l2-9缺陷度量过程图12-10缺陷拴制线12.5.2 度量计划的买施实施度量计划所涉及的活动包括度量收集、度量确认、度量分析和度量改进。对于小型的项目,项目经理可以负责实施度量活动;对于大型项目,项目经理可以设置专门的度量人员。无论如何,项目经理都需要进行度量活动,保证收集和报告的度量数据是准确的,同

32、时分析潜在的问题指标,并采取相应的措施。度量过程的实施不但需要规划和开发,还需要在推广和人员配置方面制定决策。度量推广是将已经定义的度量过程推广到具体的项目中或者整个企业中。人员配置是安排度量收集、分析等人员。他们需要负责收集度量数据(例如工作量、成本、缺陷等),需要掌握准确、致地记录分析项目数据的方法(例如功能点或者缺陷率)。其实,需要度量的时间可能比开发人员想像的时间要多。在度量计划实施前,必须确定并归档数据采集和数据报告的过程和方法,这涉及到将出现的特定度量活动与开发周期相结合。要清楚活动的时间,还应该确定所需要的表格、工具和报告格式。另外,根据度量情况,应该对所有涉及度量的人员进行必要

33、的培训。12.6 度量指标选择很多的文献或者标准也对度量体系进行了说明,但是不同的项目组织一定耍根据自己的实际情况,分析自己的需要和目标,因地制宜地选择适合的度量。对于一个刚开始制定度量程序的企业,选择一组满意的核心度量并不是一件容易做到的事情。下面给出一些度量指标选择的参照。12.6.1 PsMER分类组软件度量可以帮助预测项目及其过程的质量以及发展趋势。可以使用企业的度量数据库估计类似项臣的成本、进度、资源以及缺陷密度等。经验表明:大部分项目信息可以按照通用的域来分组,即信,B分类(或者度量组)。信息分类(度量组)几乎对所有项目都是基本的,它是项目经理每日需要管理的主要关注点。这些信,E,

34、分类是:产品规模。产品质量。过程质量。资源与成本。项目进展状态。客户瞒意度。技术有效性。其中:信息分类中的每个分类又包合一定的度量指标和度量指标的组合,它们构成了度量体系。见表12-3。表123 度且组及其度旦指标度 量 组分 绸度量指标产品规模功能规模需求功能变更功能点物理规模数据库规模枸件代码行接口技术有效性技术适合性需求覆盖技术易变性基线变更度 量 组分 纲度量指标产品质量功能正确性缺陷缺陷的延续时问技术性能水平可维护性恢复的时间复杂度效率利用率吞吐率响应时间可移植性一些标准间的依从性可用性操作员的镨误可靠性平均故障时间过程质量过程依从性参考成熟度评定过程审计过程效率生产率循环时间过程有

35、效性已包含的缺陷遗漏的缺陷返工工作量返工构件资源与成本个人工作量员工水平开发工作量经验水平员工流动财务性能BCWS,BCWP,ACwP预算费用环境和支持资源需要的数量可用的数量Ej用的时间已用的时间项目进展状态完成的里程碑里程碎日期关键路径的性能缓冲时间工作单元进展已跟踪的需求已测试的需求已打开的问题已关闭的问题已完成的评审已打开的变更请求已解决的变更请求已设计的单元已编码的单元已集成的单元正在执行的测试用例已通过的测试用例尚未解决的项已经完成的项增量式模式已集成的枸件已集成的功能客户瞒意度客户反馈客户瞄意度奖金客户支持支持的请求数支持时间在项目度量过程中也许不能包括上述所有的项,但是建议在度

36、量计划中至少包括下面的方面:产品规模:计算代码行、功能点、对象分类、需求的数目或者图形用户界面单元。估计的和实际的项目时间以及工作量:跟踪个别任务、项目里程碑以及全面产品发展。工作量分布:记录花在开发活动上的时间以及花在维护活动上的时间。缺陷:计算测试发现的和客户发现的缺陷数目以及缺陷的类型严重性和状态。12.6.2 s匚丨E指标美国的SEI(软件工程研究所)受DoD(美国国防部)的委托开发了一个基本测量集,详见John HBaumcrt在CMUSEI-92-TR-25的Scptcmbcr 1992的技术报告中的文章“SoftwarcMcasurcs and thc Capability Ma

37、turity Modcl”。这个基本测量集涵盖了规模、工作量、进度和质量的度量,通过7组13个度量指标(见表12-4)来评估软件企业的成熟度,表12-5和表12-6是这些度量指标在CMM的不同级别进行的不同度量描述。这些度量指标在不同的级别应该到达不同的度量程度。例如,度量指标Progrcss在CMM-2应该度量出在甘特图上对计划和实际进度的比较,在CMM-3应该度量出在廿特图和网络图上对实际和计划进度的控制范围比较,在CMM-4应该度量出在甘特图和网络图上对实际和计划进度的控制限的比较,在CMM-5应该度量出每个项目返工的时间占总项目时间的比率以及过程变更中各项活动所花时间的比例,其他的度量

38、结果详见表12-5和表12-6。表124 s丨提出的度且指标及其描述指 标描 述进度(Progrcss)根据进度承诺,提供项目实际进度的进展情况人员工作量(Effort)显示出人力安排在项目成本、进度遵守和产品质量方面所做的贡献成本(Cost)提供实际成本与估算成本的跟踪比较结杲,并预讣未来项目的成本质量(Quality)软件质量保证审计结果提供产品质量的评估和项目人员遵循项目过程的情况评审结果提供来自生命周期评审的各个评审项的状态结果问题报告了解产品和过程的质量以及测试的效果对等评审结果了解中间产品和最后产品的质量以及对等评审过程和开发过程的实施结果缺陷预防了解缺陷引人原囡以及各种减少缺陷引

39、人率的预防擂动的效果稳定性(Stability需求稳定性了解需求变更的次数以及影响规模稳定性了解需求完整性和稳定性,以及在现有的预算和进度内完成项目所需的人员方面的能力过程稳定性了解已定义过程的有效性和质量计算机资源利用情况(ComputerResourcc Utilization)根据项目在计算机资源利用方面的目标需求,提供项目在计算机资源利用方面的实际情况培训(Training)了解组织为满足技能需求而开发的培训程序的有效牲表刂2-5 CMM2,3级的度丑指标描述指 标CMM2级(可重复级)CMM3级(定义级)进度(ProgrCss)在甘特图上对实际进度和计划进度进行比较在甘特图和网络图上

40、对实际进度和计划进度的控制范围进行比较人员工作量(Effort)实际人员工作量和计划人员工作量分布图示的比较用较细的粒度来比较计划和实际的人员工作量分布图示成本(Cost)实际成本和计划成本的比较成本差异和进度差异对实际成本和计划成本的控制范围进行比较成本效能指标和进度效能指标质量(Quality)软件质量保证审计结果不合格项情况不合格项情况审计信息采样规模信急评审结果评审项结果信崽评审项结果信息问题报告问题报告信息没有解浃的问题报告的数量、处理结束的问题报告的数量、没有评估的问题报告的数量问题报告的密度问题报告与通过的测试案例的比较问题报牛信彀与历史数据比较问题报告的数量问题报告一直没有被解

41、决的时间每个产品的问题报告数量对等评审结果没有解决和处理完毕的缺陷数量每个产品的缺陷数量、每个产品缺陷密度Parcto缺陷分析初步抟制图缺陷预防稳定性(Stabi1ity)需求稳定性需求变更和需求澄清的数量(计划需求与实际需求的比较)每个版本的需求分布情况需求变更和需求澄清的数量每个版本的需求分布情况各种类型需求的变更分布各种需求变更请求持续没有被处理的时间放弃的需求变更申请数量和批准的需求变更申请数量规模稳定性项目规模的增长趋势每个版本的规模分布情况实际规模增长与计划规模增长的控制范围比较每个版本的规模分布情况过程稳定性过程变更的数量被放弃过程的数量计算机资源利用情况(ComputCr Rc

42、sourccUtilization)实际和计划的计算机资源利用情况图示实际和计划计算机的资源利用情况图示培训(Training)实际和计划的培训课程数量实际和计划的参加培训的人数培训课程质量统计图示放弃培训的数量表126 CMM4,5级的度上指标描述指 标CMM4级(管理级)CMM5级(优化级)进度(ProgrCss)在甘特图和网络图对实际进度和计划进度的统计控制限进行比较每个项目返工的时间占总项目时间的比例在正在进行的过程变更中各种项目活动时间所占的比例人员工作童(Effort)与定义级同每个项目返工的人员工作量占总项目人员工作量的比例在正在进行的过程变更屮各种项目活动人负工作量所占的比例成

43、本(Cost)实际成本和计划成本的控制限比较成本效能指标和进度效能指标在可选择的各种过程改进、缺陷预防活动和技术革新任务中陶投人效益比在可选择的各种过程改进、缺陷预防悟动和技术革新任务中的实际和计划的投人效益比质量(Quality)软件质量保证审计结果与定义级同与定义级同评审结果与定义级同与定义级同问题撇告问题报告产生的原因用户发现的缺陷数KLOC,测试团队发现的缺陷数KLOC,测试团队发现的缺陷占总缺陷的比例与定义级和管理级同对等评审结果没有处理的缺陷数量和解决完成的缺陷数量每个产品的缺陷数量、每个产品缺陷密度Pareto缺陷分析对等评审结果控制图与定义级和管理级同缺陷预防缺陷种类分布图示缺

44、陷引人率稳定性(Stability)需求稳定性与定义级同与定义级同规模稳定性项目规模增长与增长控制限的比较每个版本的规模分布情况与定义级和管理级同过程稳定性与定义级同与定义级同计算机资源利用情况(ComputCrRcsOurce UtilizatiOn)与定义级同与定义级同培训(Training)与定义级同与定义级同SEI推荐了四个基本的度量:规模:物理的代码行计数。工作量:花费的人工时计数。进度: 日历日期。质量:软件问题和缺陷计数。12.6.3 PSPEPSP(Pcrsonal Softwarc Proccss,个体软件过程)是由Watts SHumphrcy开发的个体软件工程,是为帮助软

45、件工程师出色地完成任务而设计的过程框架,它尤其强调度量的重要性。PSP度量主要是包括项目计划度量和项目质量度量。PSP的计划度量的指标:程序规模新开发的或者修改的LOC复用的LOC删除的LOC开发时间计划阶段设计阶段编码阶段代码复查阶段编译阶段测试阶段后置处理阶段生产率MinutcsLOCLOCHour PSP的质量度量的指标:引人的缺陷数量计划阶段设计阶段编码阶段代码复查阶段编译阶段测试阶段排除的缺陷计划阶段设计阶段编码阶段 代码复查阶段编译阶段测试阶段质量效率缺陷数KLOC质检过失比12.6.4 SE的度量指标美国NASA的软件工程实验室(SEL)创建的目的是为了研究软件工程技术的有效性,

46、在选择SEL的核心度量时,SEL开发者首先关注的是理解软件开发过程,然后改进这个软件开发过程。表12。7和表12-8总结了SEL的核心度量和SEL推荐的度量,这些度量是被成功使用且得到真践验证的。表丬2-了 S匚核心度且度 量用 途源代码增长荜l反映需求的完整性和欤件开发过程的质量2项目进展指标3测试期间软件产品稳定性指标工作量数据l项目环境属性和被开发软件的类型2过程和质量的指标3为将来项目估算提供基础数据系统规模估算l反映需求稳定性和完备性2系统稳定性的指标计算机的使用l!CPU的使用直接与项目的特定过程相关2设计和实现的进展指标锴误率1深人了解项目开发和过程改进2软件稳定性的指标3。欤件

47、质量的指标已经报告、已经改正的软件差异l了解软件的可靠性、测试的进展、人员安排方面的问题以及测诚质量2估计软件质量和项目完成日期软件的变更率l反映软件开发过程、需求稳定性2稳定性指标开发活动状态数据l了解一个特定阶段巾各个开发活动的过程2进展指标3间接的软件质量指标表128 SEL推荐皮n度 量用 途来源变更1饣配置管理的质量2规范设计的稳定性规范变更1, 规范的质量2, 再规划的要求变更的类l设计不稳定性2,规葩的易变形计算机的使用l进展2过程控制已经报告公开的差异l人员安排方面的需求2软件可靠性3进度可靠性全部工作量l规划的质量2。管理的质量每个活动的工作量1进度2再规划的需求修改变更的工作量1设计的质量2维护的成本每次审查发现的错误1软件质量2桌面工作欠缺锴误的类型1设计问题镨误的总数已规划设计审查编码模块的规模l软件可靠性2维护成本3进展管理者做出的对总体规模的估计l规范

温馨提示

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

评论

0/150

提交评论