MARACATU. A component search tool. Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes



Documentos relacionados
Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Projeto Demoiselle. Para perguntas e respostas, utilizem a lista de discussões de usuários da comunidade: demoiselle-users@lists.sourceforge.

EXPLORANDO TÉCNICAS E RECURSOS DO GERENCIADOR DE DADOS ABERTOS CKAN. TuaneFaria USP tuanefaria@yahoo.com.br

BRAlarmExpert. Software para Gerenciamento de Alarmes. BENEFÍCIOS obtidos com a utilização do BRAlarmExpert:

2.0. Uma Nova Geração de Ferramentas para Gestão de Processos de Software. Coordenação Carla Alessandra Lima Reis Rodrigo Quites Reis

APLICACAÇÃO DE METRICAS E INDICADORES NO MODELO DE REFERENCIA CMMI-Dev NIVEL 2

UM MODELO DE REPOSITÓRIO REFERÊNCIA DE COMPONENTE DE SOFTWARE (RRCS) RESUMO

O uso do gestor de conteúdos plone no suporte a processos de software

Prova de Conhecimento para Consultores de Implementação MPS.BR INSTRUÇÕES

Organizaçãoe Recuperação de Informação GSI521. Prof. Rodrigo Sanches Miani FACOM/UFU

ISO/IEC 12207: Gerência de Configuração

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

Fase 1: Engenharia de Produto

Derwent Innovations Index

Extensão do Sistema de Metadados para Recursos Naturais

Processo de Desenvolvimento de Sites

Roteiro. Arquitetura. Tipos de Arquitetura. Questionário. Centralizado Descentralizado Hibrido

Programação para Web Artefato 01. AT5 Conceitos da Internet

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

ARCO - Associação Recreativa dos Correios. Sistema para Gerenciamento de Associações Recreativas Plano de Desenvolvimento de Software Versão <1.

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Seminário - Two Case Studies of Open Source Software Development: Apache and Mozilla

Treinamento em Alfresco Open Source Enterprise Content Management ( ECM ) - GED Gestão Eletrônica de Documentos

GERÊNCIA DE CONFIGURAÇÃO. Isac Aguiar isacaguiar.com.br

Requisitos de Ferramentas Especializadas de Gestão de Configuração de Software

NORMA ISO/IEC Isac Aguiar isacaguiar.com.br

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Projeto Disciplinar de Infra-Estrutura de Software SISPA FACULDADE SENAC

Gerenciador de Log Documento Visão. Versão 2.0

Universidade Paulista

O e-docs foi testado e homologado pela Microsoft via certificadora internacional Verisign.

Material de Apoio. Sistema de Informação Gerencial (SIG)

SISTEMA COMPUTACIONAL PARA ANÁLISES DE DADOS EM AGRICULTURA DE PRECISÃO

Lucas Nascimento Santos

MBA Inteligência Competitiva Com ênfase em BI/CPM. Metadados

Recuperação. Profa. Lillian Alvares Faculdade de Ciência da Informação Universidade de Brasília

CASE Orientada a Objetos com Múltiplas Visões e Implementação Automática de Sistemas - MVCASE

INTRODUÇÃO A PORTAIS CORPORATIVOS

Test-Module: uma ferramenta para gerenciamento de testes de software integrada ao FireScrum

Noções de. Microsoft SQL Server. Microsoft SQL Server

Autores/Grupo: TULIO, LUIS, FRANCISCO e JULIANO. Curso: Gestão da Tecnologia da Informação. Professor: ITAIR PEREIRA DA SILVA GESTÃO DE PESSOAS

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

3 Trabalhos Relacionados

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

Introdução ao Delphi. Introdução. Edições do Software. Capítulo 1. InforBRás - Informática Brasileira Ltda. O Que é o Delphi.

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

Redmine. Simplificando a gestão de projetos

Gerenciamento de configuração. Gerenciamento de Configuração. Gerenciamento de configuração. Gerenciamento de configuração. Famílias de sistemas

ARQUITETURA DE UM SISTEMA SPATIO-TEXTUAL. PALAVRAS-CHAVE: banco de dados espaciais, busca spatio-textual. aplicativo.

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado)

PADRÕES PARA O DESENVOLVIMENTO NA WEB

DESENVOLVIMENTO DE SOFTWARE. Introdução ao Visual Studio VB.Net. Programação Estruturada. Prof. Celso Candido ADS / REDES / ENGENHARIA

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Introdução ao Modelos de Duas Camadas Cliente Servidor

Engenharia de Software. Apostila I >>> Introdução à ES - HEngholmJr

Curso de Introdução ao Plone. Instrutores Carlos Alberto Alves Meira Erick Gallani

ESTUDO E IMPLEMENTAÇÃO DE UM SISTEMA PARA CONTROLE DE VERSÕES

PORTARIA N Nº Rio de Janeiro, 24 de Outubro de 2013.

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

2 a Lista de Exercícios

Arquitetura de Banco de Dados

Exame de Fundamentos da ITIL

MCTS SHAREPOINT 2010, CONFIGURING Um exame para obter a Certificação completa

Um Arcabouço open source em Python para DBC com

Metodologia e Gerenciamento do Projeto na Fábrica de Software v.2

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

Análise e Projeto de Sistemas de Informação. Andrêza Leite andreza.lba@gmail.com

Tópicos Especiais em Engenharia de Software

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: ou

Guia-se Negócios pela Internet

Uma Proposta de Framework de Comparação de Provedores de Computação em Nuvem

Implantação do Processo Aquisição na Synapsis Brasil. Carlos Simões Ana Regina Rocha Gleison Santos

Identificando a Formação de Ilhas de Conhecimento em Projetos de Software

Semântica para Sharepoint. Busca semântica utilizando ontologias

TI Aplicada. Aula 02 Áreas e Profissionais de TI. Prof. MSc. Edilberto Silva prof.edilberto.silva@gmail.com

TREINAMENTO E SUPORTE ONLINE SEM CUSTO CONTRATAÇÃO POR MÓDULOS

Tecnologia da Informação

CRM. Customer Relationship Management

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Conhecimento em Tecnologia da Informação. CobiT 5. Apresentação do novo framework da ISACA Bridge Consulting All rights reserved

CONCORRÊNCIA AA Nº 05/2009 BNDES ANEXO X PROJETO BÁSICO: DESCRIÇÃO DOS PROCESSOS DE TI

Critérios para certificação de Sites SciELO: critérios, política e procedimentos para a classificação e certificação dos sites da Rede SciELO

Plano de Trabalho Docente Ensino Técnico

Organizaçãoe Recuperaçãode Informação GSI521. Prof. Dr. Rodrigo Sanches Miani FACOM/UFU

A computação na nuvem é um novo modelo de computação que permite ao usuário final acessar uma grande quantidade de aplicações e serviços em qualquer

APLICATIVO MOBILE CATÁLOGO DE PÁSSAROS - PLATAFORMA ANDROID/MYSQL/WEBSERVICE

Obtendo Qualidade com SOA

GT-ATER: Aceleração do Transporte de Dados com o Emprego de Redes de Circuitos Dinâmicos. RP1 - Relatório de detalhamento das atividades

PPS - Processo de Proposta de Solução Versão 1.3.1

gestão eletrônica do sistema da qualidade: uma ferramenta para o Coordenador da Qualidade A gestão eletrônica QUALIDADE QUALIDADE PROJETOS SAC

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Transcrição:

MARACATU A component search tool Especificação, Projeto e Implementação de uma Arquitetura para um Engenho de Busca de Componentes Vinicius Cardoso Garcia July 29, 2005

Agenda Introdução Especificação da Arquitetura Características e Requisitos Técnicos Projeto da Arquitetura Eclipse Plug-in e MARACATU Server Implementação da Arquitetura Trabalhos Relacionados Conclusões e trabalhos futuros July 29, 2005 2

Introdução Reuso (McIlroy, 1968) utilização de produtos de software em uma situação diferente daquela para qual estes produtos foram originalmente construídos Repositórios de componentes gerenciamento, planejamento, processos de reuso, entre outros (Morisio, 2002; Ravichandran, 2003) Atual -> reuso black-box box Adoção de forma intrusiva e como soluções isoladas Ideal -> white-box July 29, 2005 3

Especificação da Arquitetura Requisitos para um eficiente engenho de busca e recuperação de componentes de software (Lucredio, 2003) Elevada precisão e recuperação Segurança Formulação de consultas Descrição do componente Familiaridade no repositório Interoperabilidade Performance Entretanto, esses requisitos são referentes a um mercado de componentes utilizando componentes black-box box July 29, 2005 4

Características e Requisitos Técnicos Busca em repositórios de código fonte de projetos localização, check-out e indexação dos componentes; e busca e recuperação de componentes Requisitos do MARACATU Repositórios CVS na Web ou na Intranet Selecionar Repositórios Armazenar Componentes Localmente Atualizar Repositórios Indexar os Componentes Buscar por Palavra-Chave Exibir resultado da busca July 29, 2005 5

Projeto da Arquitetura A arquitetura do MARACATU foi projetada para ser extensível a diferentes tecnologias de componentes, provendo a capacidade de adição de novas características na indexação, ranqueamento, busca e recuperação dos componentes. July 29, 2005 6

Projeto da Arquitetura A arquitetura do MARACATU contém dois subsistemas principais: Eclipse Plug-in interface visual com o desenvolvedor responsável por repassar as consultas para o sub-sistema MARACATU Service se comporta como um cliente Web Service que consome os serviços disponíveis pelo MARACATU Service MARACATU Service responsável pela execução dos serviços requisitados dividido em sub-módulos: CVS, Analyser, Indexer, Download e Search July 29, 2005 7

MARACATU Service CVS é responsável por recuperar o código fonte dos repositórios CVS cadastrados monitora os repositórios com o objetivo de recuperar as atualizações. Analyser responsável por realizar uma análise no código e avaliar se o mesmo é adequado para ser reutilizado. Indexer responsável por indexar os arquivos Java que passaram pela análise do módulo Analyser Download Search auxilia o processo de download (check-out) do código fonte para a máquina do desenvolvedor recebe os parâmetros da consulta solicitada pelo desenvolvedor, interpreta, busca no índice, e retorna um conjunto de entradas do índice. July 29, 2005 8

Implementação da Arquitetura O MARACATU foi implementado em 32 classes, divididas em 17 pacotes e com 955 linhas de código não comentadas (dados extraídos através da ferramenta JavaNCSS). July 29, 2005 9

Trabalhos Relacionados (1) Agora (Seacord, 1998) protótipo desenvolvido pelo SEI/CMU objetivo é criar um repositório, indexado e disponível na internet, de produtos de software classificados por tipos de componentes (por exemplo, Javabeans ou ActiveX) combina técnicas de introspecção com mecanismos de busca da Web Koders (http://www.koders.com) primeiro motor de busca de projetos Open Source o objetivo é apoiar os desenvolvedores de software através da comunidade de 15,5 milhão de projetos de software livre se conecta diretamente nos sistemas de controle de versão (como CVS e Subversion) reconhece cerca de 30 linguagens de programação e 20 licenças de software projeto mantido pela Microsoft Architecture Resource Center July 29, 2005 10

Trabalhos Relacionados (2) Strathcona (Holmes, 2005) localiza exemplos de códigos que auxiliam desenvolvedores no processo de codificação exemplos extraídos de repositórios através de pesquisa baseada em seis diferentes heurísticas A escolha das classes é baseada na similaridade da estrutura do código que o desenvolvedor está escrevendo (Ye, 2002) localiza e apresenta para o desenvolvedor, de forma autônoma, informações sobre componentes que sejam relevantes para as atividades que estão sendo realizadas no momento personalizados de acordo com o conhecimento e ambiente do desenvolvedor Avaliações empíricas mostraram que este tipo de estratégia é realmente efetiva em promover o reuso exploração de um novo estilo de colaboração entre homemmáquina July 29, 2005 11

Conclusões e trabalhos futuros De McIlroy até hoje (Lucredio, 2004) a área de busca e recuperação de componentes vem evoluindo O MARACATU permite, não apenas a recuperação de componentes black-box box, como também, componentes white- box e trechos de código existentes Módulo extrator componentes existentes possam ser recuperados e classificados em facetas pré-definidas Com a utilização de facetas, as buscas poderão ser otimizadas Outras funcionalidades incorporação de conteúdo semântico melhorias nos algoritmos de ranqueamento do engenho de busca definição de métricas Projeto piloto: analisar a viabilidade de utilização da ferramenta no ambiente industrial. July 29, 2005 12

MARACA2 July 29, 2005 13

References R. Holmes and G. C. Murphy. Using structural context to recommend source code examples. In Proceedings of the 27th ICSE, pages 117 125, New York, NY, USA, 2005. ACM Press. D. Lucrédio, E. S. d. Almeida, and A. F. d. Prado. A Survey on Software Components Search and Retrieval. In R. Steinmetz and A. Mauthe, editors, 30th IEEE EUROMICRO Conference, Component-Based Software Engineering Track, pages 152 159, Rennes - France, 2004. IEEE/CS Press. M. D. McIlroy. Software Engineering: Report on a conference sponsored by the NATO Science Committee. In NATO Software Engineering Conference, pages 138 155. NATO Scientific Affairs Division, 1968. M. Morisio, M. Ezran, and C. Tully. Success and Failure Factors in Software Reuse. IEEE Transactions on Software Engineering, 28(04):340 357, 2002. T. Ravichandran and M. A. Rothenberger. Software Reuse Strategies and Component Markets. Communications of the ACM, 46(8):109 114, 2003. R. C. Seacord, S. A. Hissam, and K. C. Wallnau. Agora: A Search Engine for Software Components. Technical report, CMU/SEI - Carnegie Mellon University/Software Engineering Institute, 1998. Y. Ye and G. Fischer. Supporting Reuse By Delivering Task-Relevant and Personalized Information. In Proceedings of the 24th ICSE, pages 513 523, Orlando, Florida, USA, 2002. July 29, 2005 14