The quickest way to understand how Java code is structured

What does the license mean by a 'seat'?

A seat is basically a person who uses AgileJ StructureViews. That person may install the software on as many machines as he/she uses for developing or building software. We have no mechanical license enforcement mechanism. Where a multi-seat license has been purchased, then the number of seats should match the number of developers in the team using AgileJ StructureViews. This means that if a team of ten developers buy a ten-seat license, and one member of the team leaves and is replaced by a different developer, the team remains covered by the ten-seat license they purchased. However, should the team size grow beyond ten, then it becomes necessary to purchase additional licenses.

 

Does it run on linux?

We currently only test on Mac OS and Windows 7. We are introducing testing on Ubuntu and plan to support it from the next release.

 

If I buy a license what upgrades will I be entitled to?

We currently have no restrictions on upgrades. If you purchase a license it allows you to run the product for ten years from the date of purchase, and at any time while the license is valid you will be able to use the latest version of AgileJ StructureViews for no additional charge. If we do change this policy in the future and start to charge for upgrades, then that change will not affect purchases made prior to that change.

 

If I buy a license what support will I get?

Each license purchase includes 12 months of technical support. The technical support can be extended at 25% of the license purchase price for each additional year of support.

 

Are you planning to support sequence diagrams?

Sequence diagrams are the next candidate for reverse engineering after class diagrams. They are complicated to produce because they suffer from visual information overload more than class diagrams. Do you really want to see every call to add a log message, or every call to the graphics context in a drawing application? The interesting sequences are normally buried among benign housekeeping calls. So the answer is that we will support sequence diagrams in the future, and as with our class diagrams they will include extensive filtering controls.

 

Are you planning to support other programming languages?

We do plan to support other object oriented programming languages, but there is a lot more we plan to do with Java first. For example, we would like to provide finer control over Java element filtering using the Eclipse extension mechanism. Even so, we have kept our internal architectures language agnostic as much as possible so that other programming languages than Java may be supported.

 

Are you just calling it 'agile' to get the attention of the agile community?

We believe that our approach of building the tool around the needs of the Java programmer is unique. We didn't set out to say "what would the agile programmer want?' Instead, it just so happens that by being programmer-centric we also fit well with agile methods. Explicitly declaring loyalty to agile also helps to communicate that we are a visualizing tool company rather than a traditional analysis/design tool company. If anything, the term agile is not wide enough - what we provide is a Java visualizing tool which can be used in any Java development context, not just an agile one.

 

Why no code generation or forwards engineering?

We thought about what a Java programmer wants to see, and how this could be provided in a way which programmers would find agreeable. Programmers generally hate tools which alter their code, for the very good reason that any one line of code can create an issue which takes hours to resolve. Instead most programmers like to edit the source themselves. Experienced programmers are quick at bashing out new code, and IDE tool support is strong with completion suggestions and automatic building meaning there is really little to gain from drawing class diagrams in the first instance.

 

How is the full version different to the evaluation version?

The only differences are: the evaluation expiration date is 30 days after the license is created, the word 'evaluation' is shown as a watermark on the class diagram canvas.

 

What versions of Eclipse does the software run on?

As a general policy, we support the current version and the previous version, whatever they may be. Given that Eclipse put out a new version at the end of July each year, then you can be up to 12 months out of date with Eclipse and still run AgileJ. For older versions of Eclipse we cannot say whether the current version of AgileJ will run on them or not.

 

Are you planning to support exporting to vector graphics formats?

We understand that customers find class diagram export a very useful feature, and that svg and postscript offer a compact mechanism for embedding large class diagrams in other documents. The main issue we have encountered is rendering color gradients, but we hope to include at least one vector graphics format soon.