Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework

Detalhes bibliográficos
Ano de defesa: 2020
Autor(a) principal: Melo, Deyvisson Carlos Borges de
Orientador(a): Barbosa, Eiji Adachi Medeiros
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Universidade Federal do Rio Grande do Norte
Programa de Pós-Graduação: PROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA DA INFORMAÇÃO
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: https://repositorio.ufrn.br/handle/123456789/30349
Resumo: Para atender as constantes mudanças de requisitos e necessidades de novas funcionalidades, os sistemas de software permanecem sempre em um estado de constante evolução. O controle do processo de evolução e manutenção de um software é crucial e uma das fases mais complicadas do desenvolvimento de software. Se esse controle não for gerenciado, os sistemas correm o risco de degradação de importantes atributos de qualidade que consequentemente afetam diretamente o grau de manutenibilidade das aplicações. Fatores como inexperiência, falta de conhecimento e pressões em relação ao tempo de conclusão de tarefas levam a adoção de más práticas de design de software e são a origem dos Design Smells. Para se obter um melhor controle do processo de evolução e manutenção de um software, é importante saber identificar a ocorrência de Design Smells nos projetos, e novos estudos indicam que a utilização de informações específicas do contexto da aplicação, como a natureza dos programas ou papeis arquiteturais utilizados, podem influenciar no processo de detecção e na identificação de problemas que só existem no contexto estudado. Este trabalho realiza um estudo para a definição e identificação de Design Smells específicos ao contexto das aplicações de processamento em lotes, e propõe a definição de um catálogo de 7 Design Smells e a implementação de uma ferramenta para automatizar o processo de detecção. A ferramenta implementada foi utilizada em um estudo de caso em que os códigos de 40 sistemas foram analisados. Nesse estudo, observou-se que os smells específicos ao contexto das aplicações de processamento em lotes afetaram quase 20% das classes e mais que 30% das linhas de código dos sistemas analisados. Também foi possível observar, por meio da aplicação da ferramenta em várias versões de dois sistemas, que o número de smells se manteve constante ao longo das versões, e em alguns casos até cresceu. O que pode evidenciar a falta de conhecimento da existência dos smells e dos impactos negativos que podem incorporar nas aplicações.