Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework

Detalhes bibliográficos
Autor(a) principal: Melo, Deyvisson Carlos Borges de
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFRN
dARK ID: ark:/41046/0013000000j0h
Texto Completo: https://repositorio.ufrn.br/handle/123456789/30349
Resumo: To meet the constant changes of requirements and needs for new features, software systems always remain in a state of constant evolution. The control of the software evolution and maintenance process is crucial and one of the most complicated phases of software development. If this control is not managed, systems are at risk of degradation of important quality attributes, that consequently directly affect the degree of maintainability of applications. Factors such as inexperience, lack of knowledge and pressure in relation to the time to complete tasks lead to the adoption of bad practices of software design and are the origin of Design Smells. In order to obtain a better control of the software evolution and maintenance process, it is important to know how to identify the occurrence of Design Smells in projects, and new studies indicate that the use of information specific to the context of the application, such as the nature of the programs or architectural roles used, can influence the detection process and the identification of problems that only exist in the studied context. This work carries out a study to define and identify Design Smells specific to the context of batch applications, and proposes the definition of a catalog with 7 Design Smells and the implementation of a tool to automate the detection process. The implemented tool was used in a case study in which the codes of 40 systems were analyzed. In this study, it was observed that smells specific to the context of batch processing applications affected almost 20% of the classes and more than 30% of the lines of code of the systems analyzed. It was also possible to observe, through the application of the tool in several versions of two systems, that the number of smells remained constant throughout the versions, and in some cases it even grew. What can evidence the lack of knowledge about the existence of the smells and the negative impacts that they can incorporate in the applications.
id UFRN_d73b68d559f94faa97cf09ac02bddeb4
oai_identifier_str oai:repositorio.ufrn.br:123456789/30349
network_acronym_str UFRN
network_name_str Repositório Institucional da UFRN
repository_id_str
spelling Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch frameworkAplicações batchesArquitetura de softwareCode smellsDesign smellsProcessamento em loteSpring batchTo meet the constant changes of requirements and needs for new features, software systems always remain in a state of constant evolution. The control of the software evolution and maintenance process is crucial and one of the most complicated phases of software development. If this control is not managed, systems are at risk of degradation of important quality attributes, that consequently directly affect the degree of maintainability of applications. Factors such as inexperience, lack of knowledge and pressure in relation to the time to complete tasks lead to the adoption of bad practices of software design and are the origin of Design Smells. In order to obtain a better control of the software evolution and maintenance process, it is important to know how to identify the occurrence of Design Smells in projects, and new studies indicate that the use of information specific to the context of the application, such as the nature of the programs or architectural roles used, can influence the detection process and the identification of problems that only exist in the studied context. This work carries out a study to define and identify Design Smells specific to the context of batch applications, and proposes the definition of a catalog with 7 Design Smells and the implementation of a tool to automate the detection process. The implemented tool was used in a case study in which the codes of 40 systems were analyzed. In this study, it was observed that smells specific to the context of batch processing applications affected almost 20% of the classes and more than 30% of the lines of code of the systems analyzed. It was also possible to observe, through the application of the tool in several versions of two systems, that the number of smells remained constant throughout the versions, and in some cases it even grew. What can evidence the lack of knowledge about the existence of the smells and the negative impacts that they can incorporate in the applications.Para atender as constantes mudanças de requisitos e necessidades de novas funcionalidades, os sistemas de software permanecem sempre em um estado de constante evolução. O controle do processo de evolução e manutenção de um software é crucial e uma das fases mais complicadas do desenvolvimento de software. Se esse controle não for gerenciado, os sistemas correm o risco de degradação de importantes atributos de qualidade que consequentemente afetam diretamente o grau de manutenibilidade das aplicações. Fatores como inexperiência, falta de conhecimento e pressões em relação ao tempo de conclusão de tarefas levam a adoção de más práticas de design de software e são a origem dos Design Smells. Para se obter um melhor controle do processo de evolução e manutenção de um software, é importante saber identificar a ocorrência de Design Smells nos projetos, e novos estudos indicam que a utilização de informações específicas do contexto da aplicação, como a natureza dos programas ou papeis arquiteturais utilizados, podem influenciar no processo de detecção e na identificação de problemas que só existem no contexto estudado. Este trabalho realiza um estudo para a definição e identificação de Design Smells específicos ao contexto das aplicações de processamento em lotes, e propõe a definição de um catálogo de 7 Design Smells e a implementação de uma ferramenta para automatizar o processo de detecção. A ferramenta implementada foi utilizada em um estudo de caso em que os códigos de 40 sistemas foram analisados. Nesse estudo, observou-se que os smells específicos ao contexto das aplicações de processamento em lotes afetaram quase 20% das classes e mais que 30% das linhas de código dos sistemas analisados. Também foi possível observar, por meio da aplicação da ferramenta em várias versões de dois sistemas, que o número de smells se manteve constante ao longo das versões, e em alguns casos até cresceu. O que pode evidenciar a falta de conhecimento da existência dos smells e dos impactos negativos que podem incorporar nas aplicações.Universidade Federal do Rio Grande do NorteBrasilUFRNPROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA DA INFORMAÇÃOBarbosa, Eiji Adachi MedeirosKulesza, UiraSantos Neto, Baldoino Fonseca dosMelo, Deyvisson Carlos Borges de2020-10-09T17:36:36Z2020-10-09T17:36:36Z2020-08-31info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfMELO, Deyvisson Carlos Borges de. Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework. 2020. 86f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2020.https://repositorio.ufrn.br/handle/123456789/30349ark:/41046/0013000000j0hinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFRNinstname:Universidade Federal do Rio Grande do Norte (UFRN)instacron:UFRN2020-10-11T07:40:05Zoai:repositorio.ufrn.br:123456789/30349Repositório InstitucionalPUBhttp://repositorio.ufrn.br/oai/repositorio@bczm.ufrn.bropendoar:2020-10-11T07:40:05Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)false
dc.title.none.fl_str_mv Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
title Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
spellingShingle Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
Melo, Deyvisson Carlos Borges de
Aplicações batches
Arquitetura de software
Code smells
Design smells
Processamento em lote
Spring batch
title_short Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
title_full Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
title_fullStr Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
title_full_unstemmed Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
title_sort Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework
author Melo, Deyvisson Carlos Borges de
author_facet Melo, Deyvisson Carlos Borges de
author_role author
dc.contributor.none.fl_str_mv Barbosa, Eiji Adachi Medeiros


Kulesza, Uira

Santos Neto, Baldoino Fonseca dos

dc.contributor.author.fl_str_mv Melo, Deyvisson Carlos Borges de
dc.subject.por.fl_str_mv Aplicações batches
Arquitetura de software
Code smells
Design smells
Processamento em lote
Spring batch
topic Aplicações batches
Arquitetura de software
Code smells
Design smells
Processamento em lote
Spring batch
description To meet the constant changes of requirements and needs for new features, software systems always remain in a state of constant evolution. The control of the software evolution and maintenance process is crucial and one of the most complicated phases of software development. If this control is not managed, systems are at risk of degradation of important quality attributes, that consequently directly affect the degree of maintainability of applications. Factors such as inexperience, lack of knowledge and pressure in relation to the time to complete tasks lead to the adoption of bad practices of software design and are the origin of Design Smells. In order to obtain a better control of the software evolution and maintenance process, it is important to know how to identify the occurrence of Design Smells in projects, and new studies indicate that the use of information specific to the context of the application, such as the nature of the programs or architectural roles used, can influence the detection process and the identification of problems that only exist in the studied context. This work carries out a study to define and identify Design Smells specific to the context of batch applications, and proposes the definition of a catalog with 7 Design Smells and the implementation of a tool to automate the detection process. The implemented tool was used in a case study in which the codes of 40 systems were analyzed. In this study, it was observed that smells specific to the context of batch processing applications affected almost 20% of the classes and more than 30% of the lines of code of the systems analyzed. It was also possible to observe, through the application of the tool in several versions of two systems, that the number of smells remained constant throughout the versions, and in some cases it even grew. What can evidence the lack of knowledge about the existence of the smells and the negative impacts that they can incorporate in the applications.
publishDate 2020
dc.date.none.fl_str_mv 2020-10-09T17:36:36Z
2020-10-09T17:36:36Z
2020-08-31
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 MELO, Deyvisson Carlos Borges de. Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework. 2020. 86f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2020.
https://repositorio.ufrn.br/handle/123456789/30349
dc.identifier.dark.fl_str_mv ark:/41046/0013000000j0h
identifier_str_mv MELO, Deyvisson Carlos Borges de. Definição e detecção de design smells em aplicações de processamento em lotes utilizando spring batch framework. 2020. 86f. Dissertação (Mestrado Profissional em Tecnologia da Informação) - Instituto Metrópole Digital, Universidade Federal do Rio Grande do Norte, Natal, 2020.
ark:/41046/0013000000j0h
url https://repositorio.ufrn.br/handle/123456789/30349
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.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA DA INFORMAÇÃO
publisher.none.fl_str_mv Universidade Federal do Rio Grande do Norte
Brasil
UFRN
PROGRAMA DE PÓS-GRADUAÇÃO EM TECNOLOGIA DA INFORMAÇÃO
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFRN
instname:Universidade Federal do Rio Grande do Norte (UFRN)
instacron:UFRN
instname_str Universidade Federal do Rio Grande do Norte (UFRN)
instacron_str UFRN
institution UFRN
reponame_str Repositório Institucional da UFRN
collection Repositório Institucional da UFRN
repository.name.fl_str_mv Repositório Institucional da UFRN - Universidade Federal do Rio Grande do Norte (UFRN)
repository.mail.fl_str_mv repositorio@bczm.ufrn.br
_version_ 1846690346355916800