Development and Implementation of an Algorithm for the Automatic Computation of Layouts for UML2.0 Class Diagrams

Reverse Engineering of software is a complex task. It is supported by various analyses and the computation of certain software quality metrics. To get an overview of the structure of the analysed software it is often necessary to visualize the relations between different components of software. The...

Full description

Bibliographic Details
Main Author: Schrepfer, Matthias
Format: Others
Language:English
Published: Växjö universitet, Matematiska och systemtekniska institutionen 2008
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:vxu:diva-2284
Description
Summary:Reverse Engineering of software is a complex task. It is supported by various analyses and the computation of certain software quality metrics. To get an overview of the structure of the analysed software it is often necessary to visualize the relations between different components of software. The VizzAnalyzer tool was developed for these purposes and allows visualizing the internal structure of software systems as UML2.0 class diagrams. The existing Eclipse-based visualization plug-in does not allow to automatically lay out the computed graph. Applying the layout manually is not feasible for larger graphs. A proper layout is needed to understand the provided information intuitively and the usefulness of the visualization is, on top of that, strongly connected to its layout. In this thesis, we first state requirements for the development and implementation process of a suitable layout algorithm. We further describe the development, design, and implementation of the Sugiyama layout algorithm into the existing Eclipse-based visualization plug-in. We add these new functionalities to be able to automatically compute a layout for given UML2.0 class diagrams achieving a proper Sugiyama layout for this type of diagrams. At the end of this thesis, we compare the results achieved by the implemented algorithm with the results achieved by yEd given the same diagrams as input.