天天看點

軟體品質屬性的兩個模型(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. 

繼續閱讀