Improving the search for refactoring opportunities on object-oriented and aspect-oriented software / Melhorando a busca por oportunidades de refatoração em software orientado a objetos e orientado a aspectos
AUTOR(ES)
Piveta, Eduardo Kessler
DATA DE PUBLICAÇÃO
2009
RESUMO
Refatoração é o processo de melhorar o projeto de sistemas de software sem modificar seu comportamento externamente observável. O processo de refatoração pode auxiliar a incrementalmente melhorar a qualidade de software de um sistema através da aplicação de transformações que preservam comportamento chamadas de padrões de refatoração. O principal objetivo da pesquisa que esta tese descreve é prover um processo detalhado para refatoração, incluindo mecanismos para (i) seleção e criação de modelos de qualidade, padrões de refatoração e funções heurísticas, (ii) a busca e priorização de oportunidades de refatoração, (iii) a avaliação dos efeitos da refatoração na qualidade de software e (iv) a análise de vantagens e desvantagens e a aplicação de padrões de refatoração. Para exemplificar como os mecanismos propostos funcionam e como o processo pode ser usado, diferentes estudos de caso são usados ao longo da tese. A seleção dos padrões de refatoração, dos modelos de qualidade e das funções heurísticas são exemplificados para software orientado a objetos, bem como os mecanismos de busca e priorização. A avaliação dos efeitos da refatoração na qualidade de software, a análise de vantagens e desvantagens e a aplicação de padrões de refatoração são discutidos no contexto de programação orientada a aspectos. Além da definição de um processo de refatoração, um conjunto adicional de contribuições desta tese são: (i) a definição de uma abordagem para a seleção e ranking de padrões de refatoração baseada no AHP (Analytic Hierarchy Process), (ii) uma abordagem para reduzir o espaço de busca para oportunidades de refatoração ao manipular refatorações sucessivas, (iii) a definição de mecanismos de busca para oportunidades de refatoração, (iv) uma abordagem para avaliar os efeitos de refatoração na qualidade de software, (v) um catálogo de problemas encontrados em software orientado a aspectos e seus padrões de refatoração associados, e também um conjunto de recomendações para evitar estes problemas e (vi) um estudo de métricas orientadas a aspectos, incluindo a sua definição formal, avaliação analítica e interpretação de dados.
ASSUNTO(S)
refatoração desenvolvimento : software refatoração desenvolvimento de software orientado a aspectos software orientado : objetos evolução de software refactoring aspect-oriented software development software evolution
ACESSO AO ARTIGO
http://hdl.handle.net/10183/15651Documentos Relacionados
- Teste estrutural de integração contextual de programas orientados a objetos e a aspectos
- Técnicas diagramáticas para desenvolvimento de software orientado a objetos
- UM FRAMEWORK ORIENTADO A ASPECTOS PARA MOBILIDADE DE AGENTES DE SOFTWARE
- MAINTAINABILITY AND REUSABILITY OF ASPECT-ORIENTED SOFTWARE: AN ASSESSMENT FRAMEWORK
- UM ENFOQUE BASEADO EM MODELOS PARA O DESIGN ORIENTADO A ASPECTOS