Skip to content

A tool for the reverse engineering of Java object-oriented source code into UML diagrams

License

Notifications You must be signed in to change notification settings

dimanyfantakis/ObjectOrientedArchitectureDiagrammer

Repository files navigation

Logo

Object Oriented Architecture Diagrammer

A tool for the reverse engineering of Java object-oriented source code into Unified Modeling Language (UML) diagrams

Contributors Commits Forks Stargazers Issues MIT License

View Demo · User Documentation · Report Bug · Request Feature

Table of Contents

About

Motivation

The purpose of this project is to develop an independent software tool that produces UML diagrams by reverse engineering Java object-oriented source code.

Features

  • 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

Getting Started

Requirements

  1. Clone the repository
git clone https://github.com/dimanyfantakis/ObjectOrientedArchitectureDiagrammer.git
  1. Import project into:

Installation

  1. Run
mvn compile

to build the project.

  • In Eclipse: Project -> Build
  • In Intellij IDEA : Build -> Project

Usage

  1. Run
mvn package

to create the jar ObjectOrientedArchitectureDiagrammer-0.0.1-SNAPSHOT-jar-with-dependencies.jar

  1. 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

Tests

To run the tests simply run

mvn test

Contributing / Reporting issues

Code of Conduct

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!

  1. Fork the Project
  2. Create your Feature Branch
git checkout -b feature/NewFeature
  1. Commit your Changes
git commit -m 'Add some NewFeature'
  1. Push to the Branch
git push origin feature/NewFeature
  1. Open a Pull Request

Issues

Create a new Issue to report any issues

Roadmap

  • 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

Authors

Dimitris Anyfantakis

License

See License for more information regarding the license

Acknowledgments

About

A tool for the reverse engineering of Java object-oriented source code into UML diagrams

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published