Article Preview
TopIntroduction
With an objective to improve the product and process, quality is one of the prime concerns of software developers. Several techniques, models and tools are available to facilitate the assessment of software quality. Many of them are applied when the software product is completed or about to complete and at design level. Software quality has different forms from different perceptions. From the perception of end users, software quality means the extent to achieve its target, to the developers it means to complete its specifications, and from the product perception it is concerned with characteristics of software and the money spent to develop it (Arvanitou et al., 2017).
Software quality is the extent to which software is successful to achieve its objectives whereas software quality model is a framework that describes the software quality and facilitates its assessment (Hoyer et al., 2001). Software code is used to find the final product quality using quality attributes of object-oriented software. These attributes also help in the measurement of the software performance which depends on its quality (Gorla & Lin, 2010), effectiveness and completeness. The measurement of quality of object oriented software helps developers to achieve the satisfaction of targeted audience. Models for assessment of the software quality can be classified into three different categories namely hierarchical, meta-model-based and statistical quality models.
The hierarchical models assess the quality of object oriented software(OOS) in the form of software quality attributes and criteria (Sadeghzadeh Hemayati & Rashidi, 2017; Bansiya & Davis, 2002; Yadav & Singh, 2013) as depicted in Figure 1.
Figure 1. Hierarchical software quality model
Quality is a complex concept and a quality model requires more coherent and structured relationship between quality and metrics than the simple hierarchical one (Wagner, 2013). Structure of a meta-model based on the software quality attributes, criteria, sub-criteria and metrics (Sadeghzadeh Hemayati & Rashidi, 2017) is shown in figure 2.
Figure 2. Structure of a meta-model of quality
The statistical quality models depend on the properties of product & process and estimate or predict software quality attributes by generating statistical relationship between different metrics which are measured (Sadeghzadeh Hemayati & Rashidi, 2017).
Software quality attributes and their mapping with the metrics is explained by (Arvanitou et al. 2017). They also map software quality attributes related to different development phases of software such as design, architecture, implementation, maintenance and testing. The author also identify several number of quality attributes and metrics associated with them based on several studies done in last dacades.
Software quality metrics play an important role in the assessment of the quality of software. A number of models and metrics such as Cavano & McCall, 1978; Boehm & Papaccio,1988; Dromey, 1995; ISO, 2001; ISO, 2014 which help to maintain the desired quality are available to find the software quality. In the present era of modern technology, it is important to build new models and metrics to find the quality of software using techniques like machine learning, deep learning, and artificial intelligence.