An Empirical Study to Redefine the Relationship between Software Design Metrics and Maintainability in High Data Intensive Applications
Ruchika Malhotra, Anuradha Chug · 2013
Software maintainability is defined as the ease with which modifications could be made in to the software once it is delivered to the customer. While evaluating the quality of the software product, software maintainability is one of the most important aspects and it is desirable that the software should be designed and coded in such a way that it becomes more maintainable. Tracking the maintenance behavior of the software product is very complex and widely acknowledged by the researchers. We can accurately measure 'maintainability' of any software once it comes into operations but it would be too late by then, hence much has been examined in literature to measure the maintainability before software start operations by making use of software design metrics. It has proved empirically many times that there exists strong relationship between software design metrics and its corresponding maintainability. However, the framework and reference architecture in which the softwares are developing now days have changed dramatically as they make heavy use of databases. There is a strong need to re-define the relationship between software design metrics with subsequent maintainability in this changed scenario. In an attempt to address this issue quantitatively, we have proposed new suite of metrics by the induction of two new metrics which are more important and meaningful in data intensive applications. To analyze the proposed metric suite, their values are computed on five real-life applications which make use of databases with a great deal. The result shows that proposed new metrics suite is very effective indicator of software maintainability in the environment which provide remote connections to the server for accessing large database files. Based on the results it can be reasonably claimed that new metrics suite proposed in the current study would be able to predict software maintainability more precisely and accurately for those applications which makes heavy use of databases during operations.