Refatoração da camada de persistência do FrameMK

Detalhes bibliográficos
Autor(a) principal: Melo, Maikon André Ferreira de
Data de Publicação: 2018
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
Texto Completo: http://repositorio.utfpr.edu.br/jspui/handle/1/16820
Resumo: O FrameMK é um framework de domínio que tem como objetivo estabelecer o preço de venda de um produto ou serviço. Como o software vem sendo desenvolvido por acadêmicos desta instituição ao longo dos anos, diferentes grupos de desenvolvedores acabam trabalhando no projeto o que pode gerar um sistema com o código de difícil entendimento, dificultando a manutenção e evolução do software. As técnicas de refatoração de software catalogadas por especialistas da área surgem como um meio de amenizar esse tipo de problema, tornando o software mais legível, flexível e de manutenção menos custosa. Para auxiliar no processo de refatoração surgem na literatura os métodos de refatoração, que são constituídos por uma sequência de passos definidos que envolvem em sua maioria, análise de projeto e aplicação de técnicas de refatoração. Na literatura existem métodos de refatoração que tratam de diferentes aspectos, podendo ser voltado para uma determinada linguagem de programação, diferentes domínios ou mesmo os que podem ser utilizados de forma geral. Este trabalho realizou um estudo de três métodos de refatoração: baseado em padrões de projeto para sistemas desenvolvidos em linguagem Java, usado de forma geral e o voltado para frameworks de domínio, que é baseado nos dois métodos citados anteriormente e foi utilizado neste trabalho. O método fundamentado em framework de domínio foi adaptado para melhor atender as necessidades encontradas durante a análise da camada de persistência do framework, visando aproveitar o processo já definido. A adaptação do método se mostrou eficiente para os objetivos deste trabalho, tendo em vista que o mesmo auxiliou na detecção de códigos com sintomas de má concepção ou implementação de escolhas, os bad smells em todas as classes da camada trabalhada. A aplicação da refatoração gerou dados quantitativos que possibilitaram analisar o impacto causado pelas técnicas aplicadas em cada uma das classes da camada de persistência do framework. Ao final do processo de refatoração foram aplicadas seis técnicas diferentes, separadas em 5 categorias distintas. As classes refatoradas apresentaram mudanças referentes a quantidade de métodos e linhas de códigos, porém, os resultados relevantes foram as melhorias implementadas na camada trabalhada, reduzindo a complexidade e aumentaram a manutenibilidade do código.
id UTFPR-12_6b6d9e6b9ff23b1a00c349ded0d486d6
oai_identifier_str oai:repositorio.utfpr.edu.br:1/16820
network_acronym_str UTFPR-12
network_name_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
repository_id_str
spelling 2020-11-19T21:06:21Z2020-11-19T21:06:21Z2018-11-13MELO, Maikon André Ferreira de. Refatoração da camada de persistência do FrameMK. 2018. 64 f. Trabalho de Conclusão de Curso (Tecnologia em Análise e Desenvolvimento de Sistemas) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018.http://repositorio.utfpr.edu.br/jspui/handle/1/16820O FrameMK é um framework de domínio que tem como objetivo estabelecer o preço de venda de um produto ou serviço. Como o software vem sendo desenvolvido por acadêmicos desta instituição ao longo dos anos, diferentes grupos de desenvolvedores acabam trabalhando no projeto o que pode gerar um sistema com o código de difícil entendimento, dificultando a manutenção e evolução do software. As técnicas de refatoração de software catalogadas por especialistas da área surgem como um meio de amenizar esse tipo de problema, tornando o software mais legível, flexível e de manutenção menos custosa. Para auxiliar no processo de refatoração surgem na literatura os métodos de refatoração, que são constituídos por uma sequência de passos definidos que envolvem em sua maioria, análise de projeto e aplicação de técnicas de refatoração. Na literatura existem métodos de refatoração que tratam de diferentes aspectos, podendo ser voltado para uma determinada linguagem de programação, diferentes domínios ou mesmo os que podem ser utilizados de forma geral. Este trabalho realizou um estudo de três métodos de refatoração: baseado em padrões de projeto para sistemas desenvolvidos em linguagem Java, usado de forma geral e o voltado para frameworks de domínio, que é baseado nos dois métodos citados anteriormente e foi utilizado neste trabalho. O método fundamentado em framework de domínio foi adaptado para melhor atender as necessidades encontradas durante a análise da camada de persistência do framework, visando aproveitar o processo já definido. A adaptação do método se mostrou eficiente para os objetivos deste trabalho, tendo em vista que o mesmo auxiliou na detecção de códigos com sintomas de má concepção ou implementação de escolhas, os bad smells em todas as classes da camada trabalhada. A aplicação da refatoração gerou dados quantitativos que possibilitaram analisar o impacto causado pelas técnicas aplicadas em cada uma das classes da camada de persistência do framework. Ao final do processo de refatoração foram aplicadas seis técnicas diferentes, separadas em 5 categorias distintas. As classes refatoradas apresentaram mudanças referentes a quantidade de métodos e linhas de códigos, porém, os resultados relevantes foram as melhorias implementadas na camada trabalhada, reduzindo a complexidade e aumentaram a manutenibilidade do código.FrameMK is a domain framework that aims to establish the selling price of a product or service. As software has been developed by scholars of this institution over the years, different groups of developers end up working on the project, which can generate a system with difficult code understanding, making it difficult to maintain and evolve the software. Software refactoring techniques cataloged by area experts come as a means of mitigating this type of problem, making software more readable, flexible, and maintenance less costly. In order to aid in the refactoring process, refactoring methods appear in the literature, which consist of a sequence of defined steps that mostly involve design analysis and the application of refactoring techniques. In the literature there are methods of refactoring that deal with different aspects, and may be aimed at a particular programming language, different domains or even those that can be used in general. This work has carried out a study of three methods of refactoring: based on design patterns for systems developed in Java language, generally used and the one oriented towards domain frameworks, which is based on the two methods mentioned previously and was used in this work. The method based on the domain framework was adapted to better meet the needs encountered during the analysis of the persistence layer of the framework, in order to take advantage of the already defined process. The adaptation of the method was efficient for the purposes of this work, since it helped in the detection of codes with symptoms of bad design or implementation of bad smells in all classes of the layer worked. The application of the refactoring generated quantitative data that allowed to analyze the impact caused by the applied techniques in each of the classes of the layer of persistence of the framework. At the end of the refactoring process, six different techniques were applied, separated into five different categories. The refactored classes presented changes related to the number of methods and lines of code, but the relevant results were the improvements implemented in the layer, reducing the complexity and increasing the maintainability of the code.porUniversidade Tecnológica Federal do ParanáPonta GrossaTecnologia em Análise e Desenvolvimento de SistemasUTFPRBrasilDepartamento Acadêmico de InformáticaCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOSoftware - RefatoraçãoSoftware de aplicaçãoSoftware - DesenvolvimentoSoftware refactoringApplication softwareComputer software - DevelopmentRefatoração da camada de persistência do FrameMKRefactoring of persistence layer of FrameMKinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisPonta GrossaMatos, Simone NasserMatos, Simone NasserAlmeida, Simone deIshikawa, Eliana Cláudia MayumiMelo, Maikon André Ferreira deinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRORIGINALPG_COADS_2018_2_05.pdfapplication/pdf1392395http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/1/PG_COADS_2018_2_05.pdff4e84cfb82aad20283112f90b022ebc1MD51LICENSElicense.txttext/plain1290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/2/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD52TEXTPG_COADS_2018_2_05.pdf.txtExtracted texttext/plain96283http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/3/PG_COADS_2018_2_05.pdf.txte87a251e819ea4e70df55110a984cdb3MD53THUMBNAILPG_COADS_2018_2_05.pdf.jpgGenerated Thumbnailimage/jpeg1302http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/4/PG_COADS_2018_2_05.pdf.jpg6786564fb854f824694c81b7d0814810MD541/168202020-11-19 19:06:21.79oai:repositorio.utfpr.edu.br:1/16820TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-11-19T21:06:21Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false
dc.title.pt_BR.fl_str_mv Refatoração da camada de persistência do FrameMK
dc.title.alternative.pt_BR.fl_str_mv Refactoring of persistence layer of FrameMK
title Refatoração da camada de persistência do FrameMK
spellingShingle Refatoração da camada de persistência do FrameMK
Melo, Maikon André Ferreira de
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
title_short Refatoração da camada de persistência do FrameMK
title_full Refatoração da camada de persistência do FrameMK
title_fullStr Refatoração da camada de persistência do FrameMK
title_full_unstemmed Refatoração da camada de persistência do FrameMK
title_sort Refatoração da camada de persistência do FrameMK
author Melo, Maikon André Ferreira de
author_facet Melo, Maikon André Ferreira de
author_role author
dc.contributor.advisor1.fl_str_mv Matos, Simone Nasser
dc.contributor.referee1.fl_str_mv Matos, Simone Nasser
dc.contributor.referee2.fl_str_mv Almeida, Simone de
dc.contributor.referee3.fl_str_mv Ishikawa, Eliana Cláudia Mayumi
dc.contributor.author.fl_str_mv Melo, Maikon André Ferreira de
contributor_str_mv Matos, Simone Nasser
Matos, Simone Nasser
Almeida, Simone de
Ishikawa, Eliana Cláudia Mayumi
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
dc.subject.por.fl_str_mv Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
description O FrameMK é um framework de domínio que tem como objetivo estabelecer o preço de venda de um produto ou serviço. Como o software vem sendo desenvolvido por acadêmicos desta instituição ao longo dos anos, diferentes grupos de desenvolvedores acabam trabalhando no projeto o que pode gerar um sistema com o código de difícil entendimento, dificultando a manutenção e evolução do software. As técnicas de refatoração de software catalogadas por especialistas da área surgem como um meio de amenizar esse tipo de problema, tornando o software mais legível, flexível e de manutenção menos custosa. Para auxiliar no processo de refatoração surgem na literatura os métodos de refatoração, que são constituídos por uma sequência de passos definidos que envolvem em sua maioria, análise de projeto e aplicação de técnicas de refatoração. Na literatura existem métodos de refatoração que tratam de diferentes aspectos, podendo ser voltado para uma determinada linguagem de programação, diferentes domínios ou mesmo os que podem ser utilizados de forma geral. Este trabalho realizou um estudo de três métodos de refatoração: baseado em padrões de projeto para sistemas desenvolvidos em linguagem Java, usado de forma geral e o voltado para frameworks de domínio, que é baseado nos dois métodos citados anteriormente e foi utilizado neste trabalho. O método fundamentado em framework de domínio foi adaptado para melhor atender as necessidades encontradas durante a análise da camada de persistência do framework, visando aproveitar o processo já definido. A adaptação do método se mostrou eficiente para os objetivos deste trabalho, tendo em vista que o mesmo auxiliou na detecção de códigos com sintomas de má concepção ou implementação de escolhas, os bad smells em todas as classes da camada trabalhada. A aplicação da refatoração gerou dados quantitativos que possibilitaram analisar o impacto causado pelas técnicas aplicadas em cada uma das classes da camada de persistência do framework. Ao final do processo de refatoração foram aplicadas seis técnicas diferentes, separadas em 5 categorias distintas. As classes refatoradas apresentaram mudanças referentes a quantidade de métodos e linhas de códigos, porém, os resultados relevantes foram as melhorias implementadas na camada trabalhada, reduzindo a complexidade e aumentaram a manutenibilidade do código.
publishDate 2018
dc.date.issued.fl_str_mv 2018-11-13
dc.date.accessioned.fl_str_mv 2020-11-19T21:06:21Z
dc.date.available.fl_str_mv 2020-11-19T21:06:21Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv MELO, Maikon André Ferreira de. Refatoração da camada de persistência do FrameMK. 2018. 64 f. Trabalho de Conclusão de Curso (Tecnologia em Análise e Desenvolvimento de Sistemas) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018.
dc.identifier.uri.fl_str_mv http://repositorio.utfpr.edu.br/jspui/handle/1/16820
identifier_str_mv MELO, Maikon André Ferreira de. Refatoração da camada de persistência do FrameMK. 2018. 64 f. Trabalho de Conclusão de Curso (Tecnologia em Análise e Desenvolvimento de Sistemas) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018.
url http://repositorio.utfpr.edu.br/jspui/handle/1/16820
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Ponta Grossa
dc.publisher.program.fl_str_mv Tecnologia em Análise e Desenvolvimento de Sistemas
dc.publisher.initials.fl_str_mv UTFPR
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Departamento Acadêmico de Informática
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Ponta Grossa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
instname:Universidade Tecnológica Federal do Paraná (UTFPR)
instacron:UTFPR
instname_str Universidade Tecnológica Federal do Paraná (UTFPR)
instacron_str UTFPR
institution UTFPR
reponame_str Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
collection Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))
bitstream.url.fl_str_mv http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/1/PG_COADS_2018_2_05.pdf
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/2/license.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/3/PG_COADS_2018_2_05.pdf.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/16820/4/PG_COADS_2018_2_05.pdf.jpg
bitstream.checksum.fl_str_mv f4e84cfb82aad20283112f90b022ebc1
b9d82215ab23456fa2d8b49c5df1b95b
e87a251e819ea4e70df55110a984cdb3
6786564fb854f824694c81b7d0814810
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)
repository.mail.fl_str_mv
_version_ 1805923176331345920