INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE

Detalhes bibliográficos
Ano de defesa: 2016
Autor(a) principal: Freitas, Mydiã Falcão
Orientador(a): Sant’Anna, Cláudio Nogueira
Banca de defesa: Sant’Anna, Cláudio Nogueira, Santos, José Amâncio Macedo, Maciel, Rita Suzana Pitangueira
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Instituto de Matemática
Programa de Pós-Graduação: Programa Multiinstitucional de Pós-Graduação em Ciência da Computação
Departamento: Não Informado pela instituição
País: Brasil
Palavras-chave em Português:
Link de acesso: http://repositorio.ufba.br/ri/handle/ri/22975
Resumo: Code smell é definido como um potencial problema de design localizado em determinada parte do código fonte de um sistema de software e pode indicar deficiências no design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade do software. Um bom exemplo de code smell que vai de encontro aos princípios do bom design definido na programação orientada a objetos é o Shotgun Surgery, que corresponde a classes cuja modificação implica em muitas pequenas alterações em muitas outras classes. Quando as modificações estão espalhadas, elas são difíceis de serem encontradas. Como resultado, é fácil perder uma mudança importante, causando assim, problemas na manutenção do sistema. A atividade de identificação de code smells é analisada e confirmada pelo próprio programador ou um revisor independente, contudo, a detecção manual de code smells por meio de inspeções de código consume muito tempo e é pouco escalável. Ferramentas que auxiliam a identificação de code smells têm sido bastante utilizadas em diversos estudos. Neste contexto, esta dissertação propõe investigar se a detecção automática de code smells por meio de ferramentas é considerada útil pelos desenvolvedores como forma de avaliar a qualidade do design de sistemas de software, principalmente em termos de facilidade de manutenção. Realizamos três estudos: sendo um estudo preliminar e dois estudos experimentais similares. O objetivo do estudo preliminar era nos auxiliar a perceber e corrigir problemas que pudessem surgir no decorrer do desenvolvimento dos estudos experimentais. O objetivo desses estudos era investigar a qualidade do design de sistemas de softwares e code smells através do uso de ferramentas de detecção. Os resultados desses estudos indicam que existe relação entre os code smells God Class, Data Class, Shotgun Surgery, Refused Bequest e Feature Envy com problemas de design associados a dificuldades no processo de manutenção de sistemas de softwares.
id UFBA-2_2e7fc966271b3badde451e710f783221
oai_identifier_str oai:repositorio.ufba.br:ri/22975
network_acronym_str UFBA-2
network_name_str Repositório Institucional da UFBA
repository_id_str
spelling Freitas, Mydiã FalcãoFreitas, Mydiã FalcãoSant’Anna, Cláudio NogueiraSant’Anna, Cláudio NogueiraSantos, José Amâncio MacedoMaciel, Rita Suzana Pitangueira2017-06-12T15:16:18Z2017-06-12T15:16:18Z2017-06-122016-12-16http://repositorio.ufba.br/ri/handle/ri/22975Code smell é definido como um potencial problema de design localizado em determinada parte do código fonte de um sistema de software e pode indicar deficiências no design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade do software. Um bom exemplo de code smell que vai de encontro aos princípios do bom design definido na programação orientada a objetos é o Shotgun Surgery, que corresponde a classes cuja modificação implica em muitas pequenas alterações em muitas outras classes. Quando as modificações estão espalhadas, elas são difíceis de serem encontradas. Como resultado, é fácil perder uma mudança importante, causando assim, problemas na manutenção do sistema. A atividade de identificação de code smells é analisada e confirmada pelo próprio programador ou um revisor independente, contudo, a detecção manual de code smells por meio de inspeções de código consume muito tempo e é pouco escalável. Ferramentas que auxiliam a identificação de code smells têm sido bastante utilizadas em diversos estudos. Neste contexto, esta dissertação propõe investigar se a detecção automática de code smells por meio de ferramentas é considerada útil pelos desenvolvedores como forma de avaliar a qualidade do design de sistemas de software, principalmente em termos de facilidade de manutenção. Realizamos três estudos: sendo um estudo preliminar e dois estudos experimentais similares. O objetivo do estudo preliminar era nos auxiliar a perceber e corrigir problemas que pudessem surgir no decorrer do desenvolvimento dos estudos experimentais. O objetivo desses estudos era investigar a qualidade do design de sistemas de softwares e code smells através do uso de ferramentas de detecção. Os resultados desses estudos indicam que existe relação entre os code smells God Class, Data Class, Shotgun Surgery, Refused Bequest e Feature Envy com problemas de design associados a dificuldades no processo de manutenção de sistemas de softwares.Submitted by Diogo Barreiros (diogo.barreiros@ufba.br) on 2017-06-08T11:28:18Z No. of bitstreams: 1 Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5)Approved for entry into archive by Vanessa Reis (vanessa.jamile@ufba.br) on 2017-06-12T15:16:18Z (GMT) No. of bitstreams: 1 Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5)Made available in DSpace on 2017-06-12T15:16:18Z (GMT). No. of bitstreams: 1 Dissertação Mydiã_Freitas.pdf: 3038925 bytes, checksum: 799df53dc64e5b455ed52bb760695ae2 (MD5)Code SmellsDesign de SoftwareEstudos ExperimentaisManutenibilidadeINVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWAREinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisInstituto de MatemáticaPrograma Multiinstitucional de Pós-Graduação em Ciência da ComputaçãoUFBABrasilinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da UFBAinstname:Universidade Federal da Bahia (UFBA)instacron:UFBAORIGINALDissertação Mydiã_Freitas.pdfDissertação Mydiã_Freitas.pdfapplication/pdf3038925https://repositorio.ufba.br/bitstream/ri/22975/1/Disserta%c3%a7%c3%a3o%20Mydi%c3%a3_Freitas.pdf799df53dc64e5b455ed52bb760695ae2MD51LICENSElicense.txtlicense.txttext/plain1383https://repositorio.ufba.br/bitstream/ri/22975/2/license.txt05eca2f01d0b3307819d0369dab18a34MD52TEXTDissertação Mydiã_Freitas.pdf.txtDissertação Mydiã_Freitas.pdf.txtExtracted texttext/plain432298https://repositorio.ufba.br/bitstream/ri/22975/3/Disserta%c3%a7%c3%a3o%20Mydi%c3%a3_Freitas.pdf.txt82dce29b8102d0826ec1a8c624658a57MD53ri/229752022-07-05 14:03:42.696oai:repositorio.ufba.br:ri/22975VGVybW8gZGUgTGljZW7Dp2EsIG7Do28gZXhjbHVzaXZvLCBwYXJhIG8gZGVww7NzaXRvIG5vIFJlcG9zaXTDs3JpbyBJbnN0aXR1Y2lvbmFsIGRhIFVGQkEuCgogUGVsbyBwcm9jZXNzbyBkZSBzdWJtaXNzw6NvIGRlIGRvY3VtZW50b3MsIG8gYXV0b3Igb3Ugc2V1IHJlcHJlc2VudGFudGUgbGVnYWwsIGFvIGFjZWl0YXIgCmVzc2UgdGVybW8gZGUgbGljZW7Dp2EsIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIEluc3RpdHVjaW9uYWwgZGEgVW5pdmVyc2lkYWRlIEZlZGVyYWwgZGEgQmFoaWEgCm8gZGlyZWl0byBkZSBtYW50ZXIgdW1hIGPDs3BpYSBlbSBzZXUgcmVwb3NpdMOzcmlvIGNvbSBhIGZpbmFsaWRhZGUsIHByaW1laXJhLCBkZSBwcmVzZXJ2YcOnw6NvLiAKRXNzZXMgdGVybW9zLCBuw6NvIGV4Y2x1c2l2b3MsIG1hbnTDqm0gb3MgZGlyZWl0b3MgZGUgYXV0b3IvY29weXJpZ2h0LCBtYXMgZW50ZW5kZSBvIGRvY3VtZW50byAKY29tbyBwYXJ0ZSBkbyBhY2Vydm8gaW50ZWxlY3R1YWwgZGVzc2EgVW5pdmVyc2lkYWRlLgoKIFBhcmEgb3MgZG9jdW1lbnRvcyBwdWJsaWNhZG9zIGNvbSByZXBhc3NlIGRlIGRpcmVpdG9zIGRlIGRpc3RyaWJ1acOnw6NvLCBlc3NlIHRlcm1vIGRlIGxpY2Vuw6dhIAplbnRlbmRlIHF1ZToKCiBNYW50ZW5kbyBvcyBkaXJlaXRvcyBhdXRvcmFpcywgcmVwYXNzYWRvcyBhIHRlcmNlaXJvcywgZW0gY2FzbyBkZSBwdWJsaWNhw6fDtWVzLCBvIHJlcG9zaXTDs3Jpbwpwb2RlIHJlc3RyaW5naXIgbyBhY2Vzc28gYW8gdGV4dG8gaW50ZWdyYWwsIG1hcyBsaWJlcmEgYXMgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIGRvY3VtZW50bwooTWV0YWRhZG9zIGVzY3JpdGl2b3MpLgoKIERlc3RhIGZvcm1hLCBhdGVuZGVuZG8gYW9zIGFuc2Vpb3MgZGVzc2EgdW5pdmVyc2lkYWRlIGVtIG1hbnRlciBzdWEgcHJvZHXDp8OjbyBjaWVudMOtZmljYSBjb20gCmFzIHJlc3RyacOnw7VlcyBpbXBvc3RhcyBwZWxvcyBlZGl0b3JlcyBkZSBwZXJpw7NkaWNvcy4KCiBQYXJhIGFzIHB1YmxpY2HDp8O1ZXMgc2VtIGluaWNpYXRpdmFzIHF1ZSBzZWd1ZW0gYSBwb2zDrXRpY2EgZGUgQWNlc3NvIEFiZXJ0bywgb3MgZGVww7NzaXRvcyAKY29tcHVsc8OzcmlvcyBuZXNzZSByZXBvc2l0w7NyaW8gbWFudMOqbSBvcyBkaXJlaXRvcyBhdXRvcmFpcywgbWFzIG1hbnTDqm0gYWNlc3NvIGlycmVzdHJpdG8gCmFvIG1ldGFkYWRvcyBlIHRleHRvIGNvbXBsZXRvLiBBc3NpbSwgYSBhY2VpdGHDp8OjbyBkZXNzZSB0ZXJtbyBuw6NvIG5lY2Vzc2l0YSBkZSBjb25zZW50aW1lbnRvCiBwb3IgcGFydGUgZGUgYXV0b3Jlcy9kZXRlbnRvcmVzIGRvcyBkaXJlaXRvcywgcG9yIGVzdGFyZW0gZW0gaW5pY2lhdGl2YXMgZGUgYWNlc3NvIGFiZXJ0by4KRepositório InstitucionalPUBhttps://repositorio.ufba.br/oai/requestrepositorio@ufba.bropendoar:19322022-07-05T17:03:42Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)false
dc.title.pt_BR.fl_str_mv INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
title INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
spellingShingle INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
Freitas, Mydiã Falcão
Code Smells
Design de Software
Estudos Experimentais
Manutenibilidade
title_short INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
title_full INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
title_fullStr INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
title_full_unstemmed INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
title_sort INVESTIGANDO A RELAÇÃO ENTRE CODE SMELLS E PROBLEMAS DE DESIGN: ESTUDOS QUALITATIVOS EM MICROEMPRESAS DE SOFTWARE
author Freitas, Mydiã Falcão
author_facet Freitas, Mydiã Falcão
author_role author
dc.contributor.author.fl_str_mv Freitas, Mydiã Falcão
Freitas, Mydiã Falcão
dc.contributor.advisor1.fl_str_mv Sant’Anna, Cláudio Nogueira
dc.contributor.referee1.fl_str_mv Sant’Anna, Cláudio Nogueira
Santos, José Amâncio Macedo
Maciel, Rita Suzana Pitangueira
contributor_str_mv Sant’Anna, Cláudio Nogueira
Sant’Anna, Cláudio Nogueira
Santos, José Amâncio Macedo
Maciel, Rita Suzana Pitangueira
dc.subject.por.fl_str_mv Code Smells
Design de Software
Estudos Experimentais
Manutenibilidade
topic Code Smells
Design de Software
Estudos Experimentais
Manutenibilidade
description Code smell é definido como um potencial problema de design localizado em determinada parte do código fonte de um sistema de software e pode indicar deficiências no design que podem influenciar a facilidade de manutenção, facilidade de teste e confiabilidade do software. Um bom exemplo de code smell que vai de encontro aos princípios do bom design definido na programação orientada a objetos é o Shotgun Surgery, que corresponde a classes cuja modificação implica em muitas pequenas alterações em muitas outras classes. Quando as modificações estão espalhadas, elas são difíceis de serem encontradas. Como resultado, é fácil perder uma mudança importante, causando assim, problemas na manutenção do sistema. A atividade de identificação de code smells é analisada e confirmada pelo próprio programador ou um revisor independente, contudo, a detecção manual de code smells por meio de inspeções de código consume muito tempo e é pouco escalável. Ferramentas que auxiliam a identificação de code smells têm sido bastante utilizadas em diversos estudos. Neste contexto, esta dissertação propõe investigar se a detecção automática de code smells por meio de ferramentas é considerada útil pelos desenvolvedores como forma de avaliar a qualidade do design de sistemas de software, principalmente em termos de facilidade de manutenção. Realizamos três estudos: sendo um estudo preliminar e dois estudos experimentais similares. O objetivo do estudo preliminar era nos auxiliar a perceber e corrigir problemas que pudessem surgir no decorrer do desenvolvimento dos estudos experimentais. O objetivo desses estudos era investigar a qualidade do design de sistemas de softwares e code smells através do uso de ferramentas de detecção. Os resultados desses estudos indicam que existe relação entre os code smells God Class, Data Class, Shotgun Surgery, Refused Bequest e Feature Envy com problemas de design associados a dificuldades no processo de manutenção de sistemas de softwares.
publishDate 2016
dc.date.submitted.none.fl_str_mv 2016-12-16
dc.date.accessioned.fl_str_mv 2017-06-12T15:16:18Z
dc.date.available.fl_str_mv 2017-06-12T15:16:18Z
dc.date.issued.fl_str_mv 2017-06-12
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 http://repositorio.ufba.br/ri/handle/ri/22975
url http://repositorio.ufba.br/ri/handle/ri/22975
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 Instituto de Matemática
dc.publisher.program.fl_str_mv Programa Multiinstitucional de Pós-Graduação em Ciência da Computação
dc.publisher.initials.fl_str_mv UFBA
dc.publisher.country.fl_str_mv Brasil
publisher.none.fl_str_mv Instituto de Matemática
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFBA
instname:Universidade Federal da Bahia (UFBA)
instacron:UFBA
instname_str Universidade Federal da Bahia (UFBA)
instacron_str UFBA
institution UFBA
reponame_str Repositório Institucional da UFBA
collection Repositório Institucional da UFBA
bitstream.url.fl_str_mv https://repositorio.ufba.br/bitstream/ri/22975/1/Disserta%c3%a7%c3%a3o%20Mydi%c3%a3_Freitas.pdf
https://repositorio.ufba.br/bitstream/ri/22975/2/license.txt
https://repositorio.ufba.br/bitstream/ri/22975/3/Disserta%c3%a7%c3%a3o%20Mydi%c3%a3_Freitas.pdf.txt
bitstream.checksum.fl_str_mv 799df53dc64e5b455ed52bb760695ae2
05eca2f01d0b3307819d0369dab18a34
82dce29b8102d0826ec1a8c624658a57
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFBA - Universidade Federal da Bahia (UFBA)
repository.mail.fl_str_mv repositorio@ufba.br
_version_ 1847342194651824128