Title :
Solving the Class Responsibility Assignment Problem in Object-Oriented Analysis with Multi-Objective Genetic Algorithms
Author :
Bowman, Michael ; Briand, Lionel C. ; Labiche, Yvan
Author_Institution :
Dept. of Syst. & Comput. Eng., Carleton Univ., Ottawa, ON, Canada
Abstract :
In the context of object-oriented analysis and design (OOAD), class responsibility assignment is not an easy skill to acquire. Though there are many methodologies for assigning responsibilities to classes, they all rely on human judgment and decision making. Our objective is to provide decision-making support to reassign methods and attributes to classes in a class diagram. Our solution is based on a multi-objective genetic algorithm (MOGA) and uses class coupling and cohesion measurement for defining fitness functions. Our MOGA takes as input a class diagram to be optimized and suggests possible improvements to it. The choice of a MOGA stems from the fact that there are typically many evaluation criteria that cannot be easily combined into one objective, and several alternative solutions are acceptable for a given OO domain model. Using a carefully selected case study, this paper investigates the application of our proposed MOGA to the class responsibility assignment problem, in the context of object-oriented analysis and domain class models. Our results suggest that the MOGA can help correct suboptimal class responsibility assignment decisions and perform far better than simpler alternative heuristics such as hill climbing and a single-objective GA.
Keywords :
decision making; genetic algorithms; object-oriented methods; class coupling; class diagram; class responsibility assignment problem; cohesion measurement; decision making support; domain class model; hill climbing; multiobjective genetic algorithm; object-oriented analysis; object-oriented design; object-oriented domain model; single-objective genetic algorithm; Algorithm design and analysis; Context modeling; Decision making; Genetic algorithms; Genetic engineering; Humans; Laboratories; Object oriented modeling; Software quality; Unified modeling language; Object-oriented analysis and design; UML; class responsibility assignment; genetic algorithm.;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2010.70