A Merit Factor Driven Approach to the Modularization of Object-Oriented Systems
01 Jan 2001
Modularization has many designations in the object-oriented world although it usually corresponds to system partitioning in groups (clusters) of classes. The problem is that this partitioning can be accomplished in many different ways, with two degrees of freedom: the number of clusters and the way to group classes to build them. We use Cluster Analysis to derive the optimal grouping for a fixed number of clusters. To find the optimal number of clusters we propose a decision criterion based on the definition of a modularization merit factor. We use this theoretical framework in the MOTTO tool and apply it to a reasonably large sample of software systems. The most important results are that (i) the proposed approach is feasible and easy to apply with appropriate tool support and that (ii) analyzed systems are far from fully exploiting the benefits of modularization.