Software Engineering | Software Quality Framework
Software Quality Framework is a model for software quality by connecting and integrating the different views of software quality. This framework connects the customer view with the developer view of software quality and it treats software as a product. The software product view describes the characteristics of a product that bear on its ability to satisfy stated and implied needs.
This is a framework that describes all the different concepts relating to quality in a common way measured by qualitative scale that can be understood and interpreted in a common way. Therefore the most influential factor for the developers is the customer perception. This framework connects the developer with the customer to derive a common interpretation for quality.
- Developers View:
Validation and verification are two independent methods used together for checking that a software product meets the requirements and that it fulfills its intended purpose.Validation checks that the product design satisfies the purposeful usage and verification checks for errors in the software. The primary concern for developers is in the design and engineering processes involved in producing software. Quality can be measured by the degree of conformance to predetermined requirement and standards, and deviations from these standards can lead to poor quality and low reliability. While validation and verification are used by the developers to improve the software, the two methods don’t represent a quantifiable quality measurement.
The developer view of software quality and customer view of software quality are both different things.
For example the customer understands or describes the quality of operation as meeting the requirement while the developers use different factors to describe the software quality.
The developer view of quality in the software is influenced by many factors.
This model stresses on 3 primary ones:
- The code:
It is measured by its correctness and reliability.
- The data:
It is measured by the application integrity.
It has different measures the simplest is the mean time to change.
- The code:
- Users View:
When the user acquires software, he/she always expect a high-quality software. When end users develop their software then quality is different. End-user programming, a phrase popularized by which is programming to achieve the result of a program primarily for personal, rather than public use. The important distinction here is that software itself is not primarily intended for use by a large number of users with varying needs.
For example, a teacher may write a spreadsheet to track students’test scores. In these end-user programming situations, the program is a means to an end that could be used to accomplish a goal. In contradiction to end-user programming, professional programming has the goal of producing software for others to use.
For example, the moment a novice Web developer moves from designing a web page for himself to designing a Web page for others, the nature of this activity has changed.
Users find software quality as a fit between their goals and software’s functionality. The better the quality, the more likely the user will be satisfied with the soft-ware. When the quality is bad, developers must meet user needs or face a diminishing demand for their software. Therefore, the user understands quality as fitness for purpose. Avoiding complexity and keeping software simple, considerably lessens the implementation risk of software.In some instances, users abandoned the implementation of a complex software because the software developers were expecting the users to change their business and to go with the way the software works.
- Product View:
The product view describes quality as correlated to inherent characteristics of the product. Product quality is defined as the set of characteristics and features of a product that gives contribution to its ability to fulfill given requirements. Product quality can be measured by the value-based view which sees the quality as dependent on the amount a customer is willing to pay for it. According the users, a high-quality product is one that satisfies their expectations and preferences while meeting their requirement. Satisfaction of end users of the product represents craft to learn, use, upgrade the product and when asked to participate in rating the product, a positive rating is given.