Software can be considered a live entity, as it undergoes many alterations throughout its lifecycle. Therefore, code can become rather complex and difficult to understand. More specifically in object-oriented systems, classes may become very large and less cohesive. In order to identify such problematic cases, existing approaches have proposed the use of cohesion metrics. While metrics can identify classes with low cohesion, they usually cannot identify new or independent concepts. In this work, we propose a class decomposition method using an clustering algorithm based on the Jaccard distance between class members. The methodology is able to identify new concepts and rank the solutions according to their impact on the design quality of the system. The methodology was evaluated in terms of assessment by designers, expert assessment and metrics. The evaluation showed the ability of the method to identify new recognizable concepts and improve the design quality of the underlying system.
Identifer | oai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:AEU.10048/1491 |
Date | 11 1900 |
Creators | Fokaefs, Marios-Eleftherios |
Contributors | Stroulia, Eleni (Computing Science), Wong, Ken (Computing Science), Reformat, Marek (Electrical and Computer Engineering) |
Source Sets | Library and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada |
Language | en_US |
Detected Language | English |
Type | Thesis |
Format | 907813 bytes, application/pdf |
Relation | M. Fokaefs, N. Tsantalis, A. Chatzigeorgiou, and J. Sander, Decomposing Object-Oriented Class Modules Using an Agglomerative Clustering Technique, 25th IEEE International Conference on Software Maintenance (ICSM2009), pp. 93101, September 20-26 2009. |
Page generated in 0.0018 seconds