资质/ITSS认证
您当前的位置:首页 > 资质/ITSS认证 > 资质/ITSS认证资质/ITSS认证
软件工程的度量 信息来源:杭州市软件行业协会 发布时间:2010-01-11

 

作者:Edmond

 

最佳实例

许多人认为度量只在CMMI高成熟度等级中(例如,成熟度等级第四或第五级)被使用到。这是不对的。当CMMI被引入代替CMM软件的时候,“度量和分析”过程域是第一个被引入的。显然,不满足“度量和分析”就不可能达到成熟度等级2或者3。由于许多公司并不存在一个度量项目,所以对于他们来说“度量和分析”进程域通常是一个薄弱的环节。

这段问答对话是给那些有兴趣了解,如何在他们机构的内部进行“度量和分析”进程改善的机构提供。

问:通常在度量和分析中存在哪些误解?

答:没人知道为什么对分析要设定特定的度量数据和条件。但是,很不幸的是,度量通常是用来满足CMMI“度量和分析”要求的。这个度量项目是被用来支持管理信息需要的。这意味着,项目中的度量目标应该与公司商业目标相一致。

提供数据的人不知道WIIFM(里面有什么是我要的)如果被要求提供初始数据的人没有看到价值,那么他们将失去兴趣,并且不会继续合作。

缺少自动化的工具。如果要求手工向一个人工系统输入数据,那么将难以为继。

问:如何决定使用哪个计量数据?

答:源自Basili博士的“目标,问题,计量”(GQM)范例,是一个广泛使用的方法:

1、开发出一套目标

 例如。在面向对象的关系中进行测试,从项目团队的视角来评估测试进程,目的是要改进该进程,用于项目ABC上。

2、开发一套问题,能够显示目标的特性

-           在寻找一个问题时,平均要耗费多少时间?

-           在确定一个问题时,平均需要耗费多少时间?

-           耗费在寻找和确定一个问题上的平均效果量是多少?

 

3、设定特殊的计量,需要回答这些问题

-           导出的度量数据和基本度量数据的结合

 

4、开发出数据收集机制

谁应该收集计量数据?

什么时候该收集数据?

数据如何能够被准确地以及有效地收集?

谁将会是这些计量数据的受众?

 

5、实时收集、确认和分析这些数据,给项目提供反馈,用于校正行动操作;用一个运行后检查的模式来分析数据,以确定是否和目标相吻合。

可以在分析中使用图表----历史图表,鱼骨图表,以及帕累托图表。例如。在一个设定的时间内列出错误的类型之后,我们能够制作一张历史表格来显示,对于每个错误类型,在寻找和确定一个问题时所花费的时间。

 

6、给利益相关人提供反馈。

例如。在一页上,显示目标、问题、计量数据和图表结果

 

 

问:如何开始?

答:有三种普通的数据资源,能够用于控制软件项目:

§           对于计划的效果(WBS)

§           检查出来的错误(例如,平行检查)

§           需求改变进程

 

效果

在软件的开发过程中,人力成本是总成本的主要部分。知道这部分是如何开销的非常重要。历史效果数据能够帮助我们估计职员的生产能力。因此,我们在新项目中能够做一个更好的估量。我们也能够知道整个的效果是如何在不同的生命周期阶段中分布的。效果数据通常通过进度表进行收集。员工应该填入确切的开始时间,结束日期以及在完成WBS任务上耗费的人力时间。使用一个自动化进度表系统,每个员工都能在几分钟之内,将他当天的实际的成果数据快速填写完成。然后,项目经理就能够很容易地了解到实际的成本消耗(实际消费的人工时间),同时也能知道在计划表中,是否存在任何延误的情况。如果微软项目管理器是被用来建立WBS和项目计划,那么自动化进度表系统需要能够被下载(并且之后上传)到MPP文档中。

 

检查

 

错误、类型的数量,他们刚发生时所处的阶段,并且他们被检查时所处的阶段能够被显示:

§           在那些阶段中,最大数量的问题被引发了?

§           阶段控制有效性(Phase containment effectiveness)

§           哪些类型的问题需要耗费最长的时间去修复?

耗费在检查工作中的时间量,对控制项目也是有重要作用的。

 

需求变化

一旦软件被配置完成,为了满足他们而进行的需求和效果的改变,通常要进行跟踪:他提供了许多有用的信息。例如:

-           在一张历史表格中,显示变化的类型

-           哪个模能够经受住最频繁的变化?

-           他们的反应速度有多快?

 

数据的结合能够为进程改善提供历史基线。例如:

·          获得的值

·          估计准确性

·          总缺陷控制有效性

·          生产率

 

问: 对于CMMI度量与分析,需要特别指定哪些文件?

 

答:通常对每个项目都有一个度量计划。它涵盖了收集度量结果的数据、分析和报告的目标、计量以及程序。下面是一个项目等级度量计划的大纲:

·          目的、范围和参数

·          责任

·          生命循环报告

·          度量和计量,

用目录:

管理、需求、质量等

·               数据需求

·               报告的频率和类型

 

问: 如果想要达成CMMI成熟度等级3,对于度量与分析有什么额外的要求?

 

答:基于度量与分析奠定的基础,我们必须由一个机构的度量储备(在OPD中定义)。在成熟度等级3中,一个组织有一套标准进程。现在机构能够在不同的项目中进行度量,因为,项目中的进程都是从机构设立的标准进程中剪裁而来。能够观察到曲度。能够更容易地进行预测。进程表现基线现在能够进行开发,在高成熟度等级(成熟度等级4、5)中来支持定量管理。

机构的度量储备包括: 

·          产品和进程度量

·          数据在进程中的收集点,以及收集的程序

 

通常使用到的度量的范例:

·          工作产品的尺寸(功能点)

·          成果和成本

·          质量的度量

·          测试与检查的范围

 

 

 

推荐书籍与文章

 

 

质量软件工程管理

Robert T.Futrell, Donald F. Shafer, Linda I. Shafer著

 

这本参考书在它的覆盖面上深受好评。读者完全可以对其极为丰富详细的内容放心。有关软件项目管理质量问题全部范围,从确认和检查到性能发布,都涉及到了。度量和“目标,问题,计量”范例的论题,也在此书中有详尽的解释。

 

应用“目标,问题,计量”范例来开发标准参数评定模型,以用于OO项目规划课程

 N. Khamis, S. Idris, and R. Ahmad 著

人文与社会科学国际期刊,第二卷,1号

 

用例子来说明如何在一个域中应用“目标,问题,计量”范例,许多软件开发者都很熟悉的方式----OO项目规划

 

缩略语和术语

 

基本度量----直接地测量;例如,在功能点条件中的尺寸

CMMI ----能力成熟度模型集成

衍生度量 ----涉及计算的基本度量

OPD----组织进程定义,一个CMMI进度域

PCE----阶段控制有效性=在阶段中错误的数量/引入到哪个阶段的错误的总数量

SEI ----软件工程研究院,卡内基梅隆大学

TDCE –总的缺陷控制有效性

WBS – 工作分解结构


杭州市软件行业协会