Anyone inheriting someone else’s Java code will be familiar with the problem of understanding how it’s been put together, how well structured it is and how best to take it forwards. Stepping through the code helps break the ice, but sometimes it’s good to take a step back from the detail and browse a picture of how the components relate to each other. This is where this tool can help.
AgileJ StructureViews analyses all the code in your workspace and pulls out interesting looking groups of classes, presenting them as class diagrams in a web browser. This is a far quicker way to become familiar with an object oriented architecture than reading the source text.
Classically, reverse engineered UML diagrams have been labor-intensive to put together, the end results are cluttered and they cannot be trusted as they fall out of step with the code they are a representation of. However, code structure visualization has a more viable future due to the features we have incorporated in this tool.
1. We include Java element filtering which identifies design patterns, project-specific structures and the usual conventions which Java programmers are familiar with. These filters control how class diagrams are populated and reduce the noise in the information which is presented.
2. The batching engine is designed to be run repeatedly once it is set up, giving you fresh diagrams to browse. The results are not static images. Instead they leverage the GWT platform to present a navigable, filterable view geared towards encouraging engagement with the design.
Version 1.9.0 of AgileJ StructureViews is mostly a re-write of the batching engine. You will notice an order of magnitude in the speed of running batches. The size of war file is now a fraction of the size of that of version 1.8.3, which means less time in IO during batching, faster upload times, and faster loading of class diagram information on the webserver.