Abstract:
Maintainability is an important factor that developers should concern because two-thirds of the software cost involves maintenance. Without the good design from prior software development phase and without the good measurement for assessing the software quality, the maintenance cost will likely to be high. Aspect-oriented programming is a programming paradigm that firstly emerges out as an augmentation of object-oriented programming and aims to promote the good design. It attempts to solve code tangling and code scattering problems by introducing an aspect to modularize and to encapsulate the crosscutting concern. Various studies are provided to support the object-oriented software measurement using the Factor-Criteria-Metric approach. However, few research works are done to support measuring aspect-oriented software using the Factor-Strategy approach. This thesis gathers a collection of design principles, extracts and proposes some aspect-oriented design guidelines, and defines violation check definitions for detecting design flaws to construct a metric suit for measuring aspect-oriented software maintainability. Twenty-seven design principles are selected to form the maintainability metrics following the Factor-Strategy approach. The metrics and the principle violation check definitions are applied to evaluate fifty software samples. They expose flaws in forty nine systems. In addition, the metrics are used to compare two sets of systems written in Java and AspectJ. The results point that the maintainability of six systems from twenty three systems is improved after applying aspect-oriented concept.