Skip to content
Snippets Groups Projects
user avatar
Jakub Konvička authored
38584297

Diploma Thesis - Source Code to UML Diagrams Transformation

Project Overview

The goal of this project is to develop a methodology for converting source code into UML diagrams. The conversion process will take place from source code to the OMG XMI specification for UML. The sample implementation will support the conversion of source code from a programming language (e.g., C++) to UML diagrams interpreted by the XMI specification (activity and class diagrams). Testing will be conducted on generated code from ChatGPT and Bard.

Project Tasks

1. State of the Art

  • Research available specifications and tools related to source code to UML diagram conversion.
  • Familiarize yourself with existing methodologies and best practices.

2. Requirements Definition

  • Clearly define the requirements for the conversion process.
  • Specify the desired features of the tool.
  • Define supporting functions based on the project's objectives.

3. Architecture and Design

  • Develop an architecture for the conversion tool.
  • Create a detailed design that outlines the components and interactions.
  • Ensure compatibility with the OMG XMI specification for UML.

4. Implementation

  • Code the conversion tool according to the defined architecture and design.
  • Implement support for converting source code from a selected programming language to UML diagrams.

5. Testing

  • Test the tool on generated code from ChatGPT and Bard.
  • Ensure the accuracy and completeness of the generated UML diagrams.
  • Address and resolve any issues or discrepancies in the output.

6. Conclusion and Evaluation

  • Summarize the findings and outcomes of the project.
  • Evaluate the effectiveness and efficiency of the developed tool.
  • Discuss potential improvements or future enhancements.

Repository Information

Quality gate

This repository contains the source code and documentation for the diploma thesis on source code to UML diagrams transformation. The provided SonarQube quality gate indicates the overall quality of the project.

Feel free to explore the codebase and documentation for a detailed understanding of the implemented solution. If you encounter any issues or have suggestions for improvement, please open an issue or submit a pull request.

Thank you for your interest in this project!