A tool for the reverse engineering of Java object-oriented source code into Unified Modeling Language (UML) diagrams
View Demo · User Documentation · Report Bug · Request Feature
The purpose of this project is to develop an independent software tool that produces UML diagrams by reverse engineering Java object-oriented source code.
- Visualize class && package UML diagrams
- Choose the classes/packages that will be included in the diagram
- Create different diagrams from the same project
- Export a diagram to:
- GraphML in order to visualize it using yEd
- Image
- text file that can you can later load
- Clone the repository
git clone https://github.com/dimanyfantakis/ObjectOrientedArchitectureDiagrammer.git
- Import project into:
- Run
mvn compile
to build the project.
- In Eclipse: Project -> Build
- In Intellij IDEA : Build -> Project
- Run
mvn package
to create the jar ObjectOrientedArchitectureDiagrammer-0.0.1-SNAPSHOT-jar-with-dependencies.jar
- Run
java -jar ObjectOrientedArchitectureDiagrammer\target\ObjectOrientedArchitectureDiagrammer-0.0.1-SNAPSHOT-jar-with-dependencies.jar
to execute the jar
Check the User Documentation regarding more about the usage of the tool
To run the tests simply run
mvn test
Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. Don't forget to give the project a star!
- Fork the Project
- Create your Feature Branch
git checkout -b feature/NewFeature
- Commit your Changes
git commit -m 'Add some NewFeature'
- Push to the Branch
git push origin feature/NewFeature
- Open a Pull Request
Create a new Issue to report any issues
- Change the parser to support:
- Local fields
- Enums
- Build a visualization library that supports:
- Drag & drop canvas to add UML entities
- Editable canvas in order to move & delete UML components and entities
- A layout algorithm that uses bend minimization
- Support PlantUML
- Use PlantUML’s language to define the diagram
- Export the image of diagram
- Visualize the diagram within the tool's canvas
Dimitris Anyfantakis
See License for more information regarding the license