This is an old revision of the document!
Definitions of product and system quality in the industry standards
by Artem Filimonov, aafilimonov_5@edu.hse.ru
Introduction
Quality plays a key role in the demand for a product in the market. People prefer products which price matches the quality. Therefore, manufacturers should pay great attention for quality assurance of the products. This additionally applies to developers who aspire to create products of high demand. To ensure quality in the production process are used quality requirements that are written in various industry standards. This topic will consider aspects of the quality of information systems and software.
In order of creating high-quality software developers should perform some actions that ensure quality. There is a wide choice of tools and techniques that ensure quality management. Most of them are described in international or national standards. ISO, IEEE, IEC are organizations that are responsible for development and publication of international standards. In a large amount of standards there are some dedicated to system and software quality requirements. In IEEE software life cycle such section is named Software quality assurance (SQA). The process of quality assurance can be ensured in conformance to the ISO/IEC 25000 series of standards, which is called SQuaRE (System and Software Quality Requirements and Evaluation). SQuaRE includes the latest versions of quality standards and consists of 5 divisions: Quality Management, Quality Model, Quality Measurement, Quality Requirements, Quality Evaluation.
Quality Model
Quality Model is a set of characteristics that ensure the quality of software in all of its aspects. Such models are described in ISO/IEC 25010:2011 standard. The quality can be defined as a set of requirements for a product that determine its ability to meet certain stated and implied needs of its various stakeholders in order to provide value [1]. These needs are represented in quality models as quality characteristics and even subcharacteristics. Such structure allows to cover all aspects of the system quality in order to achieve desired usage. Quality property is the smallest unit in quality model hierarchy. They are used together with quality measure and can cover characteristic or subcharacteristic. It allows to track reachability of desired quality level.
Currently there are 3 quality models that are used in software development: the quality in use, the product quality and the data quality. Quality models form a framework that determines characteristics of different scopes. These models are useful for software developers, quality assurance, owners, maintainers and other stakeholders.
The “quality in use” model consists of five characteristics which describe outcomes of system usage: effectiveness, efficiency, satisfaction, freedom from risk, and context coverage. These characteristics are represented in interactions of stakeholders with the system. The “quality in use” model is related to all the factors that characterize overall usage of the system.
The product quality model classifies eight characteristics: functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability and portability. Each characteristic is divided in subcharacteristics. This quality model applies just to a software or a system and can be considered as non-functional requirements including functional suitability management.
The data quality model defines quality characteristics for target data used by systems and stakeholders [2]. Information systems use various types of data that is transmitted over the system components. It means that implementation of this model can effect an overall system quality. Target data is defined as a data that is decided to be analyzed and validated by the organization through the model. These models have different scopes of use. The data quality model represents only system’s target data. The “quality in use” model targets human-computer system that can be described as interactions of stakeholders with a system. The product quality model focuses on the properties of computer system including the software product. Figure 1 shows how quality models apply to system development.
Figure 1 — Targets of quality models [1]
The main body of focus will be target computer system as it considers basic software system attributes and includes system components such as target software. Although “quality in use” model is used to ensure quality from the perspective of stakeholders it is not suitable for getting measurable outcomes. And the product quality model allows to get exact metrics of the running system. Thus, it can be applied to fulfill non-functional requirements represented as quality characteristics. These characteristics help to define activities that ensure quality and to provide an assessment of their implementation.
The product quality model consists of 8 characteristics and their subcharacteristics:
- Functional suitability
- Functional completeness
- Functional correctness
- Functional appropriateness
- Performance efficiency
- Time behavior
- Resource utilization
- Capacity
- Compatibility
- Co-existence
- Interoperability
- Usability
- Appropriateness recognizability
- Learnability
- Operability
- User error protection
- User interface aesthetics
- Accessibility
- Reliability
- Maturity
- Availability
- Fault tolerance
- Recoverability
- Security
- Confidentiality
- Integrity
- Non-repudiation
- Accountability
- Authenticity
- Maintainability
- Modularity
- Reusability
- Analysability
- Modifiability
- Testability
- Portability
- Adaptability
- Installability
- Replaceability
