Português
Introdução arrow Introdução
Menu Principal
Introdução
Equipe
Histórico
Publicações
Links
Grupo na mídia
Workshop 20 anos
Menu Projetos
Projeto Odyssey
Projeto RioSIM
Projeto Brechó
Projeto EvolTrack
Projeto CDSoft
Projeto Brechó
Introdução
Tópicos de Pesquisa
Brechó PDF Imprimir E-mail
Logotipo
O desenvolvimento baseado em componentes (DBC), de acordo com as pesquisas em reutilização de software, apresenta-se como uma técnica que vem ganhando cada vez mais adeptos. Atualmente, a maioria dos produtos de software disponíveis no mercado utiliza uma abordagem de desenvolvimento em blocos monolíticos, formados por um grande número de partes interrelacionadas, onde o relacionamento entre estas partes não fica evidenciado através de uma interface bem definida.
O DBC tem como objetivo a definição de componentes interoperáveis, com interfaces bem definidas, evidenciando os tipos de relacionamentos permitidos por estes componentes, reduzindo a complexidade no desenvolvimento, assim como os custos, através da reutilização de componentes exaustivamente testados. As premissas de benefícios em qualidade, produtividade e manutenibilidade tornam o DBC uma estratégia potencialmente promissora para a indústria de software. No Brasil, a engenharia de software baseada em componentes é reconhecida, atualmente, como uma área estratégica para o crescimento da indústria brasileira de software, com pesquisas recentes encomendadas visando discutir a “viabilidade e diretrizes de uma estratégia nacional para componentes, com especial atenção para o uso de biblioteca de componentes”.
O amadurecimento de um mercado de componentes pode alavancar, em paralelo, outra técnica emergente e também potencialmente promissora: a engenharia de software baseada em serviços. Algumas vantagens destas arquiteturas completam algumas deficiências do DBC, como no caso da interoperabilidade. Os serviços podem ser compostos, orquestrados e invocados remotamente por consumidores por meio de interfaces e protocolos padronizados, levando ao desenvolvimento de arquiteturas de aplicações baseada em serviços. 

Entretanto, as diferentes tecnologias de desenvolvimento de componentes e serviços têm pouca utilidade na ausência de um mercado consumidor amadurecido. Este tipo de mercado, infelizmente, ainda não é uma realidade amadurecida no país. Dentre os principais inibidores a este amadurecimento, podemos destacar a baixa disponibilidade de componentes de software e a imaturidade dos canais de distribuição. Neste cenário, um elemento fundamental é a biblioteca de componentes, aumentando a oferta de componentes de boa qualidade, que sejam facilmente encontrados, compreendidos, adquiridos e reutilizados a partir da Internet.

Dentre algumas das características iniciais consideradas básicas para o desenvolvimento de um sistema para biblioteca de componentes de software, podemos destacar mecanismos de (i) publicação; (ii) documentação; (iii) armazenamento; (iv) pesquisa; e (v) recuperação de componentes de software. Em adição a este conjunto de características iniciais, são previstas extensões e refinamentos, de forma a atender a questões importantes do papel da biblioteca de componentes no amadurecimento do seu mercado. Como objetivos potenciais destas extensões e refinamentos, podemos destacar: (i) flexibilização do conceito de componentes e empacotamento personalizado; (ii) flexibilização do mecanismo de publicação; (iii) controle de versões e evolução de componentes; (iv) flexiblização e refinamento de mecanismos de pesquisa e recuperação eficientes; (v) gerenciamento de fornecedores e consumidores de componentes; (vi) gerenciamento de licenças e contratos na recuperação de componentes; (vii) mecanismos de publicação, negociação e execução de serviços remotos.

O projeto Brechó se apresenta como um arcabouço de pesquisa onde os conceitos apresentados acima são estudados e implementados em uma biblioteca de componentes. O protótipo desta biblioteca (http://reuse.cos.ufrj.br/brecho) consiste em um sistema de informação para WEB com uma base de dados de componentes, fornecedores e consumidores.

Financiamento
 
Próximo >