Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão

Detalhes bibliográficos
Autor(a) principal: Santos, Danilo Batista dos
Data de Publicação: 2017
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFLA
Texto Completo: http://repositorio.ufla.br/jspui/handle/1/12830
Resumo: Since the early stages of software development, one of the main concerns is that it has quality. To achieve this goal, software must constantly evolve to meet the needs of users and the environment in which it is embedded - law of continuous change. Therefore, maintenance is conducted to correct, add or adapt features in the software. However, if such maintenance is conducted in disagreement with the design standards employed and best programming practices, the software will become progressively more coupled and less cohesive, becoming less modularized, and degrading its internal quality. In order to act in the countercurrent of this degradation, this work presents an approach to restructuring software (ARS) through the movement of classes between packages, to generate software with better internal quality, more cohesive and less coupled, making them more modular and maintainable. To achieve this goal, the ARS presents a set of well-defined steps to carry out the restructuring process. In this process software measures are used to determine the state of the software and heuristics to make decisions throughout the restructuring. This approach is also supported by the Simulated Annealing heuristic, to avoid human subjectivity and increase the chances of successful application of ARS. The result of the evaluation of ARS reveals its ability to improve the structural quality of the software. This improvement was proven, since this approach is able to improve the values of the seven measures of software used in a statistically significant way and to reduce the amount of dependencies between its packages, generating more modular and maintainable software. In another evaluation, ARS was compared to other approaches, indicating that ARS is more efficient than them. This result was obtained through a multivariate test of means, which proved that the structures suggested by ARS presented greater gain to the values of the software measures used and, consequently, a better internal structure than the other approaches. Therefore, the application of ARS is able to improve the structural quality of the software, acting in the countercurrent of the degradation of its quality caused by the badly planned maintenance. In this way, ARS makes possible for future maintenance to be carried out with less difficulty, reducing the resources and efforts used to drive it.
id UFLA_2469b034ea976819955a09dc0d848a9f
oai_identifier_str oai:localhost:1/12830
network_acronym_str UFLA
network_name_str Repositório Institucional da UFLA
repository_id_str
spelling Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesãoAn approach to restructure object oriented software using software metrics of coupling and cohesionSoftware – QualidadeReestruturação de softwareMedidas de softwareSoftware – QualitySoftware restructuringSoftware measuresMetodologia e Técnicas da ComputaçãoSince the early stages of software development, one of the main concerns is that it has quality. To achieve this goal, software must constantly evolve to meet the needs of users and the environment in which it is embedded - law of continuous change. Therefore, maintenance is conducted to correct, add or adapt features in the software. However, if such maintenance is conducted in disagreement with the design standards employed and best programming practices, the software will become progressively more coupled and less cohesive, becoming less modularized, and degrading its internal quality. In order to act in the countercurrent of this degradation, this work presents an approach to restructuring software (ARS) through the movement of classes between packages, to generate software with better internal quality, more cohesive and less coupled, making them more modular and maintainable. To achieve this goal, the ARS presents a set of well-defined steps to carry out the restructuring process. In this process software measures are used to determine the state of the software and heuristics to make decisions throughout the restructuring. This approach is also supported by the Simulated Annealing heuristic, to avoid human subjectivity and increase the chances of successful application of ARS. The result of the evaluation of ARS reveals its ability to improve the structural quality of the software. This improvement was proven, since this approach is able to improve the values of the seven measures of software used in a statistically significant way and to reduce the amount of dependencies between its packages, generating more modular and maintainable software. In another evaluation, ARS was compared to other approaches, indicating that ARS is more efficient than them. This result was obtained through a multivariate test of means, which proved that the structures suggested by ARS presented greater gain to the values of the software measures used and, consequently, a better internal structure than the other approaches. Therefore, the application of ARS is able to improve the structural quality of the software, acting in the countercurrent of the degradation of its quality caused by the badly planned maintenance. In this way, ARS makes possible for future maintenance to be carried out with less difficulty, reducing the resources and efforts used to drive it.Desde as fases iniciais do desenvolvimento do sistema de software, uma das principais preocupações é com a qualidade desses sistemas. Para alcançar esse objetivo, esses sistemas devem evoluir constantemente para atender às necessidades dos usuários e do ambiente em que está inserido - lei da mudança contínua. Por isso, são conduzidas manutenções para corrigir, adicionar ou adaptar funções no sistema. Entretanto, se essas manutenções forem conduzidas em discordância com os padrões de projeto empregados e às melhores práticas de programação, o sistema se tornará progressivamente mais acoplado e menos coeso, sendo menos modularizado e degradando a sua qualidade interna. Para agir na contracorrente dessa degradação, neste trabalho, é apresentada uma Abordagem para Reestruturar Sistemas de Software (ARS), por meio da movimentação de classes entre pacotes, para gerar sistemas com melhor qualidade interna, mais coesos e menos acoplados, tornando-os mais modulares e manuteníveis. Para alcançar esse objetivo, ARS apresenta um conjunto de passos bem definidos para realizar a reestruturação, utilizando medidas de software para determinar o estado do sistema e heurísticas desenvolvidas para tomar decisões ao longo da reestruturação. ARS também é apoiada pela heurística Simulated Annealing, para evitar a subjetividade humana e aumentar as chances de sucesso da sua aplicação. O resultado da avaliação de ARS revela sua capacidade de aprimorar a qualidade estrutural de sistemas de software, pois essa abordagem é capaz de melhorar os valores das sete medidas de software utilizadas de forma estatisticamente significativa e reduzir a quantidade de dependências entre seus pacotes, gerando sistemas mais modulares e manuteníveis. Em outra avaliação, ARS foi comparada com outras abordagens existentes, indicando que ARS é mais eficiente do que elas. Esse resultado foi obtido por meio de um teste multivariado de médias, que comprovou que as estruturas sugeridas por ARS apresentaram maior ganho aos valores das medidas de software utilizadas e, consequentemente, melhor estrutura interna que as demais abordagens. Portanto, a aplicação de ARS é capaz de aprimorar a qualidade estrutural do sistema, agindo na contracorrente da degradação da qualidade ocasionada pelas manutenções mal planejadas. Desse modo, ARS possibilita que futuras manutenções sejam realizadas com menos dificuldade, reduzindo os recursos e esforços empregados na sua condução.Universidade Federal de LavrasPrograma de Pós-Graduação em Ciência da ComputaçãoUFLAbrasilDepartamento de Ciência da ComputaçãoCosta, Heitor Augustus XavierResende, Antônio Maria Pereira deParreira Junior, Paulo AfonsoViana, Matheus CarvalhoDias, Diego Roberto ColomboSantos, Danilo Batista dos2017-05-05T18:23:07Z2017-05-05T18:23:07Z2017-05-052017-01-27info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfSANTOS, D. B. dos. Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão. 2017. 132 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.http://repositorio.ufla.br/jspui/handle/1/12830porinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFLAinstname:Universidade Federal de Lavras (UFLA)instacron:UFLA2023-04-13T18:05:52Zoai:localhost:1/12830Repositório InstitucionalPUBhttp://repositorio.ufla.br/oai/requestnivaldo@ufla.br || repositorio.biblioteca@ufla.bropendoar:2023-04-13T18:05:52Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)false
dc.title.none.fl_str_mv Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
An approach to restructure object oriented software using software metrics of coupling and cohesion
title Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
spellingShingle Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
Santos, Danilo Batista dos
Software – Qualidade
Reestruturação de software
Medidas de software
Software – Quality
Software restructuring
Software measures
Metodologia e Técnicas da Computação
title_short Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
title_full Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
title_fullStr Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
title_full_unstemmed Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
title_sort Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão
author Santos, Danilo Batista dos
author_facet Santos, Danilo Batista dos
author_role author
dc.contributor.none.fl_str_mv Costa, Heitor Augustus Xavier
Resende, Antônio Maria Pereira de
Parreira Junior, Paulo Afonso
Viana, Matheus Carvalho
Dias, Diego Roberto Colombo
dc.contributor.author.fl_str_mv Santos, Danilo Batista dos
dc.subject.por.fl_str_mv Software – Qualidade
Reestruturação de software
Medidas de software
Software – Quality
Software restructuring
Software measures
Metodologia e Técnicas da Computação
topic Software – Qualidade
Reestruturação de software
Medidas de software
Software – Quality
Software restructuring
Software measures
Metodologia e Técnicas da Computação
description Since the early stages of software development, one of the main concerns is that it has quality. To achieve this goal, software must constantly evolve to meet the needs of users and the environment in which it is embedded - law of continuous change. Therefore, maintenance is conducted to correct, add or adapt features in the software. However, if such maintenance is conducted in disagreement with the design standards employed and best programming practices, the software will become progressively more coupled and less cohesive, becoming less modularized, and degrading its internal quality. In order to act in the countercurrent of this degradation, this work presents an approach to restructuring software (ARS) through the movement of classes between packages, to generate software with better internal quality, more cohesive and less coupled, making them more modular and maintainable. To achieve this goal, the ARS presents a set of well-defined steps to carry out the restructuring process. In this process software measures are used to determine the state of the software and heuristics to make decisions throughout the restructuring. This approach is also supported by the Simulated Annealing heuristic, to avoid human subjectivity and increase the chances of successful application of ARS. The result of the evaluation of ARS reveals its ability to improve the structural quality of the software. This improvement was proven, since this approach is able to improve the values of the seven measures of software used in a statistically significant way and to reduce the amount of dependencies between its packages, generating more modular and maintainable software. In another evaluation, ARS was compared to other approaches, indicating that ARS is more efficient than them. This result was obtained through a multivariate test of means, which proved that the structures suggested by ARS presented greater gain to the values of the software measures used and, consequently, a better internal structure than the other approaches. Therefore, the application of ARS is able to improve the structural quality of the software, acting in the countercurrent of the degradation of its quality caused by the badly planned maintenance. In this way, ARS makes possible for future maintenance to be carried out with less difficulty, reducing the resources and efforts used to drive it.
publishDate 2017
dc.date.none.fl_str_mv 2017-05-05T18:23:07Z
2017-05-05T18:23:07Z
2017-05-05
2017-01-27
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 SANTOS, D. B. dos. Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão. 2017. 132 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.
http://repositorio.ufla.br/jspui/handle/1/12830
identifier_str_mv SANTOS, D. B. dos. Uma abordagem para reestruturação de sistemas de software orientados a objetos utilizando medidas de acoplamento e coesão. 2017. 132 p. Dissertação (Mestrado em Ciência da Computação)-Universidade Federal de Lavras, Lavras, 2017.
url http://repositorio.ufla.br/jspui/handle/1/12830
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 de Lavras
Programa de Pós-Graduação em Ciência da Computação
UFLA
brasil
Departamento de Ciência da Computação
publisher.none.fl_str_mv Universidade Federal de Lavras
Programa de Pós-Graduação em Ciência da Computação
UFLA
brasil
Departamento de Ciência da Computação
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFLA
instname:Universidade Federal de Lavras (UFLA)
instacron:UFLA
instname_str Universidade Federal de Lavras (UFLA)
instacron_str UFLA
institution UFLA
reponame_str Repositório Institucional da UFLA
collection Repositório Institucional da UFLA
repository.name.fl_str_mv Repositório Institucional da UFLA - Universidade Federal de Lavras (UFLA)
repository.mail.fl_str_mv nivaldo@ufla.br || repositorio.biblioteca@ufla.br
_version_ 1807835194345914368