High cohesion, or module strength, indicates that a system has been well partitioned into components which have strong internal relationships. An understanding of cohesion is an important factor in software design. However, cohesion is difficult to define precisely and to quantify, particularly for object oriented (OO) software, and attempts to develop metrics have had limited success. We advocate the use of visualisation techniques to provide a richer view of cohesion than is possible with simple numeric values. Our approach, based on visualising the raw data, side-steps many of the difficulties associated with the formulation of precise definitions of cohesion phenomena, avoids the loss of information associated with existing aggregate cohesion metrics and supports exploratory analysis. The pipeline-based visualisations of class cohesion described in this paper use the Angle 3D graph layout engine and XSLT transformations both to select the ingredients for visualisations and to de...
Neville Churcher, Warwick Irwin, Ronald D. Kriz