Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/35956
Registro completo de metadados
Campo DCValorIdioma
dc.creatorNogueira, Pedro Magnus Pedroso-
dc.date.accessioned2025-02-13T16:31:29Z-
dc.date.available2025-02-13T16:31:29Z-
dc.date.issued2024-08-14-
dc.identifier.citationNOGUEIRA, Pedro Magnus Pedroso. RMT 2.0: a tool for the application and identification of design patterns based in microservices. 2024. Dissertação (Mestrado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2024.pt_BR
dc.identifier.urihttp://repositorio.utfpr.edu.br/jspui/handle/1/35956-
dc.description.abstractRefactoring enhances the integrity of the source code without altering its functionality, eliminating code smells while improving its flexibility and readability. Among the various refactoring techniques, using design patterns facilitates the development of higherquality code with enhanced attributes such as reusability and flexibility. The Refactoring and Measurement Tool (RMT) was initially developed by the Software Engineering and Computational Intelligence Laboratory (LESIC) and is capable of parsing Java projects to detect and implement design patterns. This functionality is achieved by integrating three established methodologies from the literature. The primary challenge of the first version of RMT is its limited capacity to incorporate additional methodologies into its architectural framework. This work has done a comprehensive refactoring of both the codebase and the architecture. The enhancements to the initial version of RMT were executed in phases that included analysis, restructuring, testing, refactoring, and evaluation. The RMT architecture was reengineered using asynchronous, cloudnative microservices to boost performance, availability, and scalability while segregating responsibilities. Consequently, RMT 2.0 was developed, featuring horizontal scaling to meet the performance demands associated with cloud integration. The developed testing facilitates developer modifications to extend the tool’s feature set. The source code has been optimized to enhance the tool’s performance, thereby improving the development experience for contributors. The tool’s local execution process has been modified to streamline the execution mechanism by allowing container-based deployment. Empirical analysis of the results indicates a 63.64% reduction in execution time during project refactoring compared to the original tool.pt_BR
dc.languageengpt_BR
dc.publisherUniversidade Tecnológica Federal do Paranápt_BR
dc.rightsopenAccesspt_BR
dc.rights.urihttp://creativecommons.org/licenses/by/4.0/pt_BR
dc.subjectSoftware - Refatoraçãopt_BR
dc.subjectPadrões de softwarept_BR
dc.subjectAutomaçãopt_BR
dc.subjectSoftware refactoringpt_BR
dc.subjectSoftware patternspt_BR
dc.subjectAutomationpt_BR
dc.titleRMT 2.0: a tool for the application and identification of design patterns based in microservicespt_BR
dc.title.alternativeRMT 2.0: uma ferramenta para aplicar e identificar padrões de projetos fundamentada em microsserviçospt_BR
dc.typemasterThesispt_BR
dc.description.resumoRefatoração é um meio de melhorar o código-fonte sem alterar a sua funcionalidade, removendo code smells e tornando-o mais flexível e legível. Dentre as técnicas de refatoração, existe a refatoração por padrões de projetos que permite criar um código com maior qualidade em relação a atributos como reusabilidade, flexibilidade, entre outros. A ferramenta Refactoring and Measurement Tool (RMT) foi criada em sua primeira versão pelo Laboratório de Engenharia de Software e Inteligência Computacional (LESIC) e é capaz de ler um projeto escrito em linguagem java e detectar e aplicar padrões de projeto em linguagem Java. Para isso, ela contém a implementação de três métodos da literatura capazes de detectar e aplicar padrões de projeto. A dificuldade da primeira versão da RMT está relacionada em se incorporar em sua arquitetura uma quantidade maior de métodos. Este trabalho realizou a refatoração de código e de sua arquitetura. O processo de melhoramento da primeira versão da RMT abrangeu as fases de: análise, restruturação, testes, refatoração e avaliação. A arquitetura da RMT foi modificada usando microserviços assíncronos e nativos na nuvem para melhorar a performance, disponibilidade e escalabilidade, desacoplando as responsabilidades. Como resultado criou-se a versão da RMT 2.0 que contém um escalonamento horizontal para melhorar a performance sobre demanda, combinando com aplicações em nuvem. Os testes criados facilitam aos desenvolvedores realizarem modificações para estender a ferramenta. O código-fonte foi simplificado para trazer melhor performance a ferramenta e melhorar a experiência do desenvolvedor que deseja contribuir com a ferramenta. O processo de execução local da ferramenta foi alterado, trazendo melhora na facilidade do mecanismo de execução, podendo ser executada com containers. A análise dos resultados evidencia uma redução de 63.64% de tempo de execução na refatoração dos projetos testados em relação a ferramenta original.pt_BR
dc.degree.localPonta Grossapt_BR
dc.publisher.localPonta Grossapt_BR
dc.creator.IDhttps://orcid.org/0000-0002-0467-7153pt_BR
dc.creator.Latteshttp://lattes.cnpq.br/5239992963356803pt_BR
dc.contributor.advisor1Matos, Simone Nasser-
dc.contributor.advisor1IDhttps://orcid.org/0000-0002-5362-2343pt_BR
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/2608583610949216pt_BR
dc.contributor.advisor-co1Borges, Helyane Bronoski-
dc.contributor.advisor-co1IDhttps://orcid.org/0000-0002-9153-3819pt_BR
dc.contributor.advisor-co1Latteshttp://lattes.cnpq.br/8340106221427112pt_BR
dc.contributor.referee1Matos, Simone Nasser-
dc.contributor.referee1IDhttps://orcid.org/0000-0002-5362-2343pt_BR
dc.contributor.referee1Latteshttp://lattes.cnpq.br/2608583610949216pt_BR
dc.contributor.referee2Peres, Leticia Mara-
dc.contributor.referee2IDhttps://orcid.org/0000-0002-8922-6975pt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4936370324386031pt_BR
dc.contributor.referee3Souza, Simone do Rocio Senger de-
dc.contributor.referee3IDhttps://orcid.org/0000-0001-9007-9821pt_BR
dc.contributor.referee3Latteshttp://lattes.cnpq.br/7137178343756327pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.programPrograma de Pós-Graduação em Ciência da Computaçãopt_BR
dc.publisher.initialsUTFPRpt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.subject.capesEngenharia/Tecnologia/Gestãopt_BR
Aparece nas coleções:PG - Programa de Pós-Graduação em Ciência da Computação

Arquivos associados a este item:
Arquivo Descrição TamanhoFormato 
rmtrefatoracaopadroesprojeto.pdf3,79 MBAdobe PDFThumbnail
Visualizar/Abrir


Este item está licenciada sob uma Licença Creative Commons Creative Commons