Um método para a refatoração de software baseado em frameworks de domínio

Detalhes bibliográficos
Autor(a) principal: Barros, Víctor Pedroso Ambiel
Data de Publicação: 2015
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/15910
Resumo: Um framework de domínio é formado por um conjunto de classes que capturam o conhecimento e especialidade em um domínio de problema particular e são criados por grupos de desenvolvedores que muitas vezes não seguem a aplicação correta dos conceitos orientados a objeto. Para melhorar a flexibilidade, legibilidade, reusabilidade, expansibilidade e manutenibilidade dos frameworks de domínio pode-se usar a refatoração de software. O processo de refatoração é facilitado quando se usa métodos específicos para a aplicação das técnicas de refatoração o que garante um melhor resultado no produto final. Métodos de refatoração na literatura ou atende uma linguagem de programação específica ou são mais abrangentes. Este trabalho criou um método de refatoração usando como referência os métodos da literatura, capaz de ajudar os desenvolvedores na refatoração de aplicações construídas com os conceitos de frameworks de domínio. O método proposto é formado por três etapas principais: Entender o sistema, Ordenar os módulos e Refatorar Módulos. A diferença entre o método proposto e os da literatura é que prevê a aplicação de metapadrões, inversão de controle e uso de ferramenta de refatoração em suas etapas. O estudo de caso em que o método foi aplicado é o Framework de Formação de Preço de Venda (FrameMK), desenvolvido pelo Grupo de Pesquisa em Sistemas de Informação do Câmpus Ponta Grossa, que tem a finalidade de calcular o preço de venda de um produto ou serviço. Os resultados da aplicação do método no FrameMK foram: melhorou a complexidade do código, diminui a quantidade de bad smells e a duplicação de código, o código ficou mais reusável e flexível e houve um aumento na qualidade do software em relação a expectativas do seu ciclo de vida.
id UTFPR-12_560e9741a2a7e2cf570de8b43e802169
oai_identifier_str oai:repositorio.utfpr.edu.br:1/15910
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-19T18:22:47Z2020-11-19T18:22:47Z2015-11-05BARROS, Víctor Pedroso Ambiel. Um método para refatoração de software baseado em frameworks de domínio. 2015. 99 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2015.http://repositorio.utfpr.edu.br/jspui/handle/1/15910Um framework de domínio é formado por um conjunto de classes que capturam o conhecimento e especialidade em um domínio de problema particular e são criados por grupos de desenvolvedores que muitas vezes não seguem a aplicação correta dos conceitos orientados a objeto. Para melhorar a flexibilidade, legibilidade, reusabilidade, expansibilidade e manutenibilidade dos frameworks de domínio pode-se usar a refatoração de software. O processo de refatoração é facilitado quando se usa métodos específicos para a aplicação das técnicas de refatoração o que garante um melhor resultado no produto final. Métodos de refatoração na literatura ou atende uma linguagem de programação específica ou são mais abrangentes. Este trabalho criou um método de refatoração usando como referência os métodos da literatura, capaz de ajudar os desenvolvedores na refatoração de aplicações construídas com os conceitos de frameworks de domínio. O método proposto é formado por três etapas principais: Entender o sistema, Ordenar os módulos e Refatorar Módulos. A diferença entre o método proposto e os da literatura é que prevê a aplicação de metapadrões, inversão de controle e uso de ferramenta de refatoração em suas etapas. O estudo de caso em que o método foi aplicado é o Framework de Formação de Preço de Venda (FrameMK), desenvolvido pelo Grupo de Pesquisa em Sistemas de Informação do Câmpus Ponta Grossa, que tem a finalidade de calcular o preço de venda de um produto ou serviço. Os resultados da aplicação do método no FrameMK foram: melhorou a complexidade do código, diminui a quantidade de bad smells e a duplicação de código, o código ficou mais reusável e flexível e houve um aumento na qualidade do software em relação a expectativas do seu ciclo de vida.A domain framework consists of a set of classes that capture the knowledge and expertise in a particular problem domain and are created by groups of developers who often do not follow the correct application of object-oriented concepts. To improve flexibility, readability, reusability, scalability and maintainability of domain frameworks can use refactoring software. The refactoring process is facilitated when using specific methods for applying the refactoring techniques which ensures a better result in the final product. Refactoring methods in the literature or answer a specific programming language or are more comprehensive. This paper created a method refactoring with reference to the methods of literature, able to assist developers in refactoring applications built with domain frameworks concepts. The proposed method consists of three main steps: Understanding the system, Sort modules and Refactor modules. The difference between the proposed method and the literature is that it provides for metapatterns, inversion of control and use of refactoring tool in their steps. The case study in which the method was applied is the Framework of Sales Price Formation (FrameMK), developed by the Research Group Information Systems on Campus Ponta Grossa, which have the purpose of calculating the selling price of a product or service. The results of applying the method in FrameMK were: improved code complexity, reduces the quantity of bad smells and the duplication code, the code became more reusable and flexible and there was an increase in the quality of software in relation to expectations of its cycle life.porUniversidade Tecnológica Federal do ParanáPonta GrossaCiência da ComputaçãoUTFPRBrasilDepartamento Acadêmico de InformáticaCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOEngenharia de softwareSoftware - RefatoraçãoFramework (Arquivo de computador)Software engineeringSoftware refactoringFramework (Computer file)Um método para a refatoração de software baseado em frameworks de domínioinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisPonta GrossaMatos, Simone NasserMatos, Simone NasserBetim, Mathias TaleviStamatto, Alessandro LuizBarros, Víctor Pedroso Ambielinfo: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:UTFPRTEXTPG_COCIC_2015_2_06.pdf.txtExtracted texttext/plain126584http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/1/PG_COCIC_2015_2_06.pdf.txt0b613310abfb7ac4b341437a7a4546abMD51THUMBNAILPG_COCIC_2015_2_06.pdf.jpgGenerated Thumbnailimage/jpeg1312http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/2/PG_COCIC_2015_2_06.pdf.jpg634973befdbe5269762d55f05957a5acMD52ORIGINALPG_COCIC_2015_2_06.pdfapplication/pdf2639740http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/3/PG_COCIC_2015_2_06.pdf3942d8838b570e004c5175caef87350aMD53LICENSElicense.txttext/plain1219http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/4/license.txtab8f40a4ab1624db25046d3a7eaf27acMD541/159102020-11-19 16:22:47.62oai:repositorio.utfpr.edu.br:1/15910IE5hIHF1YWxpZGFkZSBkZSB0aXR1bGFyIGRvcyBkaXJlaXRvcyBkZSBhdXRvciBkYSBwdWJsaWNhPz9vLCBhdXRvcml6byBhIFVURlBSIGEgdmVpY3VsYXIsIAphdHJhdj9zIGRvIFBvcnRhbCBkZSBJbmZvcm1hPz9vIGVtIEFjZXNzbyBBYmVydG8gKFBJQUEpIGUgZG9zIENhdD9sb2dvcyBkYXMgQmlibGlvdGVjYXMgCmRlc3RhIEluc3RpdHVpPz9vLCBzZW0gcmVzc2FyY2ltZW50byBkb3MgZGlyZWl0b3MgYXV0b3JhaXMsIGRlIGFjb3JkbyBjb20gYSBMZWkgbm8gOS42MTAvOTgsIApvIHRleHRvIGRlc3RhIG9icmEsIG9ic2VydmFuZG8gYXMgY29uZGk/P2VzIGRlIGRpc3BvbmliaWxpemE/P28gcmVnaXN0cmFkYXMgbm8gaXRlbSA0IGRvIAo/VGVybW8gZGUgQXV0b3JpemE/P28gcGFyYSBQdWJsaWNhPz9vIGRlIFRyYWJhbGhvcyBkZSBDb25jbHVzP28gZGUgQ3Vyc28gZGUgR3JhZHVhPz9vIGUgCkVzcGVjaWFsaXphPz9vLCBEaXNzZXJ0YT8/ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYT8/byBlIG5vcyBDYXQ/bG9nb3MgRWxldHI/bmljb3MgZG8gClNpc3RlbWEgZGUgQmlibGlvdGVjYXMgZGEgVVRGUFI/LCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzcz9vIGUvb3UgZG93bmxvYWQsIHZpc2FuZG8gYSAKZGl2dWxnYT8/byBkYSBwcm9kdT8/byBjaWVudD9maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvID9UZXJtbyBkZSBBdXRvcml6YT8/byBwYXJhIFB1YmxpY2E/P28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzP28gZGUgQ3Vyc28gZGUgR3JhZHVhPz9vIGUgRXNwZWNpYWxpemE/P28sIERpc3NlcnRhPz9lcyBlIFRlc2VzIG5vIFBvcnRhbCAKZGUgSW5mb3JtYT8/byBlIG5vcyBDYXQ/bG9nb3MgRWxldHI/bmljb3MgZG8gU2lzdGVtYSBkZSBCaWJsaW90ZWNhcyBkYSBVVEZQUj8gZSBkYSA/RGVjbGFyYT8/byAKZGUgQXV0b3JpYT8gZW5jb250cmFtLXNlIGFycXVpdmFkYXMgbmEgQmlibGlvdGVjYSBkbyBDP21wdXMgbm8gcXVhbCBvIHRyYWJhbGhvIGZvaSBkZWZlbmRpZG8uIApObyBjYXNvIGRlIHB1YmxpY2E/P2VzIGRlIGF1dG9yaWEgY29sZXRpdmEgZSBtdWx0aWM/bXB1cywgb3MgZG9jdW1lbnRvcyBmaWNhcj9vIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvID9wcmltZWlybyBhdXRvcj8gcG9zc3VhIHY/bmN1bG8uCg==Repositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-11-19T18:22:47Repositó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 Um método para a refatoração de software baseado em frameworks de domínio
title Um método para a refatoração de software baseado em frameworks de domínio
spellingShingle Um método para a refatoração de software baseado em frameworks de domínio
Barros, Víctor Pedroso Ambiel
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO
Engenharia de software
Software - Refatoração
Framework (Arquivo de computador)
Software engineering
Software refactoring
Framework (Computer file)
title_short Um método para a refatoração de software baseado em frameworks de domínio
title_full Um método para a refatoração de software baseado em frameworks de domínio
title_fullStr Um método para a refatoração de software baseado em frameworks de domínio
title_full_unstemmed Um método para a refatoração de software baseado em frameworks de domínio
title_sort Um método para a refatoração de software baseado em frameworks de domínio
author Barros, Víctor Pedroso Ambiel
author_facet Barros, Víctor Pedroso Ambiel
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 Betim, Mathias Talevi
dc.contributor.referee3.fl_str_mv Stamatto, Alessandro Luiz
dc.contributor.author.fl_str_mv Barros, Víctor Pedroso Ambiel
contributor_str_mv Matos, Simone Nasser
Matos, Simone Nasser
Betim, Mathias Talevi
Stamatto, Alessandro Luiz
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
Engenharia de software
Software - Refatoração
Framework (Arquivo de computador)
Software engineering
Software refactoring
Framework (Computer file)
dc.subject.por.fl_str_mv Engenharia de software
Software - Refatoração
Framework (Arquivo de computador)
Software engineering
Software refactoring
Framework (Computer file)
description Um framework de domínio é formado por um conjunto de classes que capturam o conhecimento e especialidade em um domínio de problema particular e são criados por grupos de desenvolvedores que muitas vezes não seguem a aplicação correta dos conceitos orientados a objeto. Para melhorar a flexibilidade, legibilidade, reusabilidade, expansibilidade e manutenibilidade dos frameworks de domínio pode-se usar a refatoração de software. O processo de refatoração é facilitado quando se usa métodos específicos para a aplicação das técnicas de refatoração o que garante um melhor resultado no produto final. Métodos de refatoração na literatura ou atende uma linguagem de programação específica ou são mais abrangentes. Este trabalho criou um método de refatoração usando como referência os métodos da literatura, capaz de ajudar os desenvolvedores na refatoração de aplicações construídas com os conceitos de frameworks de domínio. O método proposto é formado por três etapas principais: Entender o sistema, Ordenar os módulos e Refatorar Módulos. A diferença entre o método proposto e os da literatura é que prevê a aplicação de metapadrões, inversão de controle e uso de ferramenta de refatoração em suas etapas. O estudo de caso em que o método foi aplicado é o Framework de Formação de Preço de Venda (FrameMK), desenvolvido pelo Grupo de Pesquisa em Sistemas de Informação do Câmpus Ponta Grossa, que tem a finalidade de calcular o preço de venda de um produto ou serviço. Os resultados da aplicação do método no FrameMK foram: melhorou a complexidade do código, diminui a quantidade de bad smells e a duplicação de código, o código ficou mais reusável e flexível e houve um aumento na qualidade do software em relação a expectativas do seu ciclo de vida.
publishDate 2015
dc.date.issued.fl_str_mv 2015-11-05
dc.date.accessioned.fl_str_mv 2020-11-19T18:22:47Z
dc.date.available.fl_str_mv 2020-11-19T18:22:47Z
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 BARROS, Víctor Pedroso Ambiel. Um método para refatoração de software baseado em frameworks de domínio. 2015. 99 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2015.
dc.identifier.uri.fl_str_mv http://repositorio.utfpr.edu.br/jspui/handle/1/15910
identifier_str_mv BARROS, Víctor Pedroso Ambiel. Um método para refatoração de software baseado em frameworks de domínio. 2015. 99 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Ponta Grossa, 2015.
url http://repositorio.utfpr.edu.br/jspui/handle/1/15910
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 Ciência da Computação
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/15910/1/PG_COCIC_2015_2_06.pdf.txt
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/2/PG_COCIC_2015_2_06.pdf.jpg
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/3/PG_COCIC_2015_2_06.pdf
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/15910/4/license.txt
bitstream.checksum.fl_str_mv 0b613310abfb7ac4b341437a7a4546ab
634973befdbe5269762d55f05957a5ac
3942d8838b570e004c5175caef87350a
ab8f40a4ab1624db25046d3a7eaf27ac
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_ 1805923113738698752