Please use this identifier to cite or link to this item: https://repositorio.ufu.br/handle/123456789/28290
Full metadata record
DC FieldValueLanguage
dc.creatorSilva, Vinicius Jonathan Santos-
dc.date.accessioned2020-01-13T12:37:47Z-
dc.date.available2020-01-13T12:37:47Z-
dc.date.issued2019-09-23-
dc.identifier.citationSILVA, Vinicius Jonathan Santos. Uma abordagem inteligente para suporte à detecção e classificação automática de design smells em sistemas de software orientados a objetos através de ontologias. 2019. 80 f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Uberlândia, Uberlândia, 2019. DOI http://doi.org/10.14393/ufu.di.2019.2566.pt_BR
dc.identifier.urihttps://repositorio.ufu.br/handle/123456789/28290-
dc.description.abstractObject oriented programming is a fairly complex discipline that requires knowledge ofvarious concepts such as inheritance, encapsulation, and polymorphism. These conceptsare very important for learning more advanced concepts such as design patterns and coderefactoring. Some concepts when applied incorrectly can lead to design flaws, also knownas design smells. Design smells are software structures that may indicate code or designproblems that make the process of software evolution and maintenance complex. Learninghow to avoid these failures and how to refactor them is one of the most important skillsfor becoming a good object-oriented developer. Thus, this work aims to develop a plug-in for the Eclipse development environment to make the process of identifying smells inOO code simpler and faster. Our method has been tested against 4 similar purpose tools(DECOR, JDeodorant, CheckStyle and PMD), running them all in 3 open source projects(JUnit, Log4J and ArgoUML) for the purpose of identifying 4 design smells (InsufficientModularization, Long Method, Long Parameter List and Deficient Encapsulation). Soonafter, we performed a sample analysis in order to demonstrate the expressive power ofusing ontologies by identifying all 14 design smells proposed in this work. The resultsobtained showed that our tool presented 100 % accuracy in all tests, results that wereequal to some tools or were superior to them in others.pt_BR
dc.description.sponsorshipUFU - Universidade Federal de Uberlândiapt_BR
dc.languageporpt_BR
dc.publisherUniversidade Federal de Uberlândiapt_BR
dc.rightsAcesso Abertopt_BR
dc.rights.urihttp://creativecommons.org/publicdomain/zero/1.0/*
dc.subjectAprendizadopt_BR
dc.subjectRefatoraçãopt_BR
dc.subjectProgramação orientada a objetospt_BR
dc.subjectEngenharia de Softwarept_BR
dc.subjectDesign smellspt_BR
dc.subjectComputaçãopt_BR
dc.subjectLearningpt_BR
dc.subjectRefactoringpt_BR
dc.subjectObject-oriented programmingpt_BR
dc.subjectSoftware Engineeringpt_BR
dc.titleUma abordagem inteligente para suporte à detecção e classificação automática de design smells em sistemas de software orientados a objetos através de ontologiaspt_BR
dc.title.alternativeA smart approach to support automatic detection and classification of design smells in object-oriented software systems through ontologies.pt_BR
dc.typeDissertaçãopt_BR
dc.contributor.advisor1Dorça, Fabiano Azevedo-
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/3944579737930998pt_BR
dc.contributor.referee1Maia, Marcelo de Almeida-
dc.contributor.referee2Nunes, Bernardo Pereira-
dc.creator.Latteshttp://lattes.cnpq.br/7997034441559731pt_BR
dc.description.degreenameDissertação (Mestrado)pt_BR
dc.description.resumoProgramação Orientada a Objetos (POO) é uma disciplina bastante complexa queexige o conhecimento de vários conceitos como herança, encapsulamento e polimorfismo.Esses conceitos são muito importantes para o aprendizado de conceitos mais avançados,como padrões de projeto e refatoração de código. Alguns conceitos quando aplicados demaneira incorreta podem levar ao surgimento de falhas dedesign, também conhecidascomodesign smells.Design smellssão estruturas desoftwareque podem indicar proble-mas de código oudesignque tornam complexo o processo de evolução e manutenção dosoftware. Aprender como evitar essas falhas e como refatorá-las é uma das habilidadesmais importantes para se tornar um bom desenvolvedor orientado a objetos. Dessa forma,esse trabalho tem como objetivo o desenvolvimento de umplug-inpara o ambiente de de-senvolvimento Eclipse, para tornar a identificação desmellsem códigos OO mais simplese rápida. Nosso método foi testado contra 4 ferramentas de propósito similar(DECOR,JDeodorant, CheckStyle e PMD), executando todas elas em 3 projetosopen-source(JU-nit, Log4J e ArgoUML) com a finalidade de identificação de 4design smells(InsufficientModularization, Long Method, Long Parameter List e Deficient Encapsulation). Logoapós, realizamos uma análise por amostragem com o objetivo de demonstrar o poder deexpressividade da utilização de ontologias ao identificar todos os 14design smellspro-postos nesse trabalho. Os resultados obtidos mostraram que nossa ferramenta apresentouacurácia de 100% em todos os testes, resultados estes que se igualaram a algumas ferra-mentas em alguns casos ou foi superior a elas em outros.pt_BR
dc.publisher.countryBrasilpt_BR
dc.publisher.programPrograma de Pós-graduação em Ciência da Computaçãopt_BR
dc.sizeorduration80pt_BR
dc.subject.cnpqCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAOpt_BR
dc.identifier.doihttp://doi.org/10.14393/ufu.di.2019.2566pt_BR
dc.crossref.doibatchid649ec0d3-8b1a-47bd-a622-6e43d33f79dd-
Appears in Collections:DISSERTAÇÃO - Ciência da Computação

Files in This Item:
File Description SizeFormat 
AbordagemInteligenteSuporte.pdf1.33 MBAdobe PDFThumbnail
View/Open


This item is licensed under a Creative Commons License Creative Commons