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: 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.
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 Refatoração da camada de persistência do FrameMKRefactoring of persistence layer of FrameMKSoftware - RefatoraçãoSoftware de aplicaçãoSoftware - DesenvolvimentoSoftware refactoringApplication softwareComputer software - DevelopmentCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOFrameMK 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.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.Universidade Tecnológica Federal do ParanáPonta GrossaBrasilDepartamento Acadêmico de InformáticaTecnologia em Análise e Desenvolvimento de SistemasUTFPRMatos, Simone NasserMatos, Simone NasserAlmeida, Simone deIshikawa, Eliana Cláudia MayumiMelo, Maikon André Ferreira de2020-11-19T21:06:21Z2020-11-19T21:06:21Z2018-11-13info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfMELO, 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/16820porinfo: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:UTFPR2020-11-19T21:06:21Zoai:repositorio.utfpr.edu.br:1/16820Repositório InstitucionalPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestriut@utfpr.edu.bropendoar: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.none.fl_str_mv Refatoração da camada de persistência do FrameMK
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
Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
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.none.fl_str_mv Matos, Simone Nasser
Matos, Simone Nasser
Almeida, Simone de
Ishikawa, Eliana Cláudia Mayumi
dc.contributor.author.fl_str_mv Melo, Maikon André Ferreira de
dc.subject.por.fl_str_mv Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
topic Software - Refatoração
Software de aplicação
Software - Desenvolvimento
Software refactoring
Application software
Computer software - Development
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
description 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.
publishDate 2018
dc.date.none.fl_str_mv 2018-11-13
2020-11-19T21:06:21Z
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.uri.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.
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.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Ponta Grossa
Brasil
Departamento Acadêmico de Informática
Tecnologia em Análise e Desenvolvimento de Sistemas
UTFPR
publisher.none.fl_str_mv Universidade Tecnológica Federal do Paraná
Ponta Grossa
Brasil
Departamento Acadêmico de Informática
Tecnologia em Análise e Desenvolvimento de Sistemas
UTFPR
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))
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 riut@utfpr.edu.br
_version_ 1834836393757507584