Abstract
Para el desarrollo de este proyecto se han de aplicar los conocimientos tanto metodológicos como tecnológicos adquiridos durante el transcurso del Máster en Ingeniería Web. Para ello se propone USTUML, una aplicación web que permite la generación de diagramas UML tanto por ingeniería directa como por ingeniería inversa. La ingeniería directa se ha realizado mediante técnica declarativa y la ingeniería inversa a partir de código fuente en java, alojado en GitHub. Respecto a metodologías, al principio se aplicó RUP (Rational Unified Process) y en el momento en el cual se llegó a comprender cómo implementar el proyecto se comenzó a desarrollar de manera ágil. Las tecnologías usadas han sido el framework Spring para el desarrollo de la capa de negocio, el framework Angular para el desarrollo de la capa de presentación y MongoDb para la capa de datos. Como ecosistema se utiliza GitActions para la integración continua desde el cual se llama a SonarCloud para realizar el análisis de calidad de código y realiza el despliegue continuo en Heroku, la capa de negocio, y en Firebase, la capa de presentación. Abstract: For the development of this project, the methodological and technological knowledge acquired during the course of the Master's Degree in Web Engineering has to be applied. For this purpose, USTUML is proposed, a web application that allows the generation of UML diagrams by both direct and reverse engineering. Direct engineering has been carried out using declarative techniques and reverse engineering from java source code, hosted on GitHub. Regarding methodologies, RUP (Rational Unified Process) was applied at the beginning and when it was possible to understand how to implement the project, agile development began. The technologies used were the Spring framework for the development of the business layer, the Angular framework for the development of the presentation layer and MongoDb for the data layer. As an ecosystem, GitActions is used for the continuous integration from which SonarCloud is called to perform the code quality analysis and performs the continuous deployment in Heroku, the business layer, and in Firebase, the presentation layer.