软件工程:实践者的研究方法第4章软件过程和项目的度量

软件工程:实践者的研究方法第4章软件过程和项目的度量,第1张

软件工程:实践者的研究方法第4章软件过程和项目的度量,第2张

第4章 软件过程和项目的度量

  测度对于任何工程学科而言都是基本的,软件工程也不例外。Lord Kelvin曾经说过:

  当你能够测度你所说的,并将其用数字表达出来,你就对它有了一些了解;但当你不能测度,不能用数字表达它时,你对它的了解就很贫乏、很不令人满意:它可能是知识的开始,但你在思想上还远没有进入科学的阶段。

  在过去十年中,软件工程界终于开始认可了Lord Kelvin的话。但并非没有挫折,也不是只有一点点的争论。

  软件度量是指计算机软件中范围广泛的测度。测度可以应用于软件过程中,目的是在一个连续的基础上改进它。测度也可以用于整个软件项目中,辅助估算、质量控制、生产率评估、及项目控制。最后,软件工程师使用测度能够帮助评估技术工作产品的质量,且在项目进行中辅助决策。

  在软件项目管理中,我们主要关心生产率和质量的度量——根据投入的工作量和时间对软件开发“输出”的测度,对产生的工作产品的“适用性”的测度。为了达到计划及估算的目的,我们的兴趣主要放在历。在过去的项目中软件开发生产率是怎样的呢?产生的软件的质量是怎样的?如何从过去的生产率及质量数据推断出现在的状况?过去的信息如何帮助我们更加准确地计划和估算呢?

  在本章中,我们主要探讨用于过程和项目级的软件度量。在后面的几章中,我们将给出软件工程师在技术环境下使用的度量方法。

4.1测度、度量和指标

  虽然术语“measure”(测量)、“measurement”(测度)和“metrics”(度量)经常被互换地使用,但注意到它们之间的细微差别是很重要的。因为“measure”(测量)和“Measurement”(测度)即可以作为名词也可以作为动词,所以它们的定义可能会混淆。在软件工程领域中,“measure”(测量)对一个产品过程的某个属性的范围、数量、维度、容量或大小提供了一个定量的指示。“Measurement”(测度)则是确定一个测量的行为。IEEE的软件工程术语标准辞典(IEEE Standard Glossary of Software Engineering Terms)[IEE93]中定义“metric”(度量)为“对一个系统、构件或过程具有的某个给定属性的度的一个定量测量”。

  当获取到单个的数据点(如在一个模块的复审中发现的错误数)时,就建立了一个测量。测度的发生是收集一个或多个数据点的结果(如调研若干个模块的复审,以收集每一次复审所发现的错误数的测量)。软件度量在某种程度上与单个的测量相关(如每一次复审所发现的错误的平均数,或复审中每人/小时所发现的错误的平均数)。

  软件工程师收集测量结果并产生度量,这样就可以获得指标“indicator”。指标是一个度量或度量的组合,它对软件过程、软件项目或产品本身提供了更深入的了解[RAG95]。指标所提供的更深入的理解,使得项目管理者或软件工程师能够调整开发过程、项目或产品,这样使事情进行得更顺利,能被更好地完成。

  例如,四个软件小组共同完成一个大型软件项目。每一个小组必须进行技术复审,但允许其自行选择所采用的复审类型。检查度量结果——每人/小时所发现的错误数,项目管理者注意到采用更加正式的复审方法的两个小组,每人/小时所发现的错误数比起另外两个小组高40%。假设所有其他参数都相同,这就给项目管理者提供了一个指标:正式的复审方法比起其他复审方法在时间投资上能得到更大的回报。他可能会决定建议所有小组都采用更加正式的方法。度量给管理者提供了更深入的理解,而更深入的理解会产生更严谨、更正确的决策。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 软件工程:实践者的研究方法第4章软件过程和项目的度量

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情