Analysis of Software Product Quality Models

The goal of software quality assurance is to remove quality problems in the software. These problems are referred to by various names- "bugs", "faults", "errors" or "defects". But there is a great difference between error and defect. An error is a quality problem found before the software is released to end-users. While a defect is a quality problem found only after the software has been released to end-users. The errors and defects have very different economic, business, psychological and human impact. So the goal of software quality assurance is to find errors before they become defects. A software product quality model is a useful tool for meeting the objectives of software quality, reliability and software testing initiatives of different projects. In this paper we have done the survey of literature on software quality models. The objective of this paper is to provide a vivid description of the popular software quality models and presenting a more philosophical management view on software quality. We have compared the famous and important quality models on the basis of various attributes of quality. Why software quality models are used? Generally models provide the stepwise product development tracks. If any software development organization, wants to develop specified quality products, than they needs to follow the organized manner, to produce the product in states phases, time, cost and environment. To achieve desired software quality, software quality models to identify high-risk program modules are used. A software quality model is a useful tool for meeting the objectives of software quality, reliability and software testing initiatives of different projects. From long history many researchers have recognized the need of Software Product Quality: Traditionally, the quality of product is defined in terms of its fitness of purpose. Although fitness of the purpose is satisfactory definition of quality for hardware products, but it is not satisfactory for software products. There are a number of quality models in software engineering literature, each one of these quality models consists of a number of quality characteristics (or factors, as called in some models). These quality characteristics could be used to reflect the quality of the software product from the view of that characteristic. Selecting which one of the quality models to use is a real challenge. In this paper, we have discussed and compared the following quality models: 1. McCall's Quality Model. 2. Boehm's Quality Model. 3. Dromey's Quality Model. 4. FURPS Quality Model. 5. ISO 9126 Quality Model. McCall quality model attempts to bridge the gap between users and developers by focusing, on a number of software quality factors. The evaluation of software has been done by Boehm's quality model uses a given set of attributes and metrics. More recently, model has been developed by Dromey's which is focusing on the relationship between the quality attributes and the sub attributes, as well as attempting to connect software product properties with software quality attributes. In the next section of this paper we have described these software quality models for analysis/comparison point of view.