Modern civilization cannot survive without software. Because software is the building block of new generation, the quality of software plays an important role in building new technologies and hence, low quality software is not acceptable. Any software is defined by its internal and external characteristics. To measure software quality, its internal attributes such as cohesion, coupling, etc. are used to assess the external quality attributes such as Reusability, Maintainability etc. Very few researchers has worked on assessing external attributes by measuring internal attributes for object oriented systems and all work has been done at class level by using class level metrics. Since classes are not suitable for large applications with higher level of organisation, packages were introduced. Organizing classes into package enhances the Reusability and Maintainability task for object oriented systems. Aspect oriented systems are designed to enhance object oriented systems by modularizing crosscutting concerns like logging, synchronization etc., which are scattered in multiple classes. In this paper, efforts have been made to assess external attributes—Reusability, Maintainability and Understandability, using internal attributes for Aspect oriented systems at package level using fuzzy logic. Software reusability and maintainability improves the quality of software product by reducing development/maintenance time, effort and cost. On the other hand, software Understandability directly or indirectly affects the quality of software. In this paper, fuzzy approach is proposed for assessing the three external attributes using package level internal attributes. Predictions made from the proposed fuzzy approach are validated by analyzing them with the values of external attributes measured for AJhotdraw, an AspectJ software. The results have shown that the predictions made through the proposed approach are correct.
Read full abstract