The ObjectAid UML Designer for Eclipse
Why another UML tool?
Most UML tools are geared towards the design of class models. They
generate the source code for you and then they leave you mostly alone.
If you want to keep track of how your source code evolves, you can
reverse engineer it. Since many things have changed, you need to
recreate most of your diagrams. Many-to-one associations (represented
by collections and maps) are not reverse engineered anyway. And then
you can repeat the whole process a week later because things changed
again...
Or there is this large, mostly unknown code base that you need to
understand quickly. Most UML tools will let you reverse engineer even
from byte code, but what do you do then? Wouldn't it be nice to start
from some strategic class and explore the code structure from there?
Right within your favorite IDE, looking at code and diagrams depending
on your need?
The ObjectAid UML Designer always keeps your diagrams in sync with
your source code, because they are based on source code and listen to
refactoring events within the Eclipse IDE. Generic collections are
reverse engineered the way they should be. Exploring code is easy
because you can find and add related classes with a right-click from
the context menu. And the source code or type hierarchy is always only
an F3 or F4 key away.
What does it do?
The ObjectAid UML Designer allows software developers to document
and explore Java source code and libraries. It supports an agile
approach to software development with seamless integration into the
Eclipse IDE and many ease-of-use features:
- Create new class diagrams with a wizard.
- Drag and drop Java types from the Package Explorer, the
Type Hierarchy and the Search view.
- All relationships are reverse engineered automatically:
Generalizations, realizations, associations, nesting and
dependencies.
- Associations are also determined from generic Collections and Maps
or can be added manually for non-generic Collections/Maps. Two
unidirectional associations can be merged into one bidirectional
association.
- Fields can become associations when the referenced class
is in the diagram, otherwise they are just attributes.
- You can inspect javadoc and source code for any type in your
diagram in the Javadoc and Declaration views.
- Build your diagram incrementally by adding new types that have a
relationship with a type already in the diagram. Select generalized,
realized, associated and nested types from the context menu of a
type or field to add them to the diagram. Or use to the familiar
References context menu to find references to a class in the diagram.
- When you update your source code, all open diagrams reflect the
changes as soon as the source file is saved.
- When you refactor your source code, all diagrams in the workspace
are updated automatically (even if they are not open).
- The Outline view shows all types in the diagram, along with their
fields and methods. It also has a thumbnail of the diagram for easy
navigation in large diagrams.
- Save your diagram as a GIF file so it can be incorporated into
other documents.
What's coming next?
While the current focus is code exploration, planned future
versions will have a broader range:
- UML design support: Create a language-neutral class model,
then convert it into source code. Or do it the other way around
if you need to design enhancements for an existing system.
- More UML diagrams: Sequence diagrams can also be reverse
engineered from source code.
- Support for more object-oriented programming languages: C++,
Ruby, Groovy and possibly Python.
|