是否有度量标准来回答以下问题:
- 软件更改/增强的易用性、健壮性如何 - 如果它是一个常见/通用的软件,它有多可重用 - 与代码相关的缺陷数量有多少 - 是否需要重新设计/编码 - 这段代码存在多长时间了 - 开发人员是否喜欢代码的设计和实现
似乎大部分都需要与CM和错误报告工具密切相关。
如果用你所提到的衡量代码质量的标准是如此直接的工作并且度量准确,那么也许就不再需要项目经理。更重要的是,好的和差的经理之间的区别将非常小。由于这并不是这样,这只表明获取有关软件质量的准确概念并不容易。
你的问题涉及到多个不同的领域,这些领域的量化方式各不相同或者很难量化,因此应该将这些问题分成对应共同目标的类别。然后,你可以为每个类别分配一个“重要性”因素,并从中得出一些指标。
例如,你可以使用 静态代码分析工具 来测量代码的语法质量,并从中得出一些指标。
你还可以使用与版本控制系统集成的错误跟踪工具从错误行/代码中得出一些指标。
为了衡量编码过程的稳健性、重用性和效率,您可以评估每个开发功能使用设计模式的情况(当然,在有意义的情况下)。没有工具可以帮助您实现这一点,但如果您监控软件的增长并对其进行数字化处理,它可以给您一个很好的想法,了解您的项目正在如何发展以及是否朝着正确的方向前进。引入代码审查程序可以帮助您更轻松地跟踪这些问题,并在开发过程的早期可能解决它们。可以将适当的设计模式实现的功能百分比作为指标。
虽然度量标准可能相当抽象和主观,但如果您花时间并始终尝试改进它们,它可以为您提供有用的信息。
关于软件过程中的度量标准需要注意以下几点:
您可能需要查看以下页面,其中描述了软件质量的各个方面,包括样本图。您需要测量的一些质量特征可以使用诸如Sonar之类的工具来推导。非常重要的是要弄清楚您想要如何对以下某些方面进行建模:
更加注重客户的度量标准应该是软件供应商修复漏洞和实现新功能所需的平均时间。
这很容易计算,基于您的缺陷跟踪软件的创建日期和关闭信息。
如果您的平均故障修复/功能实现时间非常长,这也可能是低质量软件的指标。
我知道一些SVN状态程序可以提供每次提交更改行的概述。如果您有一个缺陷跟踪系统,并且修复错误、添加功能等人员在修复错误时声明其提交编号,那么您可以计算每个错误/新功能请求影响了多少行。这可以为您提供可变性的度量。
接下来的事情就是简单地计算发现的错误数量,并将它们与代码行数的比率设置在一起。有一些价值观认为高质量软件应该每行代码拥有多少个错误。
你可以用一些经济的方式或者程序员的方式来做。
如果你选择经济的方式,你需要衡量改进代码、修复错误、添加新功能等成本。如果你选择第二种方式,你可能想要衡量工作人员使用你的程序的时间以及发现和修复平均错误所需的人力小时数。当然,这些方法都不是完美的,因为成本取决于市场情况,人力小时数取决于实际的人员和他们的技能,所以最好结合两种方法。
这样你就可以得到一些衡量代码质量的工具。当然,你应该考虑项目的规模和其他因素,但我希望主要思想是清楚的。