{"id":2073,"date":"2014-08-25T09:38:15","date_gmt":"2014-08-25T12:38:15","guid":{"rendered":"http:\/\/w3.ufsm.br\/ppgi\/?p=2073"},"modified":"2014-08-25T09:38:15","modified_gmt":"2014-08-25T12:38:15","slug":"defesa-de-dissertacao-2708-busca-por-oportunidades-de-refatoracao-para-aplicacao-de-padroes-de-projeto","status":"publish","type":"post","link":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/2014\/08\/25\/defesa-de-dissertacao-2708-busca-por-oportunidades-de-refatoracao-para-aplicacao-de-padroes-de-projeto","title":{"rendered":"Defesa de Disserta\u00e7\u00e3o 27\/08 &#8211; BUSCA POR OPORTUNIDADES DE REFATORA\u00c7\u00c3O PARA APLICA\u00c7\u00c3O DE PADR\u00d5ES DE PROJETO"},"content":{"rendered":"<p>T\u00edtulo: BUSCA POR OPORTUNIDADES DE REFATORA\u00c7\u00c3O PARA APLICA\u00c7\u00c3O DE PADR\u00d5ES DE PROJETO<\/p>\n<p>Aluno: GUINTHER DE BITENCOURT PAULI<br \/>\nOrientador: EDUARDO KESSLER PIVETA<br \/>\nData: 27\/08\/2014<br \/>\nHor\u00e1rio: 14:00h<br \/>\nLocal: Sala 321-A<br \/>\nBanca:<br \/>\nDr. EDUARDO KESSLER PIVETA \u2013 Presidente\/Co-orientador (UFSM)<br \/>\nDr\u00aa. LISANDRA MANZONI FONTOURA \u2013 UFSM<br \/>\nDr. MARCELO SOARES PIMENTA \u2013 UFRGS<br \/>\nDr. GIOVANI RUBERT LIBRELOTTO \u2013 UFSM (Suplente)<\/p>\n<p>Resumo:<br \/>\nManter e adaptar c\u00f3digo mal escrito, com problemas estruturais, \u00e9 uma tarefa dif\u00edcil. As t\u00e9cnicas de refatora\u00e7\u00e3o s\u00e3o usadas para melhorar o c\u00f3digo e a estrutura de aplica\u00e7\u00f5es, aumentando sua qualidade e tornando-as mais f\u00e1ceis de serem modificadas. Padr\u00f5es de projeto s\u00e3o solu\u00e7\u00f5es reutiliz\u00e1veis usadas para resolver problemas comumente encontrados em sistemas orientados a objetos. A aplica\u00e7\u00e3o de padr\u00f5es de projeto no contexto de refatora\u00e7\u00e3o usando uma abordagem corretiva torna-se uma atividade interessante no ciclo de vida de um sistema de software. Contudo, para projetos de m\u00e9dia e larga-escala, examinar manualmente os artefatos de software na busca por problemas e oportunidades para aplicar um determinado padr\u00e3o de projeto \u00e9 uma tarefa \u00e1rdua e dif\u00edcil. Nesse contexto, apresentamos um conjunto de fun\u00e7\u00f5es heur\u00edsticas baseadas em m\u00e9tricas que permitem detectar onde um padr\u00e3o de projeto pode ser aplicado nos artefatos de c\u00f3digo de um determinado projeto, mais especificamente, os padr\u00f5es de projeto Strategy, Factory Method, Template Method, Creation Method e Chain Constructors. Para avaliar as fun\u00e7\u00f5es propostas, desenvolvemos uma ferramenta que avalia c\u00f3digo-fonte e exibe poss\u00edveis oportunidades para aplicar uma refatora\u00e7\u00e3o rumo a tais padr\u00f5es. Essa ferramenta foi desenvolvida atrav\u00e9s do uso de ASTs (Abstract Syntax Trees), procurando por oportunidades de refatora\u00e7\u00e3o, indicando os locais no c\u00f3digo fonte onde o padr\u00e3o \u00e9 sugerido e mostrando algumas evid\u00eancias usadas para a detec\u00e7\u00e3o.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00edtulo: BUSCA POR OPORTUNIDADES DE REFATORA\u00c7\u00c3O PARA APLICA\u00c7\u00c3O DE PADR\u00d5ES DE PROJETO Aluno: GUINTHER DE BITENCOURT PAULI Orientador: EDUARDO KESSLER PIVETA Data: 27\/08\/2014 Hor\u00e1rio: 14:00h Local: Sala 321-A Banca: Dr. EDUARDO KESSLER PIVETA \u2013 Presidente\/Co-orientador (UFSM) Dr\u00aa. LISANDRA MANZONI FONTOURA \u2013 UFSM Dr. MARCELO SOARES PIMENTA \u2013 UFRGS Dr. GIOVANI RUBERT LIBRELOTTO \u2013 UFSM (Suplente) [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2073","post","type-post","status-publish","format-standard","hentry","category-noticias"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts\/2073","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/comments?post=2073"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts\/2073\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/media?parent=2073"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/categories?post=2073"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/tags?post=2073"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}