Contribution to the standards
The main contribution to standards of the current project consists in the improvement and completion of a famous standard about software product quality, that is, ISO/IEC 9126.
This standard suggests a set of qualities related to software product, and each of this quality is supposed to be measurable. Therefore, the ISO/IEC 9126 standard proposes a set of measurements related to each quality.
The software quality is modelled within the standard into two levels, characteristics and sub-characteristics. Only the sub-characteristic level is related to measurements. Figure 1 shows the different characteristics and sub-characteristics of software quality proposed in the standard. A definition is given for each characteristic and sub-characteristic.
Nevertheless, the measurements proposed for each quality sub-characteristic are not clearly defined, and therefore hardly applicable in the industry. Moreover, this represents an important issue of the ISO/IEC standard, which prevents its dissemination.
The main cause of such a failure is the unclear and incomplete definitions of the measurements. Even if a set of information describes each measurement, the definition of the measurement itself remains inapplicable or needs a human-intensive and costly effort to refine it.
Based on this analysis of the ISO/IEC 9126 standard, we identify two important contributions:
- Extension to open source model
- Proposition of easily applicable measurements
First, we suggest the definition of a set of characteristics related to robustness and evolvability with a specification of sub-characteristics. Unlike in the ISO/IEC 9126 standard, each quality (characteristic and sub-characteristic) will be defined as formally as possible. The need of formalizing as much as possible the qualities represents the key point for facilitating the dissemination of the extended standard.
Like the ISO/IEC 9126, two levels of definition will be proposed for each of the following characteristics: robustness and evolvability. The first level defines the characteristic itself. The second level will suggest a set of characteristics-related sub-characteristics with measurements. The measurements will be as formal as possible, and in any case, each measurement will be computed thanks to a measurement tool.
Second, the suggested measurements will be defined in a formal and understandable way in order to facilitate their application and dissemination within the industry and the open source community.
Moreover, the measurements will be implemented in a software tool, which automates the measurements. Indeed, an important issue in software measurement remains in the cost, since measurements are often manual. However, proposing a software tool that executes automatically the measurements eases the use of software measurements in an industry context. Indeed, since the automation is available, software measurement is not considered as intrusive and human-intensive.
Therefore, the measurement tool will facilitate the dissemination of such methods.