Um método para a refatoração de software baseado em frameworks de domínio
Autor(a) principal: | |
---|---|
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 |