Busca e recuperação de componentes de software utilizando agrupamento de componentes
Autor(a) principal: | |
---|---|
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 |