Use este identificador para citar ou linkar para este item: http://repositorio.utfpr.edu.br/jspui/handle/1/37335
Título: Análise da aplicação de padrões de projeto em desenvolvimento de jogos eletrônicos
Título(s) alternativo(s): Application analysis of design patterns in electronic games development
Autor(es): Pereira, Mathaus Adorno
Orientador(es): Matos, Simone Nasser
Palavras-chave: Jogos eletrônicos
Software - Refatoração
Padrões de software
Projeto de sistemas
Electronic games
Software refactoring
Software patterns
System design
Data do documento: 29-Mai-2025
Editor: Universidade Tecnológica Federal do Paraná
Câmpus: Ponta Grossa
Citação: PEREIRA, Mathaus Adorno. Análise da aplicação de padrões de projeto em desenvolvimento de jogos eletrônicos. 2025. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, 2025.
Resumo: A refatoração fundamentada em padrões de projeto representa uma abordagem essencial na engenharia de software moderna, proporcionando melhorias significativas na qualidade do código, manutenibilidade e extensibilidade de sistemas complexos. Esta prática estabelece uma arquitetura mais robusta e flexível, facilitando futuras modificações e expansões do software. Desta forma, este trabalho realizou uma análise comparativa da aplicação de técnicas de refatoração e aplicação de padrões de projeto no desenvolvimento de jogos eletrônicos. A análise foi possível porque se implementou um jogo de poker, o qual foi escolhido por apresentar poucos artefatos de documentação. O processo de análise envolveu três etapas fundamentada em dois métodos da literatura: implementação do jogo; aplicação de técnicas e padrões de projeto e avaliação pós-refatoração. Durante a implementação foram identificados os requisitos funcionais e não funcionais do jogo, bem como as ferramentas de implementação da aplicação e dos testes automatizados. A aplicação das técnicas e padrões de projeto foi realizada pelo autor desse trabalho e pelas Large Language Model (LLMs) Gemini 2.5 Pro e Claude 3.7 Sonnet utilizados em conjunto com o agente de IA da IDE CURSOR. Foram estabelecidos um conjunto de regras a serem seguidas pelas LLMs para obter uma coerência de sugestões e padronizar as implementações dos modelos de forma que teriam passos a serem seguidos. As métricas usadas na comparação foram obtidas da ferramenta SonarQube. Como resultado foram coletadas métricas como: linhas de código produzidas, quantidade de classes e quantidades de issues introduzidas após as refatorações pelo autor e pelos modelos. Ao analisar os resultados extraídos se obteve um consenso de que as implementações podem ser assistidas por LLMs e que determinado modelo pode ser melhor em determinados tipos de tarefa como obter contexto ou implementação de código-fonte.
Abstract: Refactoring based on design patterns represents an essential approach in modern software engineering, providing significant improvements in code quality, maintainability, and extensibility of complex systems. This practice establishes a more robust and flexible architecture, facilitating future software modifications and expansions. Therefore, this work conducted a comparative analysis of the application of refactoring techniques and design patterns in electronic game development. The analysis was made possible by implementing a poker game, which was chosen for having few documentation artifacts. The analysis process involved three stages based on two literature methods: game implementation; application of techniques and design patterns; and post-refactoring evaluation. During implementation, the functional and non-functional requirements of the game were identified, as well as the tools for application implementation and automated testing. The application of techniques and design patterns was performed by the author of this work and by the Large Language Models (LLMs) Gemini 2.5 Pro and Claude 3.7 Sonnet used in conjunction with the AI agent of the CURSOR IDE. A set of rules was established to be followed by the LLMs to obtain coherent suggestions and standardize the model implementations so that they would have steps to be followed. The metrics used in the comparison were obtained from the SonarQube tool. As a result, metrics such as lines of code produced, number of classes, and number of issues introduced after refactoring by the author and by the models were collected. Upon analyzing the extracted results, a consensus was reached that implementations can be assisted by LLMs and that a particular model may be better at certain types of tasks such as obtaining context or source code implementation.
URI: http://repositorio.utfpr.edu.br/jspui/handle/1/37335
Aparece nas coleções:PG - Ciência da Computação

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


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