Explore BrainMass

Quality and Reliability

I need assistance in writing 500-600 words on quality and reliability - they are related concepts but are fundamentally different in a number of ways. Discuss them.

Vishnu Vandana

Solution Preview

Software Reliability is one of the most important aspects of software quality. Software reliability is a quality characteristic which quantifies the operational profile of a system.

Software engineers need accurate quality assessment of the software under development. Early prediction of fault prone components is of particular interest for software developers to quickly find defects and deliver more reliable software products. Software quality prediction focuses on identifying fault prone modules (procedures), while software reliability prediction aims at quantifying the probability that a program will execute without failure since its start time.

Software quality models aim at predicting critical software components prior to testing. They are generally built from metrics collected in past projects or releases, and are used to identify fault prone modules in the current project/release and subject them to more rigorous verification activities. Successful models are characterized by high prediction accuracy, thus allowing software developers to quickly identify defects early in the software life cycle. Automated detection of fault prone modules during software development process is an important prerequisite for developing reliable large systems.

Software reliability is a statistical measure of how well software operates with respect to its requirements. There are two related software engineering research issues about reliability requirements. The first issue is achieving the necessary reliability, i.e., choosing and employing appropriate software engineering techniques in system design and implementation. The second issue is the assessment of reliability as a method of assurance that precedes system deployment.

There are many indirect software reliability assessment approaches, aiming at predicting software reliability in early life cycle. Most of them are, however, not accurate enough for reliable predictions. In addition, many of them are statistically dependent.

Software Quality Models
Studies show that many modeling techniques have been developed and applied for software quality prediction. These include:
- Logistic regression ,
- Discriminant analysis ,
- The discriminative power techniques,
- Optimized Set Reduction,
- Artificial neural network,
- Fuzzy classification,
- Bayesian Belief Networks (BBNs),
- Genetic algorithms, and
- Classification trees .

It was shown that the prediction accuracy of these models does not vary significantly. A trade-off can be achieved by having a higher defect detection rate and compromising the overall prediction accuracy, or vise versa. Thus, a performance comparison of various models, if based on only ...