Refatoração da camada de persistência do FrameMK
Autor(a) principal: | |
---|---|
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 |