Busca e recuperação de componentes de software utilizando agrupamento de componentes

Detalhes bibliográficos
Autor(a) principal: Veras, Ronaldo Cisneiros
Data de Publicação: 2008
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Repositório Institucional da UFPE
dARK ID: ark:/64986/001300000g6nx
Texto Completo: https://repositorio.ufpe.br/handle/123456789/2110
Resumo: O desenvolvimento de software com reuso é uma abordagem que pode ser utilizada para alcançar dois benefícios principais: 1) incremento de produtividade nos projetos de software e 2) melhorias na qualidade final dos projetos. A abordagem de reuso de software pode ser instanciada através da estratégia de desenvolvimento de software baseada em componentes. De acordo com essa estratégia, grandes aplicações de software podem ser desenvolvidas a partir de partes reutilizáveis e pré-existentes, que devem estabelecer uma colaboração entre elas para prover as funcionalidade requeridas pela aplicação. Os locais onde esses componentes são armazenados (repositórios), e os processos para a busca e recuperação dos mesmos, são considerados pontos de constante pesquisa e discussão. Em um outro contexto, soluções baseadas em aprendizagem de máquina e inteligência artificial começam a produzir contribuições relevantes para problemas pertencentes ao ciclo de desenvolvimento de projetos de software, compreendendo campos como a estimativa de esforço de projetos de software e a predição de falhas, por exemplo. Esse trabalho possui o objetivo de investigar a utilização de técnicas de agrupamento de dados (clustering) (que fazem parte das técnicas de aprendizagem de máquina) ao problema do reuso de software. Para esse trabalho foram analisadas as técnicas de agrupamento por mapas auto-organizáveis (SOM), mapas autoorganizáveis que crescem hierarquicamente (GHSOM) e o agrupamento por árvores de sufixos (STC). É importante ressaltar que a aplicação de STC a este problema foi feita originalmente no nosso trabalho. Nesse cenário, a solução proposta foi implementada, gerando uma ferramenta web para busca e recuperação de componentes de software. A ferramenta Cluco (Clustering of Components) apresenta os resultados de uma busca por componentes, que satisfazem os critérios de uma consulta, na forma de grupos de componentes similares, onde esses grupos são gerados pelo algoritmo STC. Essa característica pode ser considerada uma contribuição relevante, pois o grande esforço manual em busca de similaridades, que deveria ser realizado pelos usuários, é executado automaticamente pelo sistema, à medida que os resultados de uma busca tornam-se disponíveis. Esta dissertação apresenta avaliações qualitativas e quantitativas da solução proposta. Vários usuários com vários níveis de experiência em engenharia de software avaliaram a ferramenta, através de realização de buscas e respondendo a um questionário contendo perguntas relativas à usabilidade e à qualidade da solução. Métricas para a avaliação de sistemas de recuperação de informação como, por exemplo, as métricas recall e precision foram utilizadas para fornecer validações quantitativas sobre a solução. Uma análise de desempenho comparando as técnicas investigadas nesse trabalho foi realizada. Esta análise mostrou a superioridade da técnica STC no problema de agrupamento dos componentes de software utilizados nesse trabalho (componentes Java). Considerando todos os resultados obtidos, pode ser concluído que a solução proposta contribui de forma positiva e relevante para o problema de busca e recuperação de componentes de software
id UFPE_05519d3e71385618e40c276d22897905
oai_identifier_str oai:repositorio.ufpe.br:123456789/2110
network_acronym_str UFPE
network_name_str Repositório Institucional da UFPE
repository_id_str 2221
spelling Veras, Ronaldo CisneirosMeira, Silvio Romero de Lemos2014-06-12T15:54:38Z2014-06-12T15:54:38Z2008-01-31Cisneiros Veras, Ronaldo; Romero de Lemos Meira, Silvio. Busca e recuperação de componentes de software utilizando agrupamento de componentes. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.https://repositorio.ufpe.br/handle/123456789/2110ark:/64986/001300000g6nxO desenvolvimento de software com reuso é uma abordagem que pode ser utilizada para alcançar dois benefícios principais: 1) incremento de produtividade nos projetos de software e 2) melhorias na qualidade final dos projetos. A abordagem de reuso de software pode ser instanciada através da estratégia de desenvolvimento de software baseada em componentes. De acordo com essa estratégia, grandes aplicações de software podem ser desenvolvidas a partir de partes reutilizáveis e pré-existentes, que devem estabelecer uma colaboração entre elas para prover as funcionalidade requeridas pela aplicação. Os locais onde esses componentes são armazenados (repositórios), e os processos para a busca e recuperação dos mesmos, são considerados pontos de constante pesquisa e discussão. Em um outro contexto, soluções baseadas em aprendizagem de máquina e inteligência artificial começam a produzir contribuições relevantes para problemas pertencentes ao ciclo de desenvolvimento de projetos de software, compreendendo campos como a estimativa de esforço de projetos de software e a predição de falhas, por exemplo. Esse trabalho possui o objetivo de investigar a utilização de técnicas de agrupamento de dados (clustering) (que fazem parte das técnicas de aprendizagem de máquina) ao problema do reuso de software. Para esse trabalho foram analisadas as técnicas de agrupamento por mapas auto-organizáveis (SOM), mapas autoorganizáveis que crescem hierarquicamente (GHSOM) e o agrupamento por árvores de sufixos (STC). É importante ressaltar que a aplicação de STC a este problema foi feita originalmente no nosso trabalho. Nesse cenário, a solução proposta foi implementada, gerando uma ferramenta web para busca e recuperação de componentes de software. A ferramenta Cluco (Clustering of Components) apresenta os resultados de uma busca por componentes, que satisfazem os critérios de uma consulta, na forma de grupos de componentes similares, onde esses grupos são gerados pelo algoritmo STC. Essa característica pode ser considerada uma contribuição relevante, pois o grande esforço manual em busca de similaridades, que deveria ser realizado pelos usuários, é executado automaticamente pelo sistema, à medida que os resultados de uma busca tornam-se disponíveis. Esta dissertação apresenta avaliações qualitativas e quantitativas da solução proposta. Vários usuários com vários níveis de experiência em engenharia de software avaliaram a ferramenta, através de realização de buscas e respondendo a um questionário contendo perguntas relativas à usabilidade e à qualidade da solução. Métricas para a avaliação de sistemas de recuperação de informação como, por exemplo, as métricas recall e precision foram utilizadas para fornecer validações quantitativas sobre a solução. Uma análise de desempenho comparando as técnicas investigadas nesse trabalho foi realizada. Esta análise mostrou a superioridade da técnica STC no problema de agrupamento dos componentes de software utilizados nesse trabalho (componentes Java). Considerando todos os resultados obtidos, pode ser concluído que a solução proposta contribui de forma positiva e relevante para o problema de busca e recuperação de componentes de softwareporUniversidade Federal de PernambucoAttribution-NonCommercial-NoDerivs 3.0 Brazilhttp://creativecommons.org/licenses/by-nc-nd/3.0/br/info:eu-repo/semantics/openAccessSoftwareReuso de SoftwareAprendizagem de MáquinaAgrupamentoInteligência ArtificialEngenharia de SoftwareBusca e recuperação de componentes de software utilizando agrupamento de componentesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFPEinstname:Universidade Federal de Pernambuco (UFPE)instacron:UFPETHUMBNAILarquivo1985_1.pdf.jpgarquivo1985_1.pdf.jpgGenerated Thumbnailimage/jpeg1271https://repositorio.ufpe.br/bitstream/123456789/2110/4/arquivo1985_1.pdf.jpg571290132e7b8b0538e0dea72233dbb5MD54ORIGINALarquivo1985_1.pdfapplication/pdf1669122https://repositorio.ufpe.br/bitstream/123456789/2110/1/arquivo1985_1.pdfd80eb6d9d156dc4d5fea44c91a40a019MD51LICENSElicense.txttext/plain1748https://repositorio.ufpe.br/bitstream/123456789/2110/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52TEXTarquivo1985_1.pdf.txtarquivo1985_1.pdf.txtExtracted texttext/plain315704https://repositorio.ufpe.br/bitstream/123456789/2110/3/arquivo1985_1.pdf.txtb8d6d872aa682622b21489ac895f03d2MD53123456789/21102019-10-25 12:36:53.845oai:repositorio.ufpe.br:123456789/2110Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufpe.br/oai/requestattena@ufpe.bropendoar:22212019-10-25T15:36:53Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)false
dc.title.pt_BR.fl_str_mv Busca e recuperação de componentes de software utilizando agrupamento de componentes
title Busca e recuperação de componentes de software utilizando agrupamento de componentes
spellingShingle Busca e recuperação de componentes de software utilizando agrupamento de componentes
Veras, Ronaldo Cisneiros
Software
Reuso de Software
Aprendizagem de Máquina
Agrupamento
Inteligência Artificial
Engenharia de Software
title_short Busca e recuperação de componentes de software utilizando agrupamento de componentes
title_full Busca e recuperação de componentes de software utilizando agrupamento de componentes
title_fullStr Busca e recuperação de componentes de software utilizando agrupamento de componentes
title_full_unstemmed Busca e recuperação de componentes de software utilizando agrupamento de componentes
title_sort Busca e recuperação de componentes de software utilizando agrupamento de componentes
author Veras, Ronaldo Cisneiros
author_facet Veras, Ronaldo Cisneiros
author_role author
dc.contributor.author.fl_str_mv Veras, Ronaldo Cisneiros
dc.contributor.advisor1.fl_str_mv Meira, Silvio Romero de Lemos
contributor_str_mv Meira, Silvio Romero de Lemos
dc.subject.por.fl_str_mv Software
Reuso de Software
Aprendizagem de Máquina
Agrupamento
Inteligência Artificial
Engenharia de Software
topic Software
Reuso de Software
Aprendizagem de Máquina
Agrupamento
Inteligência Artificial
Engenharia de Software
description O desenvolvimento de software com reuso é uma abordagem que pode ser utilizada para alcançar dois benefícios principais: 1) incremento de produtividade nos projetos de software e 2) melhorias na qualidade final dos projetos. A abordagem de reuso de software pode ser instanciada através da estratégia de desenvolvimento de software baseada em componentes. De acordo com essa estratégia, grandes aplicações de software podem ser desenvolvidas a partir de partes reutilizáveis e pré-existentes, que devem estabelecer uma colaboração entre elas para prover as funcionalidade requeridas pela aplicação. Os locais onde esses componentes são armazenados (repositórios), e os processos para a busca e recuperação dos mesmos, são considerados pontos de constante pesquisa e discussão. Em um outro contexto, soluções baseadas em aprendizagem de máquina e inteligência artificial começam a produzir contribuições relevantes para problemas pertencentes ao ciclo de desenvolvimento de projetos de software, compreendendo campos como a estimativa de esforço de projetos de software e a predição de falhas, por exemplo. Esse trabalho possui o objetivo de investigar a utilização de técnicas de agrupamento de dados (clustering) (que fazem parte das técnicas de aprendizagem de máquina) ao problema do reuso de software. Para esse trabalho foram analisadas as técnicas de agrupamento por mapas auto-organizáveis (SOM), mapas autoorganizáveis que crescem hierarquicamente (GHSOM) e o agrupamento por árvores de sufixos (STC). É importante ressaltar que a aplicação de STC a este problema foi feita originalmente no nosso trabalho. Nesse cenário, a solução proposta foi implementada, gerando uma ferramenta web para busca e recuperação de componentes de software. A ferramenta Cluco (Clustering of Components) apresenta os resultados de uma busca por componentes, que satisfazem os critérios de uma consulta, na forma de grupos de componentes similares, onde esses grupos são gerados pelo algoritmo STC. Essa característica pode ser considerada uma contribuição relevante, pois o grande esforço manual em busca de similaridades, que deveria ser realizado pelos usuários, é executado automaticamente pelo sistema, à medida que os resultados de uma busca tornam-se disponíveis. Esta dissertação apresenta avaliações qualitativas e quantitativas da solução proposta. Vários usuários com vários níveis de experiência em engenharia de software avaliaram a ferramenta, através de realização de buscas e respondendo a um questionário contendo perguntas relativas à usabilidade e à qualidade da solução. Métricas para a avaliação de sistemas de recuperação de informação como, por exemplo, as métricas recall e precision foram utilizadas para fornecer validações quantitativas sobre a solução. Uma análise de desempenho comparando as técnicas investigadas nesse trabalho foi realizada. Esta análise mostrou a superioridade da técnica STC no problema de agrupamento dos componentes de software utilizados nesse trabalho (componentes Java). Considerando todos os resultados obtidos, pode ser concluído que a solução proposta contribui de forma positiva e relevante para o problema de busca e recuperação de componentes de software
publishDate 2008
dc.date.issued.fl_str_mv 2008-01-31
dc.date.accessioned.fl_str_mv 2014-06-12T15:54:38Z
dc.date.available.fl_str_mv 2014-06-12T15:54:38Z
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.citation.fl_str_mv Cisneiros Veras, Ronaldo; Romero de Lemos Meira, Silvio. Busca e recuperação de componentes de software utilizando agrupamento de componentes. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.
dc.identifier.uri.fl_str_mv https://repositorio.ufpe.br/handle/123456789/2110
dc.identifier.dark.fl_str_mv ark:/64986/001300000g6nx
identifier_str_mv Cisneiros Veras, Ronaldo; Romero de Lemos Meira, Silvio. Busca e recuperação de componentes de software utilizando agrupamento de componentes. 2008. Dissertação (Mestrado). Programa de Pós-Graduação em Ciência da Computação, Universidade Federal de Pernambuco, Recife, 2008.
ark:/64986/001300000g6nx
url https://repositorio.ufpe.br/handle/123456789/2110
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Attribution-NonCommercial-NoDerivs 3.0 Brazil
http://creativecommons.org/licenses/by-nc-nd/3.0/br/
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal de Pernambuco
publisher.none.fl_str_mv Universidade Federal de Pernambuco
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFPE
instname:Universidade Federal de Pernambuco (UFPE)
instacron:UFPE
instname_str Universidade Federal de Pernambuco (UFPE)
instacron_str UFPE
institution UFPE
reponame_str Repositório Institucional da UFPE
collection Repositório Institucional da UFPE
bitstream.url.fl_str_mv https://repositorio.ufpe.br/bitstream/123456789/2110/4/arquivo1985_1.pdf.jpg
https://repositorio.ufpe.br/bitstream/123456789/2110/1/arquivo1985_1.pdf
https://repositorio.ufpe.br/bitstream/123456789/2110/2/license.txt
https://repositorio.ufpe.br/bitstream/123456789/2110/3/arquivo1985_1.pdf.txt
bitstream.checksum.fl_str_mv 571290132e7b8b0538e0dea72233dbb5
d80eb6d9d156dc4d5fea44c91a40a019
8a4605be74aa9ea9d79846c1fba20a33
b8d6d872aa682622b21489ac895f03d2
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFPE - Universidade Federal de Pernambuco (UFPE)
repository.mail.fl_str_mv attena@ufpe.br
_version_ 1815172815612018688