A versão atual do MARACATU não considera alguns requisitos considerados importantes para a criação de um mecanismo eficiente de busca e recuperação de componentes de software. Alguns requisitos ficaram de fora do escopo porque o objetivo deste trabalho foi melhorar as buscas em mecanismos como o MARACATU. Como resultado, as pesquisas demonstraram a viabilidade da utilização do método de busca da folksonomia combinada a outros métodos tradicionais para melhorar a precisão dos resultados das buscas.
Nesse contexto, esta seção discute direções identificadas para melhoria do trabalho baseadas nas pesquisas feitas e nos problemas identificados com o estudo de caso realizado.
Suporte a diferentes tipos e formatos de artefatos. Novos tipos e formatos de artefatos devem ser suportados para prover um ambiente que cubra amplamente todas as possibilidades de artefatos do repositório, não restringindo a arquivos de código fonte Java como se encontra o mecanismo atualmente. Com isso, acredita-se que o nível de reuso de software possa aumentar consideravelmente.
Segurança. Para evitar que indivíduos não autorizados tentem acessar os recursos disponíveis para reuso no repositório, uma política de controle de segurança sofisticada deve ser empregada no futuro, como abordado na Seção 4.1.1. Apesar dos requisitos do sistema contemplar esse cenário, a implementação não tratou desse aspecto.
Suporte a diferentes IDEs. O mecanismo de busca deve poder ser integrado a outros ambientes de desenvolvimento de software, considerando o feedback dos desenvolvedores sobre quais IDEs são mais utilizadas por eles, uma vez que é inviável a construção para todos os ambientes existentes.
Novo estudo de caso. Um novo estudo de caso é necessário com (i) uma base de dados com no mínimo dez grandes projetos, (ii) número de participantes mínimo de 50 desenvolvedores e (iii) prazo maior de utilização do mecanismo de busca pelos participantes. Com isso, será possível simular com mais exatidão o comportamento real do mecanismo de busca e identificar problemas que possam vir a surgir
em decorrência dessas modificações do estudo de caso como, por exemplo, ocorrer um aumento considerável do tempo de resposta dos resultados da busca, ou problemas de estouro de memória, inviabilizando a solução.
Semântica para as tags. Uma possível extensão do mecanismo de busca para minimizar as limitações inerentes à folksonomia, como a polissemia, sinonímia e palavras no plural, consiste na criação e armazenamento de uma semântica ou ontologia para as tags, a qual deve melhorar a precisão das buscas [BRUIJIN, 2003].
Opções de acesso ao mecanismo de busca. O acesso ao mecanismo de busca não deve se restringir apenas ao ambiente de desenvolvimento do usuário, mas também a outras opções, como, por exemplo, via web browser. A linguagem XML adotada para armazenamento dos dados, pela sua simplicidade e interoperabilidade, vai permitir que essa extensão seja feita de forma mais fácil e flexível.
Usabilidade. A usabilidade é um requisito importante para o sucesso e aceitação da ferramenta como apresentado na Seção 4.1.1. Contudo, apesar da atenção dada a esse requisito, alguns problemas de usabilidade foram levantados pelos participantes do estudo de caso como apresentado na Seção 5.3 e devem ser tratados prioritariamente no futuro. Ademais, outras características interessantes para a usabilidade do MARACATU devem ser consideradas, como: (i) dar a possibilidade de o usuário visualizar graficamente os artefatos e suas interdependências, ajudando-o a manter a coesão dos artefatos e aprender mais sobre os relacionamentos e dependências do artefato; (ii) destacar o texto buscado; e finalmente, (iii) seria interessante para o usuário poder selecionar os repositórios que desejam fazer as busca por artefatos, como uma filtragem adicional [GARCIA et al., 2006].
Filtragem da lista de sugestões de tags. Um estudo deve ser feito para verificar a causa de algumas tags sugeridas na listagem de tags não apresentarem relevância para a classe selecionada. Caso seja
constatada a necessidade de uma melhor filtragem dessas tags, incluir essa melhoria ao mecanismo.
Extensão do ambiente. Estender o ambiente para prover mecanismos adicionais que promovam o reuso de software, como a inclusão de mecanismos de busca ativa, utilizando a busca por folksonomia combinada ao método de busca por assinatura [YE & FISCHER, 2002] [MASCENA, 2006], por exemplo.
Especialização do algoritmo de busca. Nesse trabalho foi definido um algoritmo de busca baseado nas tags associadas aos componentes armazenados em um arquivo XML quando utilizada a abordagem da folksonomia. Para as demais abordagens, é utilizado o sistema de busca do Lucene para indexar e recuperar o código fonte. Esses algoritmos, contudo, não são otimizados ou especializados para busca de código fonte. Uma característica que poderia ser adicionada é levar em consideração as dependências do código fonte quando estivesse indexando ou ranqueando para ajudar o desenvolvedor na escolha dos artefatos a serem recuperados com menos dependências [GARCIA et al., 2006], por exemplo. Um exemplo desse trabalho pode ser encontrado em [INOUE et al., 2003].
Busca por tags próximas à consulta. O mecanismo de busca por tags deve ser estendido para recuperar componentes com tags próximas à consulta, caso não encontre nenhum resultado com a tag procurada.
É importante ressaltar que esse não é um conjunto definitivo de melhorias que podem ser feitas no MARACATU. Contudo, são soluções que podem melhorar a performance e utilidade do mecanismo de busca.
6.4 Considerações Finais
Após estudos e análises feita na área de busca e recuperação de componentes, folksonomia foi apontada como possível solução para minimizar os problemas existentes de classificação e melhorar a precisão das buscas. Contudo, folksonomia não pode ser encarada como solução para todos os problemas recentes de classificação e não é alternativa para os esquemas de classificação tradicionais que se têm projetado ao longo dos anos, mas uma complementação deles. É uma ferramenta mais poderosa e inovadora que deve ser aplicada
apenas nas circunstâncias certas – ambiente propício e estável, com usuários conscientes sobre a importância de classificar os artefatos adequadamente - e levando em consideração suas propriedades específicas e as diferenças em respeito a outros esquemas de classificação como taxonomias e vocabulário controlado.
Essa estratégia de classificação cooperativa, que foi integrada ao mecanismo de busca MARACATU, faz parte do projeto de pesquisa e desenvolvimento RiSE, que investiga diferentes maneiras para guiar as organizações de estágios sem nenhuma maturidade no processo do reuso de software até atingirem um nível satisfatório, de modo incremental. Esta solução foi definida e implementada neste trabalho e, ao final, foi realizado um estudo de caso que mostrou indícios que o mecanismo de classificação cooperativa melhora a precisão das buscas, embora não esteja estatisticamente comprovado e não tenha apresentado bons resultados com a taxa de recuperação, indicando que o MARACATU pode vir a atuar como uma ferramenta de suporte ao reuso futuramente, como parte da solução do projeto.
Referências
[3Spots, 2006] 3Spots: All Social that CAN Bookmark. Disponível em: <http://3spots.blogspot.com/2006/01/all-social-that-can-bookmark.html>. Acesso em: 22 maio 2006.
[ALMEIDA, 2003] ALMEIDA, E. S. Uma Abordagem para o Desenvolvimento de Software Baseado em Componentes Distribuídos, 2003. 165f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de São Carlos, São Paulo, Brasil, 2003. [ALMEIDA et al., 2004] ALMEIDA, E.; ALVARO, A.; LUCREDIO, D.; GARCIA,
V.; MEIRA, S. RiSE Project: Towards a Robust Framework for Software Reuse, In the IEEE International Conference on Information Reuse and Integration (IRI), Las Vegas, USA, 2004.
[ALMEIDA et al., 2005] ALMEIDA, E.; MEIRA, S. Towards a Practical and Efficient Process for Software Reuse, In the 15th Workshop for PhD
Students in Object-Oriented Systems (PhDOOS), in Conjunction with the 19Th European Conference on Object Oriented Programming (ECOOP), Lecture Notes in Computer Science (LNCS), Springer-Verlag, Glasgow, Scotland, 2005.
[ÁLVARO et al., 2005] ÁLVARO, A.; ALMEIDA, E.; MEIRA, S. Software Component Certification: A Survey, In the 31st IEEE EUROMICRO
Conference on Software Engineering and Advanced Applications (SEAA), Component-Based Software Engineering Track, Portugal, IEEE Press, 2005. [BAEZA-YATES & RIBEIRO-NETO, 1999] BAEZA-YATES, R.; RIBEIRO-NETO,
B. Modern Information Retrieval, ISBN: 020139829X, 1st edition, ACM
[BIGGERSTAFF & RICHTER, 1987] BIGGERSTAFF, T. J.; RICHTER, C. Reusability Framework, Assessment, and Directions, In the IEEE Software, Vol. 4, No. 2, março, 1987, pp. 41-49.
[BOEHM, 1987] BOEHM, B. W. Improving Software Productivity, In the IEEE Computer, Vol. 20, No. 9, setembro, 1987, pp. 43-57.
[BRUIJIN, 2003] BRUIJIN, J. Using ontologies, Tecnical report, Digital Enterprise Research Institute, 2003.
[BURÉGIO, 2006] BURÉGIO, V. A. A. Especificação, projeto e implementação de um repositório de reuso, 2006. 137f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Pernambuco, Brasil, 2006.
[CALDIERA & BASILI, 1991] CALDIERA, G.; BASILI, V. Identifying and Qualifying Reusable Software Components, In the IEEE Computer, Vol. 24, No. 2, fevereiro, 1991, pp. 61–71.
[DEWEY, 1979] DEWEY, M. Decimal Classification and Relative Index. 19th ed., Forest Press Inc., Albany, N.Y., 1979.
[FRAKES, 1994] FRAKES, W. B.; ISODA, S. Success Factors of Systematic Reuse, In the IEEE Software, Vol. 11, No. 05, setembro/outubro, 1994, pp. 14-19.
[FRAKES & POLE, 1994] FRAKES, W. B.; POLE, T. P. An Empirical Study of Representation Methods for Reusable Software Component, In the IEEE Transactions on Software Engineering, Vol. 20, No. 8, agosto, 1994, pp.617-630.
[FREEMAN, 1983] FREEMAN, P. Reusable Software Engineering Concepts and Research Directions, In the ITT Proceedings of the Workshop on Reusable Software (ITT, Newport, R. I.), 1983.
[FREITAG, 2005] FREITAG, P. How to make a Tag Cloud, Junho, 2005. Disponível em: <http://www.petefreitag.com/item/396.cfm>. Acesso em: 5 julho 2006.
[FRIEDMAN, 2004] FRIEDMAN, P. K. Folksonomy, In the Anthropology News, Vol. 46, No. 6, setembro, 2004.
[GARCIA et al., 2005] GARCIA, V. C.; DURÃO, F. A.; JÚNIOR, G. S. A.; SANTOS, M. D. S.; ALMEIDA, E. S.; LUCRÉDIO, D.; ALBUQUERQUE, J. O.; MEIRA, S. R. L. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes, In the 5th
Workshop de Desenvolvimento baseado em Componentes (WDBC’2005), Juiz de Fora-MG, Brasil, 2005.
[GARCIA et al., 2006] GARCIA, V. C.; LUCRÉDIO, D.; DURÃO, F. A.; SANTOS, E. C. R.; ALMEIDA, E. S.; FORTES, R. P. M.; MEIRA, S. R. L. From Specification to the Experimentation: A Software Component Search Engine Architecture, In the 9th International Symposium on
Component-Based Software Engineering (CBSE 2006), Lecture Notes in Computer Science (lncs), Mälardalen University, Västerås, Sweden, 2006. [GOLDER & HUBERMAN, 2005] GOLDER, S. A.; HUBERMAN, B. A. The
Structure of Collaborative Tagging Systems, In the Information Dynamics Lab, HP Labs, 2005.
[GRUNDHY, 2000] GRUNDHY, J. Storage and Retrieval of Software Components Using Aspects, In the 2000 Australasian Computer Science Conference, Canberra, Australia, 2000, IEEE CS Press, pp. 95-103.
[GUO & LUQI, 2000] GUO, J.; Luqi, J. A Survey of Software Reuse Repositories, In teh 7th IEEE International Conference and Workshop on
the Engineering of Computer Based Systems, Edinburgh, Scotland, abril, 2000, pp. 92-100.
[HALL, 1987] HALL, P. A. Software Components and Reuse - Getting More Out of Your Code, In the IEEE Software, julho, 1987, pp. 38-43. [HALL, 1999] HALL, P. Architecture-driven Component Reuse,
Information and Software Technology, Vol. 41, No. 14, novembro, 1999, pp. 963-968.
[HATCHER & GOSPODNETIC, 2004] HATCHER, E.; GOSPODNETIC, O. Lucene in Action, In Action series. Manning Publications Co., Greenwich, CT, 2004.
[HATCLIFF et al., 2003] HATCLIFF, J.; DENG, W.; DWYER, M.; JUNG, G.; PRASAD, V. Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems, In the
25th International Conference on Software Engineering, Portland, OR, maio,
2003.
[HENNINGER, 1994] HENNINGER, S. Using Iterative Refinement to Find Reusable Software, In the IEEE Software, Vol. 11, No. 5, setembro, 1994, pp. 48-59.
[HENNINGER, 1997] HENNINGER, S. An Evolutionary Approach to Constructing Effective Software Reuse Repositories, In the ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 6, No. 2, abril, 1997, pp.111-140.
[HOLMES & MURPHY, 2005] HOLMES, R. Holmes; MURPHY, G. C. Using Structural Context to Recommend Source Code Examples, In the 27th International Conference in Software Engineering. St. Louis, MO, USA,
ACM Press, 2005, pp. 117-125.
[HOROWITZ & MUNSON, 1984] HOROWITZ, E.; MUNSON, J. B. An Expansive View of Software Reuse, In the IEEE Transactions Software Engineering SE-10, 5, setembro, 1984, pp. 477-487.
[IBM, 2005] IBM's Intranet and Folksonomy, março, 2005. Disponível em: <http://thecommunityengine.com/home/archives/2005/03/ibms_intranet _a.html>. Acesso em: 17 abril 2006.
[INOUE et al., 2003] INOUE, K.; YOKOMORI, R.; FUJIWARA, H.; YAMAMOTO, T.; MATSUSHITA, M.; KUSUMOTO, S. Component Rank: Relative Significance Rank for Software Component Search, In the 25th International Conference on Software Engineering (ICSE2003), 2003,
pp. 14-24.
[JONES, 1984] JONES, T. C. Reusability in Programming: A Survey of the State of the Art, In the IEEE Transactions Software Engineering SE- 10, 5, setembro, 1984, pp.488-494.
[KITCHENHAM, 1995] KITCHENHAM, B.; PICKARD, P.; PFLEEGER, S. L. Case Studies for Method and Tool Evaluation, In the IEEE Software, Vol. 11, No. 4, julho, 1995, pp. 52-62.
[KODERS, 2005] KODERS: Koders - Source Code Search Engine, 2006. Disponível em: http://www.koders.com. Acesso em: 17 julho 2006.
[LEE, 2005] LEE, C. JavaNCSS - A Source Measurement Suite for Java, 2005.
[LENZ et al., 1987] LENZ, M.; SCHMID, H. A.; WOLFE, P. F. Software Reuse Through Building Blocks, In the IEEE Software, Vol. 4, No. 4, julho, 1987, pp. 34-42.
[LUCRÉDIO et al., 2004] LUCRÉDIO, D.; ALMEIDA, E. S.; PRADO, A. F. A Survey on Software Components Search and Retrieval, In the 30th
IEEE EUROMICRO Conference, Component-Based Software Engineering Track, 2004, Rennes, France. IEEE Press., 2004.
[MAAREK & KAISER, 1987] MAAREK, Y. S.; KAISER, G. E. On the Use of Conceptual Clustering for Classifying Reusable Ada Code, In the Proceedings of Ada Letters, Using Ada: ACM SIGAda Internacional Conference, Boston, MA, dezembro, 1987, pp. 208-215.
[MAAREK & SMADJA, 1989] MAAREK, Y. S.; SMADJA, F. A. Full Text Indexing Based on Lexical Relations, an Application: Software Libraries, In the Proceedings of SIGIR ’89. ACM, New York, 1989, pp. 198– 206.
[MAAREK el al., 1991] MAAREK, Y. S.; BERRY, D. M.; KAISER, G.E. An Information Retrieval Approach for Automatically Constructing Software Libraries, In the IEEE Transactions on Software Engineering, Vol. 17, No. 8, agosto, 1991, pp. 800-813.
[MASCENA, 2006] MASCENA, J. ADMIRE: Asset Development Metrics- based Integrated Reuse Environment, 2006. 122f. Dissertação (Mestrado em Ciência da Computação) - Universidade Federal de Pernambuco, Pernambuco, Brasil, 2006.
[MATHES, 2004] MATHES, A. Folksonomies – Cooperative Classification and Communication Through Shared Metadata, In the Computer Mediated Communication - LIS590CMC, dezembro, 2004. [MCILROY, 1968] MCILROY, M. D. Mass Produced Software
Components, In the NATO Software Engineering Conference Report, Germânia, 1968, pp. 79-85.
[MILI et al., 1994] MILI, H.; RADA, R.; WANG, W.; STRICKLAND, K.; BOLDYREFF, C.; OLSEN, L.; WITT, J.; HEGER, J.; SCHERR, W.; ELZER,
P. Practitioner and SoftClass: A Comparative Study of Two Software Reuse Research Projects, In the Journal of System and Software, Vol. 27, maio, 1994.
[MILI et al., 1995] MILI, H.; MILI, F.; MILI A. Reusing Software: Issues and Research Directions, In the IEEE Transactions on Software Engineering, Vol. 21, No. 6, junho, 1995, pp. 528-562.
[MILI et al., 1998] MILI, A.; MILI, R.; MITTERMEIR, R. T. A Survey of Software Reuse Libraries, Annals Software Engineering, Vol. 05, No. 01, 1998, pp. 349-414.
[NETBEANS, 2005] NETBEANS: Javacvs project, 2005.
[PARR & QUONG, 1995] PARR, T.; QUONG, R. ANTLR: A Predicated- LL(k) Parser Generator, Journal of Software Practice and Experience, Vol. 25, No. 7, 1995, pp. 789-810.
[PODGURSKI & PIERCE, 1993] PODGURSKI, A.; PIERCE, L. Retrieving Reusable Software by Sampling Behavior, In the ACM Transaction on Software Engineering and Methodology, Vol. 2, No. 3, julho, 1993, pp. 286- 303.
[PRIETO-DIAZ & FREEMAN, 1987] PRIETO-DIAZ, R.; FREEMAN, P. Classifying Software for Reusability, In the IEEE Software, Vol. 4, No. 1, Janeiro, 1987, pp. 6-16.
[PRIETO-DIAZ, 1991] PRIETO-DIAZ, R. Implementing Faceted Classification for Software Reuse, In the Communications of the ACM, Vol. 34, No. 5, maio, 1991, pp. 88-97.
[QUINTARELLI, 2005] QUINTARELLI, E. Folksonomies: Power to the People, In the Proceedings of the 1st International Society for Knowledge
Organization, UniMIB Meeting, Milão, Itália, ISKOI, Itália, junho, 2005. Disponível em: <http://www.iskoi.org/doc/folksonomies.htm>. Acesso em: 17 abril 2006.
[ROBIN, 2003] ROBIN, J.; RAMALHO, F. Can Ontologies Improve Web Search Engine Effectiveness Before the Advent of the Semantic Web?, In the Laender, A.H.F., ed.: XVIII Simpósio Brasileiro de Banco de Dados, Manaus, Amazonas, Brasil, UFAM, 2003, pp. 157-169.
[ROMBACH, 1991] ROMBACH, H. D. Software Reuse: A Key to the Maintenance Problem, In the Information and Software Technology, Vol. 33, No. 1, janeiro/fevereiro, 1991.
[SCHWANKE et al., 1989] SCHWANKE, R. W.; ALTUCHER, R. Z., PLATOFF, M. A. Discovering, Visualizing and Controlling Software Structure, In the Proceedings of 5th International Workshop on Software Specifications
and Design, Pittsburgh, PA, maio, 1989, pp. 147-150.
[SEACORD et al., 1998] SEACORD, R. C.; HISSAN, S. A.; WALLNAU, K. C. Agora: A Search Engine for Software Components, In the IEEE Internet Computing, Vol. 2, No. 6, novembro/dezembro, 1998, pp. 62-70. [SEACORD, 1999] SEACORD, R. C. Software Engineering Component
Repositories, In the International Workshop on Component-Based Software Engineering, Held in conjunction with the 21st International
Conference on Software Engineering (ICSE), 1999, Los Angeles, CA, USA. [SILVEIRA, 2000] SILVEIRA, G. E. D. Spontaneous software: A Web-
based, Object Computing Paradigm, In the ICSE 2000 - 22nd
International Conference on Software Engineering, Irlanda, 2000.
[STAL, 2002] STAL, M. Web Services: Beyond Component-based Computing, In the Communications of ACM, Vol. 45, No. 10, 2002, pp. 71– 76.
[STANDISH, 1984] STANDISH, T. An Essay on Software Reuse, In the IEEE Transactions on Software Engineering SE-10, Vol. 10, No. 5, setetembro, 1984, pp. 494-497.
[STURTZ, 2004] STURTZ, D. N. Communal Categorization: the Folksonomy, INFO622: Content Representation, dezembro, 2004.
[SZYPERSKI, 1998] SZYPERSKI, C. Component Software: Beyond Object- Oriented Programming, Addison-Wesley, 1998.
[TIAN et. al., 2002] TIAN, F.; DEWITT, D. J.; CHEN, J.; ZHANG, C. The Design and Performance Evaluation of Alternative XML Storage Strategies, In the SIGMOD Record, Vol. 31, No. 1, março, 2002.
[TRAAS & HILLEGERSBERG, 2000] TRAAS, V.; HILLEGERSBERG, J. V. The Software Component Market on the Internet - Current Status and
Conditions for Growth, In the ACM SIGSOFT Software Engineering Notes, Vol. 25, No. 1, 2000, pp. 114–117.
[VANDERLEI et al., 2006] VANDERLEI, T. A.; GARCIA, V. C.; ALMEIDA, E. S.; MEIRA, S. R. L. Folksonomy in a Software Component Search Engine – Cooperative Classification through Shared Metadata, In the 20th Simpósio Brasileiro de Engenharia de Software (SBES), Sessão de
Ferramentas, outubro, 2006. (a ser publicado)
[W3C, 2006] W3C: Extensible Markup Language (XML), 2006.
[WAL, 2006] WAL, T. V. Online Information Folksonomy Presentation Posted. Personal Infocloud, Janeiro, 2006. Disponível em: <http://www.personalinfocloud.com/folksonomy/index.html>. Acesso em: 15 abril 2006.
[WIKIPEDIA, 2006] WIKIPEDIA: Wikipedia, the free encyclopedia. Disponível em: <http://en.wikipedia.org/wiki/Folksonomy>. Acesso em: 15 abril 2006.
[WJIGNER, 1984] WJIGNER, P. Capital-intensive Software Technology, In the IEEE Software, Vol. 1, No. 3, julho, 1984, pp. 7-45.
[WOHLIN, 2000] WOHLIN, C.; RUNESON, P.; HÖST, M.; OHLSSON, C.; REGNELL, B.; WESLLÉN, A. Experimentation in Software Engineering: an Introduction, In the Kluver Academic Publishers, Norwell, MA, 2000.
[YE & FISCHER, 2002] YE, Y.; FISHER, G. Supporting Reuse by Delivering Task-Relevant and Personalized Information, In the ICSE 2002 – 24th International Conference on Software Engineering,
Orlando, Florida, USA, 2002, pp. 513-523.
[ZAREMSKI & WING, 1995] ZAREMSKI, A. M.; WING, J. M. Signature Matching: a Tool for Using Software Libraries, In the ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 4, No. 2, abril, 1995, pp. 146-170.
[ZIMMERMANN et al., 2004] ZIMMERMANN, T.; WEIZGERBER, P.; DIEHL, S.; ZELLER, A. Mining Version Histories to Guide Software Changes, In the Proceedings of the 26th International Conference on Software Engineering, IEEE, 2004.
[ZHUGE, 2000] ZHUGE, H. A Problem-oriented and Rule-based Component Repository, In the Journal of Systems and Software, Vol. 50, No. 3, março, 2000, pp. 201-208.
Apêndice A: Questionários
do Estudo de Caso
A seguir são apresentados os questionários respondidos pelos participantes responsáveis por adicionar tags aos componentes (QD) e pelo participante responsável pela execução das buscas (QE), respectivamente, após a realização de suas atribuições.
Questionário do Desenvolvedor (QD):
01. Qual seu nível de formação?
_______________________________________________________ _______________________________________________________ 02. Quantos anos de experiência em desenvolvimento você possui?
_______________________________________________________ _______________________________________________________ 03. As listas de sugestões de tags ajudaram na escolha das tags mais apropriadas para associar ao código fonte?
_______________________________________________________ _______________________________________________________ _______________________________________________________ 04. Você teve alguma dificuldade no entendimento e utilização da ferramenta? Quais? _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ 05. Comentários adicionais: _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
Questionário do Executor das Buscas (QE):
01. Qual seu nível de formação?
_______________________________________________________ _______________________________________________________ 02. Quantos anos de experiência em desenvolvimento você possui?
_______________________________________________________ _______________________________________________________
03. Ordene, de acordo com sua preferência, o método de busca que você achou mais interessante utilizar.
__ Busca por palavras-chave __ Busca por facetas
__ Busca por folksonomia
__ Combinação de folksonomia com busca por palavras-chave __ Combinação de folksonomia com facetas
__ Combinação da busca por palavras-chave com facetas
__ Combinação de folksonomia com a busca por palavras-chave e facetas
04. Você achou a interface do MARACATU amigável? Em caso negativo, justifique. _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
05. Você teve alguma dificuldade no entendimento e utilização da ferramenta? Quais? _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ 06. Comentários adicionais: _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________ _______________________________________________________
Apêndice B: Resultados do
Estudo de Caso
A seguir são apresentados os resultados detalhados da taxa de recuperação e precisão para cada consulta feita no estudo de caso deste trabalho, utilizando os esquemas de busca por palavras-chave, facetas, folksonomia e suas combinações.
Keywords Search
0,0000 0,1000 0,2000 0,3000 0,4000 0,5000 0,6000 0,7000 0,8000 0,9000 1,0000 1,1000 clas sifie r logi n repo sito ry inde x luce ne sear ch repo rt chec kout uml func tiona lity Recall PrecisionFigura 19. Resultado das buscas por palavras-chave no estudo de caso
Facets Search
0,0000 0,1000 0,2000 0,3000 0,4000 0,5000 0,6000 0,7000 0,8000 0,9000 1,0000 1,1000 J2SE J2SE J2SE Infra stru ctur e Infra stru ture Infra stru ctur e Fram ewor k Infra stru ctur e Inte rface J2SE Recall PrecisionFigura 20. Resultado das buscas por facetas no estudo de caso
Folksonomy Search
0,0000 0,1000 0,2000 0,3000 0,4000 0,5000 0,6000 0,7000 0,8000 0,9000 1,0000 1,1000 clas sifie r logi n repo sito ry inde x luce ne sear ch repo rt chec kout um l func tiona lity Recall PrecisionKeywords + Facets Search
0,0000 0,1000 0,2000 0,3000 0,4000 0,5000 0,6000 0,7000 0,8000 0,9000 1,0000 1,1000 Fram ewor k / c lass ifier J2SE / lo gin J2SE / re posi tory Infra stru ctur e / i ndex Infra stru ctur e / l ucen e Infra stru ctur e / s earc h Fram ewor k / r epor t Infra stru ctur e / c heck out Inte rface / um l J2SE / fu nctio nalit y Recall PrecisionFigura 22. Resultado das buscas por palavras-chave com facetas no estudo de caso
Keywords + Folksonomy Search
0,0000 0,1000 0,2000 0,3000 0,4000 0,5000 0,6000 0,7000 0,8000 0,9000 1,0000 1,1000 clas sifie r / c lass ifier logi n / l ogin repo sito ry / repo sito ry inde x / i ndex luce ne / luce ne sear ch / sear ch repo rt / r epor t chec kout / ch ecko ut uml / um l func tiona lity / fun ctio nalit y Recall Precision
Figura 23. Resultado das buscas por palavras-chave com