INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE

Code smell é definido como um potencial problema de design localizado em determinada parte do código fonte de um sistema de software e pode indicar deficiências no design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade do software. Um bom exemplo de code smell...

Descripción completa

Detalles Bibliográficos
Autor: Freitas, Mydiã Falcão
Tipo de recurso: tesis de maestría
Estado:Versión publicada
Fecha de publicación:2016
País:Brasil
Institución:Universidade Federal da Bahia (UFBA)
Repositorio:Repositório Institucional da UFBA
Idioma:portugués
OAI Identifier:oai:repositorio.ufba.br:ri/22975
Acceso en línea:http://repositorio.ufba.br/ri/handle/ri/22975
Access Level:acceso abierto
Palabra clave:Code Smells
Design de Software
Estudos Experimentais
Manutenibilidade
Descripción
Sumario:Code smell é definido como um potencial problema de design localizado em determinada parte do código fonte de um sistema de software e pode indicar deficiências no design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade do software. Um bom exemplo de code smell que vai de encontro aos princípios do bom design definido na programação orientada a objetos é o Shotgun Surgery, que corresponde a classes cuja modificação implica em muitas pequenas alterações em muitas outras classes. Quando as modificações estão espalhadas, elas são difíceis de serem encontradas. Como resultado, é fácil perder uma mudança importante, causando assim, problemas na manutenção do sistema. A atividade de identificação de code smells é analisada e confirmada pelo próprio programador ou um revisor independente, contudo, a detecção manual de code smells por meio de inspeções de código consume muito tempo e é pouco escalável. Ferramentas que auxiliam a identificação de code smells têm sido bastante utilizadas em diversos estudos. Neste contexto, esta dissertação propõe investigar se a detecção automática de code smells por meio de ferramentas é considerada útil pelos desenvolvedores como forma de avaliar a qualidade do design de sistemas de software, principalmente em termos de facilidade de manutenção. Realizamos três estudos: sendo um estudo preliminar e dois estudos experimentais similares. O objetivo do estudo preliminar era nos auxiliar a perceber e corrigir problemas que pudessem surgir no decorrer do desenvolvimento dos estudos experimentais. O objetivo desses estudos era investigar a qualidade do design de sistemas de softwares e code smells através do uso de ferramentas de detecção. Os resultados desses estudos indicam que existe relação entre os code smells God Class, Data Class, Shotgun Surgery, Refused Bequest e Feature Envy com problemas de design associados a dificuldades no processo de manutenção de sistemas de softwares.