Modeling & Code Engineering Java with UML and Enterprise Architect
With Enterprise Architect you can:
- Use UML class diagrams to generate Java class definitions
- Reverse engineer Java into UML class diagrams
- Synchronize changes made in a Java class definition into the corresponding UML class
- Synchronize changes made in a UML class into the corresponding Java class definition
- Automatically generate UML sequence diagrams from Java
- Document your Java code in RTF and HTML format
- Import and reverse-engineer Java Binaries
Java UML generated class diagrams can be used in Enterprise Architect to create sequence diagrams to analyze run-time behavior of the classes and their methods. Enterprise Architect will open the source file to any attribute, operation or class for the selected Java diagram.
Enterprise Architect allows Java Binaries (JAR files) to be reverse engineered, creating the required model packages and diagrams during the import process.
Developers can model UML classes including attributes and operations, as well as dependencies to other classes. Enterprise Architect can then generate the class into a new file which contains the class declarations and attributes, the import statements required, the declarations required for the methods created, and javadoc comments from the model notes.
Enterprise Architect supports integration with unit testing tools to make it easier to develop quality software. EA helps create test classes with JUnit transformations, which create a class with test methods for all public methods of an existing Java class. The resulting class can then be generated and the tests filled out and run by JUnit.
Sparx Systems also assists with Java model integration into Eclipse with their MDG Integration for Eclipse plug-in. MDG Integration assists Java developers to gain direct access to their UML models in Eclipse, allowing Java UML developers to view their diagrams inside their IDE, navigate between Enterprise Architect elements and corresponding source code elements, and aids collaboration between team members with the built-in discussion forum.