Mostrar registro simples

dc.creatorPauli, Guinther de Bitencourt
dc.date.accessioned2015-03-31
dc.date.available2015-03-31
dc.date.issued2014-08-27
dc.identifier.citationPAULI, Guinther de Bitencourt. SEARCHING FOR REFACTORING OPPORTUNITIES TO APPLY DESIGN PATTERNS. 2014. 98 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Santa Maria, Santa Maria, 2014.por
dc.identifier.urihttp://repositorio.ufsm.br/handle/1/5443
dc.description.abstractIt is difficult to maintain and to adapt poorly written code presenting shortcomings in its structure. Refactoring techniques are used to improve the source code and the structure of applications, making them better and easier to modify. Design patterns are reusable solutions used in similar problems in object-oriented systems, so there is no need to recreate the solutions. Applying design patterns in the context of refactoring in a corrective way becomes a desired activity in the life cycle of a specific software system. However, for medium and large-scale projects, the manual examination of artifacts to find problems and opportunities to apply a design pattern is a hard task. In this context, we present a set of metric-based heuristic functions to detect where a design pattern can be applied in a given project, more specifically, the Strategy, Factory Method, Template Method, Creation Method and Chain Constructors patterns. To evaluate the heuristic functions and its results we have also built a tool to show the results. This tool can examine source code traversing ASTs (Abstract Syntax Trees), searching for opportunities to apply the patterns, indicating the exact location in the source code where the pattern is suggested, also showing some evidences used in the detection.eng
dc.formatapplication/pdfpor
dc.languageporpor
dc.publisherUniversidade Federal de Santa Mariapor
dc.rightsAcesso Abertopor
dc.subjectPadrões de projetopor
dc.subjectDesign patternseng
dc.subjectRefactoringeng
dc.subjectRefactoring to patternseng
dc.subjectRefatoraçãopor
dc.subjectRefatoração para padrõespor
dc.titleBusca por oportunidades de refatoração para aplicação de padrões de projetopor
dc.title.alternativeSearching for refactoring opportunities to apply design patternseng
dc.typeDissertaçãopor
dc.description.resumoManter e adaptar código mal escrito, com problemas estruturais, é uma tarefa difícil. As técnicas de refatoração são usadas para melhorar o código e a estrutura de aplicações, aumentando sua qualidade e tornando-as mais fáceis de serem modificadas. Padrões de projeto são soluções reutilizáveis usadas para resolver problemas comumente encontrados em sistemas orientados a objetos. A aplicação de padrões de projeto no contexto de refatoração usando uma abordagem corretiva torna-se uma atividade interessante no ciclo de vida de um sistema de software. Contudo, para projetos de média e larga-escala, examinar manualmente os artefatos de software na busca por problemas e oportunidades para aplicar um determinado padrão de projeto é uma tarefa árdua e difícil. Nesse contexto, apresentamos um conjunto de funções heurísticas baseadas em métricas que permitem detectar onde um padrão de projeto pode ser aplicado nos artefatos de código de um determinado projeto, mais especificamente, os padrões de projeto Strategy, Factory Method, Template Method, Creation Method e Chain Constructors. Para avaliar as funções propostas, desenvolvemos uma ferramenta que avalia código-fonte e exibe possíveis oportunidades para aplicar uma refatoração rumo a tais padrões. Essa ferramenta foi desenvolvida usando-se ASTs (Abstract Syntax Trees), procurando por oportunidades de refatoração, indicando os locais no código fonte onde o padrão é sugerido e mostrando algumas evidências usadas para a detecção.por
dc.contributor.advisor1Piveta, Eduardo Kessler
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/8687196768910831por
dc.contributor.referee1Fontoura, Lisandra Manzoni
dc.contributor.referee1Latteshttp://lattes.cnpq.br/8979575031016933por
dc.contributor.referee2Pimenta, Marcelo Soares
dc.contributor.referee2Latteshttp://lattes.cnpq.br/2202679279260042por
dc.creator.Latteshttp://lattes.cnpq.br/4820271059898144por
dc.publisher.countryBRpor
dc.publisher.departmentCiência da Computaçãopor
dc.publisher.initialsUFSMpor
dc.publisher.programPrograma de Pós-Graduação em Informáticapor
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpor


Arquivos deste item

Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples