天天看点

软件质量属性的两个模型(Software Quality Attributes)—中英文对照

本文的目的是定义术语“软件质量属性”,并将该术语放在SQA和软件过程改进(SPI)的上下文中。

(The purpose of this article is to define the term software quality attributes and to place that term in the context of SQA and software process improvement, SPI. )

考虑软件质量属性的功能(也称为软件质量因素),让我们重新审视任何质量管理的总体目标,即富士通的口号:以成本和性能为首要考虑因素的质量内置。

(To consider the function of software quality attributes (also known as software quality factors) lets revisit the overall goal of any quality management, namely Fujitsu s slogan Quality built-in with cost and performance as prime consideration.) 

鉴于软件的无形性和抽象性,研究人员和实践者一直在寻找描述软件特征的方法,以使收益和成本更加明显(用于测量)。这项任务今天仍在继续,但有两个值得注意的软件质量属性模型,即:

  • McCall (1977)
  • Boehm (1978)

(Given the intangible and abstract nature of software, researchers and practitioners have been looking for ways to characterize software in order to make the benefits and costs more visible (for measurement). This quest continues today but there have been two notable models of software quality attributes, namely:

  • McCall (1977)
  • Boehm (1978)

McCall's Quality Model - 1977

Boehm's Quality Model - 1978

  • Product revision (ability to change).

The product revision perspective identifies quality factors that influence the ability to change the software product, these factors are:

- Maintainability, the ability to find and fix a defect.

- Flexibility, the ability to make changes required as dictated by the business.

- Testability, the ability to Validate the software requirements.

  • Portability, the extent to which the software will work under different computer configurations (i.e. operating systems, databases etc.).
  • Product transition (adaptability to new environments).

The product transition perspective identifies quality factors that influence the ability to adapt the software to new environments:-

- Portability, the ability to transfer the software from one environment to another.

- Reusability, the ease of using existing software components in a different context.

- Interoperability, the extent, or ease, to which software components work together.

  • Reliability, the extent to which the software performs as required, i.e. the absence of defects.
  • Product operations (basic operational characteristics).

The product operations perspective identifies quality factors that influence the extent to which the software fulfils its specification:-

- Correctness, the functionality matches the specification.

- Reliability, the extent to which the system fails.

- Efficiency, system resource (including cpu, disk, memory, network) usage.

- Integrity, protection from unauthorized access.

- Usability, ease of use.

  • Efficiency, optimum use of system resources during correct execution.
  • Usability, ease of use.
  • Testability, ease of validation, that the software meets the requirements.
  • Understandability, the extent to which the software is easily comprehended with regard to purpose and structure.
  • Flexibility, the ease of changing the software to meet revised requirements.
In total McCall identified the 11 quality factors broken down by the 3 perspectives, as listed above.  These quality factors are further broken down into Primitive constructs that can be measured, for example Testability is broken down into:- accessibility, communicativeness, structure and self descriptiveness. As with McCall's Quality Model, the intention is to be able to measure the lowest level of the model. 

总的来说,McCall 确定了11个质量因素,按上述3个角度进行分解。

对于每个质量因素,McCall 定义了一个或多个质量标准(一种测量方法),通过评估每个因素的标准,可以对给定的软件产品进行全面的质量评估。

例如,可维护性质量因素将具有简单性、简洁性和模块化的标准。

In total McCall identified the 11 quality factors broken down by the 3 perspectives, as listed above. 

For each quality factor McCall defined one or more quality criteria (a way of measurement), in this way an overall quality assessment could be made of a given software product by evaluating the criteria for each factor. 

For example the Maintainability quality factor would have criteria of simplicity, conciseness and modularity. 

在试图定性地将软件质量定义为一组属性和度量(度量)时,BarryW.Boehm还定义了软件质量特征的层次模型。

在其模型的最高层次上,Boehm定义了三种主要用途(或基本软件需求),这三种主要用途是:

  • As-is utility,可使用原有软件的程度(即易用性、可靠性和效率)。
  • 可维护性,易于识别需要更改的内容,以及易于修改和重新测试。
  • 可移植性,易于更换软件以适应新环境。

这三种主要用途都有与其相关的质量因素,代表了Boehm层次模型的下一个层次。

Barry W. Boehm also defined a hierarchical model of software quality characteristics, in trying to qualitatively define software quality as a set of attributes and metrics (measurements). At the highest level of his model, Boehm defined three primary uses (or basic software requirements), these three primary uses are:

  • As-is utility, the extent to which the as-is software can be used (i.e. ease of use, reliability and efficiency).
  • Maintainability, ease of identifying what needs to be changed as well as ease of modification and retesting.
  • Portability, ease of changing software to accommodate a new environment. 

    These three primary uses had quality factors associated with them , representing the next level of Boehm's hierarchical model. 

继续阅读