Font Size: a A A

Assessing Software Maintainability Based On Class Diagram Design

Posted on:2015-10-20Degree:MasterType:Thesis
Country:ChinaCandidate:Y LuFull Text:PDF
GTID:2348330509960699Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Getting the information of software maintainability at early design stage helps to find problems of the design, thus promoting the maintenance-oriented development. Furthermore, acquiring the state of software maintainability during the maintenance and evolution period is useful to prevent code decay and software aging, thus reducing the maintenance cost. The motivation of this paper is to assess software maintainability based on class diagram design(including UML class diagram both designed at the early design stage and reversed at late maintenance period). The main work is listed below:(1) Analysis of the relationship between class diagram metrics and maintainability indices. Adopting the GQM(Goal-Question-Metric) method, we propose a set of class diagram metrics. We investigate the corrective maintenance history of Apache Tomcat, and evaluate maintainability from modified lines, fixing time span and impact span. By doing partial correlation analysis and canonical correlation analysis, we mine the relationship between class diagram metrics and maintainability indices and find that:(i) more across-package class associations, more children of a class, and fewer class inheritances are supposed to indicate bigger time span for a defect correction;(ii) more classes and fewer inheritance are supposed to indicate more source lines of code modified and bigger impact span for a defect correction.(2) Calculation of the thresholds of class diagram metrics. By doing statistical analysis of a wide range of sample object-oriented software(including open-source and industry software), we get the thresholds of every class diagram metric, including the typical values, lower/higher values and extreme low/high values. Comparing with relevant research, we find they have similar results, which validates the results and strengthens the persuasion of our research.(3) Visualization of class diagram metrics. Referencing Lanza et al.'s visualized metric model “the overview pyramid” based on Object-oriented software code, we propose the overview pyramid of class diagram, which presents the class diagram metrics graphically, and uses different colors to present the sections divided by the thresholds. This visual metric model helps engineers to acquire the information of metrics rapidly and intuitively, and improve the class diagram design to improve the maintainability.Further, this paper analyzes main factors influencing the validity of the study. Then it discusses how to use the findings to guide maintenance-oriented design, and explains how to assess software maintainability based on class diagram design with a real case.
Keywords/Search Tags:Software Maintainability, UML Class, Diagram, Metric Empirical Software Engineering, Mining Software Repositories
PDF Full Text Request
Related items