Cmmi测量分析报告
关键词:CMMI;;软件度量;软件过程能力;测量项目;阈值
介绍
软件度量的目的是为项目管理提供项目实施的充分可视性,使项目经理知道项目的实际进度与项目计划之间的偏差,以便采取纠正措施,保证项目的顺利进行。有效的软件度量过程促进了组织的软件过程能力的提高。软件度量是软件特性的定量表示和分析方法;软件度量可以分为软件产品度量和软件过程度量。软件产品度量(软件产品特性的定量表达和分析)是独立于产品生产过程的度量;软件过程度量(软件过程特性的定量表达和分析)是为管理者提供产品生产过程的状态信息和指导依据。
软件产品度量的要素是质量要素、评价标准和度量要素。这里主要通过需求度量、规模度量、进度度量、工作量度量、风险管理度量和质量保证度量来分析软件过程度量。
1三层架构软件产品指标
1.1品质因数
软件质量可以分为六个要素,这六个要素是软件的基本特征。功能性:软件实现的功能满足用户需求的程度;可靠性:在规定的时间和条件下,软件能保持其性能水平的程度;易用性:对于一个软件来说,用户在学习、操作、准备输入和理解输出方面所付出的努力程度;效率:在规定的条件下,软件在利用计算机资源(包括时间)实现某种功能方面的有效性;可维护性:修改软件以满足用户需求、环境变化或软件错误所需的努力程度;可移植性:软件从一个计算机系统或环境转移到另一个系统或环境的容易程度。
1.2评估标准
评估标准包括:准确性、健壮性、安全性、通信有效性、处理有效性、设备有效性、可操作性、培训性、完整性、一致性、可追溯性、可视性、硬件系统独立性、软件系统独立性、可扩展性、通用性、模块化、清晰性、自描述性、简单性、结构和产品文件完整性。
1.3公制元素
按照软件需求分析、总体设计、详细设计、实现、组装测试、确认测试和维护使用七个阶段,制定了每个阶段的度量要素。
2基于CMMI的软件过程度量
从软件企业的角度来看,软件度量就是通过各种度量来度量软件生命周期中的各个元素,为项目经理提供有关项目的各种重要信息,也是软件评估活动的基础。
卡内基·梅隆大学的SEI提出了以下软件度量过程架构图:
图1软件度量过程架构
我们来分析一下上面的架构。
为测量过程制定计划包括两个活动,一个是确认范围,另一个是定义程序步骤。确认范围:定义测量需求的大小,以定义适合企业自身需求的测量过程。因为有限的人力、物力等资源需要花费在整个测量过程中,不切实际的大而全或者不足以反映实际结果,都会影响测量过程的可靠性和企业的开发能力。定义程序步骤:在确定范围后,定义操作和测量过程的步骤,同时以书面形式存档。主要工作包括定义完整、一致、可操作的度量标准;定义数据采集方法以及如何记录和保存数据;定义可以分析测量数据的相关技术,以便用户可以根据测量数据得到实质性的结果。
流程的实施包括两个活动,一个是数据收集,另一个是数据分析。数据收集:根据定义的测量操作收集、记录和存储数据;此外,应适当检查数据,以确认其有效性。在开展这个活动的时候,要有针对性,要注意的是,不同的项目或者活动所需要的实际数据是不一样的,所以对活动状态的跟踪是非常重要的。数据分析:包括数据分析,报告准备,报告提交和审查,以确保报告足够准确。这些程序可能需要重复,因为报告可能无法为用户提供有用的帮助,或者用户不理解报告中的内容。在这两种情况下,都应给出反馈,并重新开始测量过程以进行数据分析。
过程改进只包括活动的一个方面,即优化过程。优化过程:用于动态地改进过程,并确保提供一种结构化的方法来综合和处理涉及过程改进的多个问题。此外,该活动应评估测量过程本身,报告的用户将对数据的有效性提供反馈。这些反馈可能来自其他活动,但一般会整合到新一轮测量过程的生命周期中,对测量过程进行新的确认和定义。
在实现项目中,项目启动后,项目测量工作正式启动。在项目策划阶段,项目经理应根据项目的特点制定相应的测量计划,制定测量数据收集和定量分析控制的策略。在项目实施过程中,项目相关成员按照预先设定的周期收集各种度量数据,并填写相关的软件度量记录表。测量负责人根据项目测量表,采用适当的方法对项目级的测量数据进行比较分析,并得出测量分析报告。必要时采取纠正措施,如修改项目计划和进行相关培训。项目结束时,计量负责人和相关人员应对计量法规和相关文件、计量收集的数据、分析结果和报告进行验证,然后将其放入相应的计量数据库。
根据实际软件项目情况确定度量项目。如果更注重项目进度、工作量和质量,可以把项目进度偏差不超过25%,项目工作量偏差不超过20%,缺陷修复率不低于90%作为衡量目标。
2.1需求测量
需求的稳定性很大程度上影响了项目的规模、工作量和进度。需求不稳定会带来负面影响,如软件产品质量下降、项目成本增加、项目进度推迟等。跟踪和分析需求的稳定性可以反映项目成员管理和控制软件需求的能力。目前,国内软件项目的需求分析和控制相对薄弱,开发人员付出了加倍的努力,但用户满意度仍不尽如人意。因此,有必要对项目需求进行有效的度量和管理。
需求测量项目主要包括:原需求总数、本阶段新增需求数、本阶段删除需求数、本阶段修改需求数。
的数量,本阶段需求变化的数量,本阶段需求变化的总数,项目结束时需求变化的总数,项目结束时需求变化的总数,需求变化的比例,需求实现率等。
需求的变化可能直接导致规模的增大、进度的推迟、成本的增加和返工。项目成员应定期测量需求的变化(包括增加、修改和删除需求)和总需求的变化,控制需求的变化并采取相应的行动。图2展示了需求的稳定性,两条虚线分别代表了监控过程中需求总量的变化和需求变化次数的变化。假设需求基线评审发生在第三次项目监测期间,从图中可以看出,经过需求评审后,第四次的需求总量和第四、五、六次的需求变化次数都有了明显的增加,第七次后需求趋于稳定。说明需求基线复查后,需求长期仍不稳定。可能有以下原因:(1)需要
本文原文不足,误解,歧义,不完整,不正确。(2)客户需求经常变化。解决方法:在进行需求调研时,充分挖掘客户的需求并加以确认。对于频繁变化的需求,项目成员可能必须采取措施,如重新分配资源和重新估计规模、工作量和进度。
图2需求变化趋势图
2.2规模测量
规模是项目的基本度量,是决定软件项目成本的最基本因素,是估算工作量和进度、计算生产率、缺陷密度等项目评估指标的基础。对规模进行有效的估计、跟踪和控制,不仅能使项目按照预定的计划顺利进行,还能保证组织利润目标的实现。
监控实际规模和估计规模之间的偏差。如有必要,重新估计工作量和进度。
在里程碑阶段(如需求阶段、设计阶段),当出现重大需求变更时,或者在总结项目情况时,项目经理需要分析规模变化率,监控产品有效规模的偏差。
如果标度变化率在控制上限和下限内,则测量结果是可接受的。
如果标度变化率超过控制上限和下限,则分析原因并采取相应措施。
度量项目主要包括:预计项目规模、实际项目规模、规模变化率、预计项目成本、实际项目成本、可重用代码行等。可以根据实际情况选择。
2.3进度测量
保证软件项目的进度是控制项目成本、赢得用户满意的关键。软件项目在进展中容易出现问题。对项目进度进行量化、透明化的管理,可以尽早发现进度的延迟,并迅速做出相应的调整。具体测量项目包括:预计项目进度、实际项目进度、进度偏差、里程碑计划总天数、里程碑实际总天数、里程碑差异总天数、项目计划总天数、项目实际总天数、项目差异总天数。如果进度偏差超过控制限度,分析原因,采取措施,跟踪进度,直至进度得到控制。
2.4工作量测量
跟踪工作量的目的是评估项目人力是否充足,分配到各个阶段的工作量是否合适。对工作量的正确估算和控制,有利于为项目配置合适的人力资源,控制项目成本。统计汇总各阶段、各活动的工作量在总工作量中所占的比例,并与计划比例进行对比,就可以发现项目实施中的偏差;总结经验教训,有利于逐步形成适合软件企业开发团队特点的最佳工作量组合。
工作量测量的具体方法是确定工作量测量的基本测量项目,由相关人员选取基本测量项目填入工作日志,并在某一时刻统计基本测量项目,计算相关的派生测量项目。相关测量项目包括:各活动总工作量、各阶段总工作量、各活动工作量分布、各阶段工作量分布、项目预计(总)工作量、项目实际(总)工作量、工作量偏差等。
图3返工工作量分析图
分析:从数据和图表来看,返工工作量约为16%,在正常范围内。没有超过阈值。
2.5风险管理指标
识别和度量风险,并统计已识别的风险和变成未来项目问题的风险的数量。风险度量项目主要包括:本阶段识别的风险数量,本阶段转化为问题的风险数量,项目识别的风险总数,项目转化为问题的风险总数。
风险管理就是识别项目潜在的问题,从而制定管理方案,在项目生命周期内处理这些问题,降低潜在问题的影响和概率。风险度量将为未来项目的风险管理提供参考数据。
图4项目风险和问题趋势图
2.6质量保证指标
通过对软件质量保证过程中不合格项的统计,可以了解项目成员对软件开发过程规范的遵循程度,预防缺陷,改进过程。通过统计质量保证活动的工作量,可以积累项目支持活动的工作量数据。
图5不符合解决趋势图
测量项目主要包括:QA活动的工作量、不符合项总数、各种问题的不符合项数量、新增不符合项数量、已解决的不符合项数量、当前未解决的不符合项数量、不符合项解决率、解决不符合项的时间延迟、解决不符合项的工作量、裁剪组织标准过程集的工作量。
3实践结果
如何提高软件质量一直是软件工程领域的重要研究方向。基于度量的量化管理是目前最有效的质量保证方法之一,国内许多软件企业也在进行这方面的研究和实践。该度量分析模型已在多个具体项目应用中使用,并通过了SEI专家评审和CMMI3正式评审。本文对软件过程改进和软件度量分析进行了一些探索和实践,并结合具体的软件项目描述了具体的实践,对今后软件度量分析的应用和我国软件过程的改进具有一定的现实意义。
4结论
在下一步工作中,要加强软件度量库(如电子政务应用安全软件度量库)的建设和应用,坚持将软件度量分析作为一种长效机制,确保软件过程有序健康发展。