Software Quality Attributes |
||
|
Article PurposeTo 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. 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:- There are others (see FURPS) but these two illustrate the general purpose and issues of these quality factor models. These two quality models are summarized below and similarities can be seen. To begin with there are some common objectives of these models, namely:- Both the measurement (software metrics) of these attributes and the use of the software metrics in software process improvement, SPI, are discussed in other articles. |
||
|
McCall's Quality Model - 1977Jim McCall produced this model for the US Air Force and the intention was to bridge the gap between users and developers. He tried to map the user view with the developer's priority. McCall identified three main perspectives for characterizing the quality attributes of a software product. These perspectives are:- Product revision The product revision perspective identifies quality factors that influence the ability to change the software product, these factors are:- Product transition The product transition perspective identifies quality factors that influence the ability to adapt the software to new environments:- Product operations The product operations perspective identifies quality factors that influence the extent to which the software fulfils its specification:- 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.
|
Boehm's Quality Model - 1978Barry 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:- These three primary uses had quality factors associated with them , representing the next level of Boehm's hierarchical model. Boehm identified seven quality factors, namely:- 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.
|
Summary of the two modelsAlthough only a summary of the two example software factor models has been given, some comparisons and observations can be made that generalize the overall quest to characterize software. Both of McCall and Boehm models follow a similar structure, with a similar purpose. They both attempt to breakdown the software artifact into constructs that can be measured. Some quality factors are repeated, for example: usability, portability, efficiency and reliability. The presence of more or less factors is not, however, indicative of a better or worse model. The value of these, and other models, is purely a pragmatic one and not in the semantics or structural differences. The extent to which one model allows for an accurate measurement (cost and benefit) of the software will determine its value. It is unlikely that one model will emerge as best and there is always likely to be other models proposed, this reflects the intangible nature of software and the essential difficulties that this brings. The ISO 9126 represents the ISO's recent attempt to define a set of useful quality characteristics. A more in depth discussion of these two models can be found here |
No guarantee (or claim) is made regarding the accuracy of this information. Any questions or comments should be sent to:-