1、软件质量的定义

软件质量是软件特性的综合,指软件满足规定或潜在用户需求的能力,其主要从内部质量、外部质量、使用质量和过程质量这四个方面来衡量。

2、软件质量模型

测度与度量:在软件质量中用于测量的一种量化的标度和方法即为测度,而名词的度量即用来指测量的结果。

1. McCail质量模型

这是由McCall和他的同事在早期提出的软件质量模型,指出了影响软件质量因素的分类,其主要集中在以下三个方面:

  1. 操作特性(产品运行)
  2. 承受可改变的能力(产品修订)
  3. 新环境适应的能力(产品变迁)

具体的模型图如下(来源<软件评测师教程>):
在这里插入图片描述

2. Boehm质量模型

Boehm及其同事提出了如下的分层的软件质量模型,除了包含用户期望与需求之外,还提出了McCall模型中没有的硬件特性。
在这里插入图片描述
Boehm模型始于软件的整体效用,从从系统交付后涉及不同类型用户的考虑;用户分为三种,分别为初识用户、将软件移植到其他环境下使用的用户、维护系统的程序员。这三种用户都希望整个系统是可靠的。Boehm模型反映了对软件质量的理解,即软件做了用户要它做的,有效地使用系统资源、易于用户学习和使用、易于测试和维护。

3. ISO9126质量模型

ISO9126软件质量模型是一个分层的质量模型,有6个影响质量的特性,模型中说明了质量特性及其子特性的关系。
在这里插入图片描述
标准的软件质量模型分为三个层次,第一层是6个影响软件质量的主要因素(即下面的质量的特性),在标准中称为质量特性,而每个特性又可以通过第二层的若干个子特性来进行测量,而第二层的每个子特性在测量时又要定义并实施若干个度量。
此模型的出发点是使软件满足用户明确或潜在的需求,这六个特性最大可能的涵盖了其他早期质量模型中的所有因素,并且彼此交叉最小。

3、软件质量的特性

软件的质量特性主要有六个大的特性,其中每个特性中又有一些子特性,分别如下所述。

1. 功能性

定义:软件在指定条件下使用时,满足用户明确或隐含需求的能力。
子特性:

  1. 适合性:软件为指定的任务和用户目标提供一组合适功能的能力
  2. 互操作性:软件与一个或更多的规定系统进行交互的能力。
  3. 安全性:软件保护信息和数据的能力,以使未授权的人员或系统不能阅读或修改这些信息和数据,而不拒绝受权
  4. 依从性:软件遵循与各种特性相关的标准、约定或法规以及类似规定的能力。这些标准要考虑国际标准。
  5. 准确性
2. 可靠性

定义:软件在指定条件下使用时,维护规定的性能级别的能力。
子特性:

  1. 成熟性:软件为避免由软件中错误而导致失效的能力。
  2. 容错性:在软件出现故障或者违反指定接口的情况下,软件维持规定的性能级别的能力。
  3. 易恢复性:在失效发生的情况下,软件重建规定的性能级别并恢复受直接影响的数据的能力。
3. 易用性

子特性:

  1. 易理解性:软件使用户能理解软件是否合适,以及如何能将软件用于特定的任务和使用环境的能力。
  2. 易学性:软件使用户能操作和控制它的能力。
  3. 易操作性:软件使用户能操作和控制它的能力。
4. 效率

定义:在规定条件下,相对于所用资源的数量,软件可提供适当性能的能力。
子特性:

  1. 时间特性:在规定条件下,软件执行其功能时,提供适当的响应和处理时间以及吞吐率的能力,即完成用户
  2. 资源利用性:在规定条件下,软件执行其功能时,使用合适的资源数量和类别的能力。
5. 可维护性
  1. 易分析性
  2. 易更改性
  3. 稳定性
  4. 易测试性
6. 可移植性
  1. 适应性
  2. 易安装性
  3. 一致性
  4. 易替换性

参考

《软件评测师教程》

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐