Product Introduction

The AgileJ StructureViews feature for the Eclipse Java IDE is a visualizing aid for Java programmers. Java classes appear as boxes, with their class members shown with Eclipse symbols. Inheritance, field and dependency relationships between classes appear as connecting lines.

Building Understanding

AgileJ StructureViews diagrams are useful for understanding the architectural structure of your own and other people’s code from the vantage point of viewing diagrams of collections of related classes.

Communication

AgileJ StructureViews diagram files are easily stored in the source code repository for sharing between development team members. Alternatively, diagrams may be printed or exported as image files.

Automatic Class Diagram Generation

You can create class diagrams by dragging classes from the Eclipse explorer tree onto the diagram canvas; however AgileJ StructureViews includes an automatic class diagram generator which seeks out groups of related classes from your Java project and assembles class diagrams for you ready for you to browse.

Differences to other Java UML tools

AgileJ StructureViews has always been primarily a Java programmer's tool focusing on supporting Java project development through visualization of existing and evolving Java source code while avoiding any interference with the processes behind the creation of that source code. Agile methods favor working code above documentation; and the reason behind this is that documentation consumes time to create and maintain and can even create a reluctance to refactor the implementation. Therefore, AgileJ StructureViews, being loyal to agile methods has many differences to the mainstream UML supporting tools:

  • It is programming language specific. There is important Java-specific informations such as exceptions and Java modifier keywords which need to be visible.
  • It is IDE specific. To work as a programmer's tool it must be highly accessible during programming with little overhead to use.
  • It supports reverse engineering only; there is no forwards engineering supported. Forwards engineering, in other words creating source code by editing diagrams, is slower than writing the source code by hand due to Eclipse programmer support functions such as code completion, quick fixes, project automatic building, reference searching and the many navigation views.
  • Its diagram layout and line routing is of high quality in order to minimize the effort required to create class diagrams.
  • There is an emphasis upon project-specific custom filtering. Class diagram generators fail as an assistive technology when the results they produce are overly detailed. AgileJ StructureViews allows the same class diagram to be viewed through different Diagram Styles which omits some details while highlighting other details.
  • It has a batch diagram generator. This saves having to spend any time creating diagrams; instead a collection of class diagrams is created by automated discovery of groups of related classes.