Avaliação da Clj-depend na identificação de erosões arquiteturais em serviços de software: um estudo prático
Arquitetura de Software; Degradação Arquitetural; Validação de Dependências; Clj-Depend.
A arquitetura de software é composta por decisões fundamentais que orientam a construção
e a evolução de um sistema. Com o tempo, modificações acumuladas ao longo do ciclo de
vida do software podem violar critérios previamente definidos, caracterizando a degradação
arquitetural. A ausência de um processo formal de avaliação contínua faz com que a detecção
desses problemas ocorra, muitas vezes, de forma reativa, apenas após causarem impactos
significativos. Para mitigar esses riscos, ferramentas de análise podem ser adotadas a fim de
validar a arquitetura de maneira proativa, permitindo um monitoramento constante. Um
exemplo de ferramenta que segue essa abordagem é a Clj-Depend, que realiza a validação
das dependências entre módulos. Neste contexto, o presente trabalho tem como objetivo
avaliar a capacidade da Clj-Depend em identificar erosões arquiteturais, possibilitando
uma análise detalhada de suas funcionalidades. Para isso, será conduzido um estudo de
caso prático envolvendo dez serviços reais de uma empresa multinacional de tecnologia,
cujos sistemas processam uma quantidade significativa de dados. Até o momento, dois
serviços foram analisados, e os resultados parciais indicam que a ferramenta demonstrou
um bom desempenho ao identificar corretamente as regras de modularização. No entanto,
não foi capaz de detectar falhas estruturais internas, o que compromete a identificação
da necessidade de refatoração e, consequentemente, a construção de um design coeso e
sustentável a longo prazo. As próximas etapas do estudo envolvem a análise dos oito
serviços restantes, além da elaboração de um protocolo de utilização da ferramenta, visando
aprimorar sua aplicação no monitoramento da arquitetura.