📜  软件工程软件可靠性测量技术

📅  最后修改于: 2021-01-10 03:01:38             🧑  作者: Mango

软件可靠性测量技术

可靠性指标用于定量表示软件产品的可靠性。使用哪个参数的选项取决于它所应用的系统类型以及应用程序域的要求。

衡量软件的可靠性是一个严重的问题,因为我们对软件的性质没有很好的了解。很难找到一种合适的方法来测量软件可靠性以及与软件可靠性有关的大多数方面。甚至软件估算也没有统一的定义。如果我们不能直接测量可靠性,那么可以测量一些反映可靠性相关特征的东西。

当前的软件可靠性测量方法可以分为四类:

1.产品指标

产品指标是用于构建工件的指标,即需求规格说明文件,系统设计文档等。这些指标通过可用性,可靠性,可维护性和可移植性等属性的记录来帮助评估产品是否正确。这些度量是从源代码的实际主体中获取的。

  • 人们认为软件的大小反映了复杂性,开发工作和可靠性。代码行(LOC)或千位LOC (KLOC)是一种衡量软件大小的直观方法。 LOC的基础是程序长度可以用作程序特征(如工作量和维护简便性)的预测指标。它衡量程序功能的复杂性,并且与编程语言无关。
  • 功能点度量是一种基于输入,输出,主文件,查询和接口的数量来度量所建议软件开发功能的技术。
  • 假设软件可靠性是成功验证或测试的软件部分的函数,则通过对软件产品执行测试来测试覆盖率度量标准的大小错误和可靠性。
  • 复杂度直接关系到软件的可靠性,因此表示复杂度至关重要。面向复杂性的度量是一种通过将代码简化为图形表示形式来确定程序控制结构的复杂性的方法。代表性度量标准是McCabe的复杂度度量标准。
  • 质量度量标准衡量软件产品开发各个步骤的质量。至关重要的质量度量标准是缺陷去除效率(DRE) 。由于在整个开发过程中应用了不同的质量保证和控制活动,DRE提供了质量度量。

2.项目管理指标

项目指标定义项目特征和执行。如果程序员对项目进行适当的管理,那么这将有助于我们获得更好的产品。在开发过程和按时并在所需质量目标范围内完成项目的能力之间存在关系。当开发人员使用不足的方法时,成本会增加。通过使用更好的开发过程,风险管理过程,配置管理过程,可以实现更高的可靠性。

这些指标是:

  • 软件开发人员数量
  • 软件生命周期内的人员配备模式
  • 费用和时间表
  • 生产率

3.流程指标

流程指标量化了软件开发流程及其环境的有用属性。当他们报告诸如周期时间和返工时间之类的特征时,他们会告诉您过程是否在最佳运行。流程指标的目标是在流程的第一时间做正确的工作。产品的质量是过程的直接函数。因此,过程指标可用于估计,监视和改善软件的可靠性和质量。流程指标描述了生产软件产品的流程的有效性和质量。

例如:

  • 过程中需要的努力
  • 是时候生产产品了
  • 开发过程中清除缺陷的有效性
  • 测试期间发现的缺陷数量
  • 流程的成熟度

4.故障和失败指标

错误是程序中的缺陷,当程序员在特定条件下执行错误并导致执行失败时出现。这些指标用于确定无故障执行软件。

为了达到这个目的,收集,总结和分析了在测试过程中发现的许多故障以及用户报告的故障或其他问题。故障度量标准是基于有关软件发行后发现的故障的客户信息。因此,收集的故障数据可用于计算故障密度,平均故障间隔时间(MTBF)或其他可衡量或预测软件可靠性的参数。