Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Dissertação |
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/3742 |
Resumo: | A refatoração tem a finalidade de melhorar o código-fonte em relação aos requisitos de qualidade como: manutenibilidade, flexibilidade, legibilidade, entre outros. Dentre os trabalhos encontrados na literatura voltados a refatoração de software baseada em padrões de projetos foram analisados os que abordam métodos e ferramentas. Constatou-se que estes trabalhos aplicam somente um processo de refatoração construído pelos próprios autores, as ferramentas possuem pouca ou nenhuma interação com o usuário e não existe a preocupação de se avaliar antecipadamente os benefícios de se aplicar um determinado padrão no código-fonte. Por isto, este trabalho criou uma abordagem para detecção de pontos de inserção e aplicação de padrões de projeto que reúne em um mesmo ambiente os métodos da literatura, além de fornecer informações sobre os benefícios de se usar um determinado padrão antes de sua aplicação efetiva. Estas informações são obtidas por meio de métricas de software relacionadas aos atributos de qualidade como a manutenibilidade, confiabilidade e reusabilidade. A abordagem proposta foi inicialmente avaliada aplicando cenários de testes providos pelos métodos da literatura e posteriormente foram usados cinquenta projetos open-source encontrados na web para testes. Como resultado, verificou-se que a abordagem é capaz de retornar candidatos a refatoração de mais de um método da refatoração, além de apresentar ao usuário uma avaliação do candidato a refatoração baseada em métricas e atributos de qualidade. |
id |
UTFPR-12_c07931cc977822aecb4a892049bcd8ad |
---|---|
oai_identifier_str |
oai:repositorio.utfpr.edu.br:1/3742 |
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 |
2018-12-10T10:28:49Z2018-12-10T10:28:49Z2018-10-23BELUZZO, Luan Bukowitz. Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte. 2018. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018.http://repositorio.utfpr.edu.br/jspui/handle/1/3742A refatoração tem a finalidade de melhorar o código-fonte em relação aos requisitos de qualidade como: manutenibilidade, flexibilidade, legibilidade, entre outros. Dentre os trabalhos encontrados na literatura voltados a refatoração de software baseada em padrões de projetos foram analisados os que abordam métodos e ferramentas. Constatou-se que estes trabalhos aplicam somente um processo de refatoração construído pelos próprios autores, as ferramentas possuem pouca ou nenhuma interação com o usuário e não existe a preocupação de se avaliar antecipadamente os benefícios de se aplicar um determinado padrão no código-fonte. Por isto, este trabalho criou uma abordagem para detecção de pontos de inserção e aplicação de padrões de projeto que reúne em um mesmo ambiente os métodos da literatura, além de fornecer informações sobre os benefícios de se usar um determinado padrão antes de sua aplicação efetiva. Estas informações são obtidas por meio de métricas de software relacionadas aos atributos de qualidade como a manutenibilidade, confiabilidade e reusabilidade. A abordagem proposta foi inicialmente avaliada aplicando cenários de testes providos pelos métodos da literatura e posteriormente foram usados cinquenta projetos open-source encontrados na web para testes. Como resultado, verificou-se que a abordagem é capaz de retornar candidatos a refatoração de mais de um método da refatoração, além de apresentar ao usuário uma avaliação do candidato a refatoração baseada em métricas e atributos de qualidade.Refactoring processes are executed in order to improve a given source code in terms of quality aspects such as maintainability, flexibility, readability, and others. Several methods and tools were proposed in the literature to perform source code refactorings. It was noticed In the literature that the researches only apply their own refactoring process, the tools developed by them present just a few interactions with the user or no interaction at all and, there is no concern of assessing the benefits of applying a given design pattern in the source code. That is why this work has created an approach for detecting design patterns insertion spots and applying them. This approach puts some refactoring methods of the literature in the same environment, besides providing assessments of the real benefits of inserting a given pattern before actually applying it. The assessment of the source code is created based on software metrics related to quality attributes like maintainability, reliability, and reusability. The evaluation of the approach was initially performed by applying test scenarios described in literature methods, after that, fifty open-source projects were retrieved from the web in order to test the proposed approach. As a result, the approach was able to suggest refactoring candidates of different refactoring methods, it also presents the assessment of the refactoring candidate to the user, in terms of metrics and quality attributes.porUniversidade Tecnológica Federal do ParanáPonta GrossaPrograma de Pós-Graduação em Ciência da ComputaçãoBrasilBrasilCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOCiência da ComputaçãoSoftware - RefatoraçãoPadrões de softwareProgramação orientada a objetos (Computação)Projeto auxiliado por computadorSoftware refactoringSoftware patternsObject-oriented programming (Computer science)Computer-aided designAbordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonteAn approach for evaluating, detecting design patterns insertion spots and applying them in sourceinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisPonta GrossaPonta GrossaMatos, Simone Nasserhttp://lattes.cnpq.br/2608583610949216Souza, Simone do Rocio Senger deBorges, Helyane BronoskiMatos, Simone Nasserhttp://lattes.cnpq.br/3614218552607167Beluzzo, Luan Bukowitzinfo: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_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdfPG_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdfapplication/pdf1987520http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/1/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf39ce4845445f7500d270e892e7b0654cMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/2/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD52TEXTPG_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdf.txtPG_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdf.txtExtracted texttext/plain166306http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/3/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf.txt9a820925f7969dd64d581eb62baa9f83MD53THUMBNAILPG_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdf.jpgPG_PPGCC_M_Beluzzo, Luan Bukowitz_2018.pdf.jpgGenerated Thumbnailimage/jpeg1317http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/4/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf.jpg4b35e5a56bfa1063422eb1e1f7fcbe5eMD541/37422018-12-11 03:00:42.962oai:repositorio.utfpr.edu.br:1/3742TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2018-12-11T05:00:42Repositó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 |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
dc.title.alternative.pt_BR.fl_str_mv |
An approach for evaluating, detecting design patterns insertion spots and applying them in source |
title |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
spellingShingle |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte Beluzzo, Luan Bukowitz CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO Software - Refatoração Padrões de software Programação orientada a objetos (Computação) Projeto auxiliado por computador Software refactoring Software patterns Object-oriented programming (Computer science) Computer-aided design Ciência da Computação |
title_short |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
title_full |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
title_fullStr |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
title_full_unstemmed |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
title_sort |
Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte |
author |
Beluzzo, Luan Bukowitz |
author_facet |
Beluzzo, Luan Bukowitz |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Matos, Simone Nasser |
dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/2608583610949216 |
dc.contributor.referee1.fl_str_mv |
Souza, Simone do Rocio Senger de |
dc.contributor.referee2.fl_str_mv |
Borges, Helyane Bronoski |
dc.contributor.referee3.fl_str_mv |
Matos, Simone Nasser |
dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/3614218552607167 |
dc.contributor.author.fl_str_mv |
Beluzzo, Luan Bukowitz |
contributor_str_mv |
Matos, Simone Nasser Souza, Simone do Rocio Senger de Borges, Helyane Bronoski Matos, Simone Nasser |
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 Padrões de software Programação orientada a objetos (Computação) Projeto auxiliado por computador Software refactoring Software patterns Object-oriented programming (Computer science) Computer-aided design Ciência da Computação |
dc.subject.por.fl_str_mv |
Software - Refatoração Padrões de software Programação orientada a objetos (Computação) Projeto auxiliado por computador Software refactoring Software patterns Object-oriented programming (Computer science) Computer-aided design |
dc.subject.capes.pt_BR.fl_str_mv |
Ciência da Computação |
description |
A refatoração tem a finalidade de melhorar o código-fonte em relação aos requisitos de qualidade como: manutenibilidade, flexibilidade, legibilidade, entre outros. Dentre os trabalhos encontrados na literatura voltados a refatoração de software baseada em padrões de projetos foram analisados os que abordam métodos e ferramentas. Constatou-se que estes trabalhos aplicam somente um processo de refatoração construído pelos próprios autores, as ferramentas possuem pouca ou nenhuma interação com o usuário e não existe a preocupação de se avaliar antecipadamente os benefícios de se aplicar um determinado padrão no código-fonte. Por isto, este trabalho criou uma abordagem para detecção de pontos de inserção e aplicação de padrões de projeto que reúne em um mesmo ambiente os métodos da literatura, além de fornecer informações sobre os benefícios de se usar um determinado padrão antes de sua aplicação efetiva. Estas informações são obtidas por meio de métricas de software relacionadas aos atributos de qualidade como a manutenibilidade, confiabilidade e reusabilidade. A abordagem proposta foi inicialmente avaliada aplicando cenários de testes providos pelos métodos da literatura e posteriormente foram usados cinquenta projetos open-source encontrados na web para testes. Como resultado, verificou-se que a abordagem é capaz de retornar candidatos a refatoração de mais de um método da refatoração, além de apresentar ao usuário uma avaliação do candidato a refatoração baseada em métricas e atributos de qualidade. |
publishDate |
2018 |
dc.date.accessioned.fl_str_mv |
2018-12-10T10:28:49Z |
dc.date.available.fl_str_mv |
2018-12-10T10:28:49Z |
dc.date.issued.fl_str_mv |
2018-10-23 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
BELUZZO, Luan Bukowitz. Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte. 2018. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018. |
dc.identifier.uri.fl_str_mv |
http://repositorio.utfpr.edu.br/jspui/handle/1/3742 |
identifier_str_mv |
BELUZZO, Luan Bukowitz. Abordagem para avaliar e detectar pontos de inserção e aplicação de padrões de projeto em código-fonte. 2018. 100 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2018. |
url |
http://repositorio.utfpr.edu.br/jspui/handle/1/3742 |
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 |
Programa de Pós-Graduação em Ciência da Computação |
dc.publisher.initials.fl_str_mv |
Brasil |
dc.publisher.country.fl_str_mv |
Brasil |
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/3742/1/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/2/license.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/3/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/3742/4/PG_PPGCC_M_Beluzzo%2c%20Luan%20Bukowitz_2018.pdf.jpg |
bitstream.checksum.fl_str_mv |
39ce4845445f7500d270e892e7b0654c b9d82215ab23456fa2d8b49c5df1b95b 9a820925f7969dd64d581eb62baa9f83 4b35e5a56bfa1063422eb1e1f7fcbe5e |
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_ |
1805923236384342016 |