Abstract. During life cycle of software systems, they can be modified and adapted to the new features. These modifications can increase the complexity of software systems and decrease your quality. One way to improve your quality is to apply transformations in programs, more specifically, refactoring. One of the activities in the refactoring process proposed by Piveta (2009) is Select Refactoring Patterns. This activity selects a set of refactoring patterns to apply in a software system. From that scenario, this survey propose: (i) Refactoring knowledge representation through OWL ontology; (ii) Using the proposed ontology as database for selecting a set of refactoring to be applied in software system. For this a Java application was developed using Jena API. This application makes it easier the activity Select Refactoring Patterns.Resumo. Durante o ciclo de vida dos sistemas de software, eles precisam ser melhorados, modificados e adaptados a novas funcionalidades. Tais modificações podem aumentar a complexidade e diminuir sua qualidade. Uma das maneiras de melhorar sua qualidadeé aplicar transformações, mais especificamente, refatorações. Uma das atividades do processo de refatoração proposto por Piveta (2009),é a seleção do conjunto de refatorações a serem aplicadas em um sistema de software. A partir desse cenário, este trabalho tem como objetivo: (i) Representar o conhecimento de refatoração através de uma ontologia OWL; (ii) Utilizar a ontologia proposta como base de dados para selecionar o conjunto de refatorações a serem aplicadas. A fim de facilitar a seleção, desenvolveu-se uma aplicação Java utilizando a API Jena. Essa possibilita filtrar as refatorações por algumas características como vantagem e domínio.
IntroduçãoAtualmente empresas como Google, Microsoft e IBM vem adotando métodoságeis em alguns dos seus projetos. Eles surgiram na década de 90 a fim de desburocratizar os processos tradicionais de desenvolvimento de software. Uma das práticas utilizadas para auxiliar no desenvolvimento, manutenção e na gerência dos sistemas de software, por essas metodologias,é a refatoração [Stellman and Greene 2013].De acordo com Mens and Tourwe (2004), os sistemas de software tendem a evoluir em curtos períodos de tempo, buscando atender novos requisitos. Para isso, tais sistemas precisam ser melhorados, modificados e adaptados a esses novos requisitos. Essas modificações tendem a aumentar a complexidade desses sistemas e diminuir a sua qualidade e quanto mais complexo for um sistema de software, mais custosa será sua 74