Suporte para refatorização automática de lógica de negócio baseada em modelos

Detalhes bibliográficos
Autor(a) principal: Fernandes, Tiago Fernando Santos Braga
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/79855
Resumo: Dissertação de mestrado em Engenharia Informática
id RCAP_3ce8f64906f308bca58e13d0518208b5
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/79855
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Suporte para refatorização automática de lógica de negócio baseada em modelosRefactoringProgram slicingCode complexity metricsLow-codeOutSystemsGraph theoryRefatorizaçãoProgram slicingMétricas de complexidadeLow-codeOutSystemsTeoria de GrafosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaSoftware’s structure profoundly affects its development and maintenance costs. Poor software’s structure may lead to well-known design flaws, such as large modules or long methods. A possible approach to reduce a module’s complexity is the Extract Method refactoring technique. This technique allows the decomposition of a large and complex method into smaller and simpler ones, while reducing the original method’s size and improving its readability and comprehension. Nowadays, it’s almost mandatory that Integrated Development Environments (IDEs) support this and other refactoring techniques. Despite the wide availability of the extract method operation on IDEs, the identification of portions of code that are worthwhile to refactor still relies mostly on developer knowledge and expertise. Thus, the purpose of this dissertation is to empower the OutSystems platform with a system that is able to analyse modules complexity and automatically suggest Extract Method refactoring opportunities.A estrutura das aplicações de software afeta significativamente os seus custos de desenvolvimento e de manutenção. Uma fraca estruturação do código pode levar a problemas de design, como é o exemplo de módulos de grande dimensão, ou Long Methods. Uma das abordagens para reduzir a complexidade de módulos é a aplicação da técnica de refatorização Extract Method. Esta técnica permite extrair comportamento de um método complexo em métodos mais simples, reduzindo o tamanho do método original e aprimorando a sua leitura e compreensão. Hoje em dia, é quase imperativo que os IDEs suportem esta e outras técnicas de refatorização. Apesar dos IDEs disponibilizarem a operação de extração de métodos, a identificação de secções do código potencialmente úteis para refatorizar continua a ser uma operação que depende do conhecimento e experiência do programador. Assim, o objetivo desta dissertação é prover a plataforma OutSystems de um sistema capaz de analisar a complexidade de módulos e automaticamente sugerir oportunidades de refatorização Extract Method.Ribeiro, António NestorNunes, David VarelaUniversidade do MinhoFernandes, Tiago Fernando Santos Braga2017-12-282017-12-28T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/79855por202312488info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-12-09T01:19:46Zoai:repositorium.sdum.uminho.pt:1822/79855Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T18:55:15.397689Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Suporte para refatorização automática de lógica de negócio baseada em modelos
title Suporte para refatorização automática de lógica de negócio baseada em modelos
spellingShingle Suporte para refatorização automática de lógica de negócio baseada em modelos
Fernandes, Tiago Fernando Santos Braga
Refactoring
Program slicing
Code complexity metrics
Low-code
OutSystems
Graph theory
Refatorização
Program slicing
Métricas de complexidade
Low-code
OutSystems
Teoria de Grafos
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Suporte para refatorização automática de lógica de negócio baseada em modelos
title_full Suporte para refatorização automática de lógica de negócio baseada em modelos
title_fullStr Suporte para refatorização automática de lógica de negócio baseada em modelos
title_full_unstemmed Suporte para refatorização automática de lógica de negócio baseada em modelos
title_sort Suporte para refatorização automática de lógica de negócio baseada em modelos
author Fernandes, Tiago Fernando Santos Braga
author_facet Fernandes, Tiago Fernando Santos Braga
author_role author
dc.contributor.none.fl_str_mv Ribeiro, António Nestor
Nunes, David Varela
Universidade do Minho
dc.contributor.author.fl_str_mv Fernandes, Tiago Fernando Santos Braga
dc.subject.por.fl_str_mv Refactoring
Program slicing
Code complexity metrics
Low-code
OutSystems
Graph theory
Refatorização
Program slicing
Métricas de complexidade
Low-code
OutSystems
Teoria de Grafos
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Refactoring
Program slicing
Code complexity metrics
Low-code
OutSystems
Graph theory
Refatorização
Program slicing
Métricas de complexidade
Low-code
OutSystems
Teoria de Grafos
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2017
dc.date.none.fl_str_mv 2017-12-28
2017-12-28T00:00:00Z
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.uri.fl_str_mv https://hdl.handle.net/1822/79855
url https://hdl.handle.net/1822/79855
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv 202312488
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.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132337624055808