Software Metrics and Design Quality in Object Oriented Paradigm

Software Metrics and Design Quality in Object Oriented Paradigm

Gopalakrishnan T.R. Nair (Research and Industry Incubation Centre, Dayananda Sagar Institutions, India) and Selvarani R (Research and Industry Incubation Centre, Dayananda Sagar Institutions, India)
DOI: 10.4018/978-1-60960-509-4.ch014
OnDemand PDF Download:
$30.00
List Price: $37.50

Abstract

As the object oriented programming languages and development methodologies moved forward, a significant research effort was spent in defining specific approaches and building models for quality based on object oriented measurements. Software metrics research and practice have helped in building an empirical basis for software engineering. Software developers require objectives and valid measurement schemes for the evaluation and improvisation of product quality from the initial stages of development. Measuring the structural design properties of a software system such as coupling, inheritance, cohesion, and complexity is a promising approach which can lead to an early quality assessment. The class codes and class diagrams are the key artifacts in the development of object oriented (OO) software and it constitutes the backbone of OO development. It also provides a solid foundation for the design and development of software with a greater influence over the system that is implemented. This chapter presents a survey of existing relevant works on class code / class diagram metrics in an elaborate way. Here, a critical review of the existing work is carried out in order to identify the lessons learnt regarding the way these studies are performed and reported. This work facilitates the development of an empirical body of knowledge. The classical approaches based on statistics alone do not provide managers and developers with a decision support scheme for risk assessment and cost reduction. One of the future challenges is to use software metrics in a way that they creatively address and handle the key objectives of risk assessment and the estimation of external quality factors of the software.
Chapter Preview
Top

Software Metrics

“You can neither predict nor control what you cannot measure” – Norman E. Fenton

Software metrics are defined to be a measure to quantify attributes in software processes, products and projects. Quality is a phenomenon, which involves a number of variables that depend on human behavior which cannot be controlled easily. The metrics approach can measure and quantify these kinds of variables. The most common definition according to R.S Pressman and L. Rosencrance (Fenton N, 1997; Dandashi F, 1998) “Software metrics is a method to quantify attributes in software processes, products and projects. Measurement finds a numerical value for software product attributes or software process attributes. These values can be compared against the standards applicable in an organization to quantify the quality of the product or quality of the software process”.

Measurable characteristics of the analysis and design model of an OO system assists the project manager in planning and tracking activities and also provide information about the level of effort required to implement the system (Dandashi F, 1998). Somerville (Li, 1998) classifies metrics in two categories:

  • i.

    Control metrics, generally associated with software process.

  • ii.

    Predict metrics, normally associated with software product.

Predict metrics are useful in predicting the static and dynamic characteristics of the software [Li Li., 1998]. These predicted variables are the indicators of complexity of the code, instability, coupling, cohesion, inheritance etc. An attribute analysis can be conducted to assess the quality of the products in early stage of software development (Dandashi F., 1998). Here, software metrics play an important role in better planning, assessment of improvements, reduction of unpredictability, early identification of potential problems and productivity evaluation. These managerial aspects of the software development process using object oriented technology have to be carefully addressed. Metrics are independent of the adopted paradigm, although the latter deeply influences the set of metrics to choose, as its concepts and corresponding abstractions are either disjointed or implemented differently (Dandashi F., 1998).

Complete Chapter List

Search this Book:
Reset