• Nenhum resultado encontrado

DESENVOLVIMENTO BASEADO EM COMPONENTES: UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO

N/A
N/A
Protected

Academic year: 2021

Share "DESENVOLVIMENTO BASEADO EM COMPONENTES: UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO"

Copied!
6
0
0

Texto

(1)

DESENVOLVIMENTO BASEADO EM COMPONENTES:

UM REPOSITÓRIO PARA O SETOR AGROPECUÁRIO

Fernanda Campos1 Regina Braga 2 Viviane Kawamura3 Leonardo Gravina4 Rodrigo Rezende5

RESUMO

Este trabalho descreve o desenvolvimento de componentes para o domínio agropecuário, os modelos, metodologias e técnicas utilizadas, sua documentação, sua disponibilização num repositório de componentes reutilizáveis e demonstra sua utilização numa aplicação. É um projeto de pesquisa integrante do Projeto Odyssey, parceria entre a Universidade Federal de Juiz de Fora - UFJF e a Universidade Federal do Rio de Janeiro - UFRJ.

PALAVRAS-CHAVE: Desenvolvimento Baseado em Componentes, Software Agropecuário

ABSTRACT

This paper describes the development of components for the farming domain, the models, methodologies and techniques used, its documentation, its delivery to a reuse component repository and shows its use in an aplication. It´s a research which joins the Odyssey Project, partnership between the Federal University of Juiz de Fora – UFJF and the Federal University of Rio de Janeiro – UFRJ.

KEYWORDS: Component Based Development, Agricultural Software

1. INTRODUÇÃO

O setor agropecuário é um setor de extrema importância para a população e para a economia, e se encontra em constante crescimento. Segundo dados do Ministério da Agricultura, Pecuária e Abastecimento, o agronegócio obteve um saldo comercial de US$ 20,3 bilhões em 2002, representando um acréscimo de 7% em relação ao superávit de 2001. As exportações do setor somaram US$ 24,8 bilhões, 4,1% a mais do que os US$ 23,8 bilhões registrados em 2001. No Brasil, cuja prática agrícola e pecuária ainda está longe de se situar entre as mais modernas do mundo, há a consciência de que a tecnologia significa um grande diferencial na questão da redução dos custos, ganho de produtividade e redução de riscos das atividades. Uma das áreas de maior relevância para o uso da informática é a pecuária leiteira e de corte, dada à complexidade operacional dos sistemas de produção e controle, seu significado para a alimentação da população e para a questão da rastreabilidade, onde é necessário todo o controle da vida do animal.

A construção de software através de componentes, com fundamentos na orientação a objetos, leva a uma maior reutilização e conseqüentemente um avanço na qualidade, produtividade e custos, pois visa a solução de um problema através da composição de partes reutilizáveis que possam ser conectadas umas às outras. A abordagem desenvolvimento baseado em componentes - DBC é uma proposta promissora para uma significante melhoria da produção de software nos próximos anos.

1 Doutora em Engenharia de Sistemas e Computação - Núcleo de Pesquisa em Qualidade de Software-UFJF 2 Doutora em Engenharia de Sistemas e Computação - Núcleo de Pesquisa em Qualidade de Software-UFJF 3 Bacharel em Ciência da Computação

(2)

A localização da Universidade Federal de Juiz de Fora próxima às Universidade Federal de Viçosa, Universidade Federal de Lavras, Embrapa Gado de Leite e várias empresas do setor tem facilitado não só o intercâmbio de informações mas a conquista de parceiros para este projeto, que visa o desenvolvimento de componentes para o domínio agropecuário. Em parceria com o grupo de Engenharia de Software da COPPE/Sistemas da UFRJ estamos desenvolvendo um conjunto de componentes de software voltados para o domínio agropecuário, utilizando a metodologia Odyssey-DE (Braga et al., 1999) e a infraestrutura de reutilização Odyssey (Werner et al., 2002) e a Embrapa Gado de Leite e de empresas desenvolvedoras de software no setor agropecuário estamos validando estes componentes e fazendo uso dos mesmos em aplicações.

O artigo está dividido em 4 seções, além desta introdução. Na seção 2 descrevemos brevemente o desenvolvimento baseado em componentes - DBC, os modelos, metodologias e técnicas utilizadas. Na seção 3 apresentamos o modelo adotado no projeto, um exemplo de componente, a infraestrutura Odyssey e o uso do componente numa aplicação. Finalmente, na seção 4, apresentamos nossas considerações finais.

2. DESENVOLVIMENTO BASEADO EM COMPONENTES

Para Braga (1999) componentes de software reutilizáveis são artefatos autocontidos, claramente identificáveis, que descrevem ou realizam uma função específica e têm interfaces claras em conformidade com um dado modelo de arquitetura de software, documentação apropriada e um grau de reutilização definido.

A abordagem de desenvolvimento através da integração de componentes enfatiza a busca, seleção e adaptação de componentes em todas as fases de desenvolvimento para a construção de uma aplicação específica. O DBC procura elevar o nível das atividades envolvidas no desenvolvimento de software, visando a solução de um problema através da composição de partes reutilizáveis que possam ser conectadas umas às outras. Essa visão tem se mostrado muito importante por focar os serviços prestados pelos componentes separadamente de seus detalhes de implementação, maximizando a reutilização e evitando o uso de informações não significativas durante a montagem da arquitetura.

Na literatura encontramos vários métodos que apóiam o desenvolvimento baseado em componentes. Neste projeto adotamos a metodologia UML Components (Cheesman e Daniels, 2001), que utiliza elementos da UML para especificar os diversos conceitos de componentes, suas interações e suas integrações, além dos vários modelos de artefatos envolvidos na modelagem de componentes.

3. COMPONENTES PARA O SETOR AGROPECUÁRIO

A partir de uma ontologia para o setor de software agropecuário (Coelho et al., 2000, Procaci et. Al., 2002) e contanto com apoio de especialistas do domínio da Embrapa Gado de Leite (www.embrapa.com.br ) e da empresa Vale Verde Assessoria Agropecuária & Informática (www.valeverde.com.br ), são selecionados componentes com maior potencial de reuso em produtos do setor, tanto de software de gerenciamento e controle quanto aos produtos dedicados a área de rastreabilidade. Para o desenvolvimento dos componentes, foram adotadas as seguintes etapas principais:

1. construção de componentes de negócio;

2. disponiblização dos componentes em um repositório de componentes no ambiente Odyssey;

3. especificação de uma aplicação para integrar estes componentes e mostrar o funcionamento dos mesmos em conjunto.

O ambiente Odyssey tem como objetivo construir uma infra-estrutura de reutilização baseada em modelos de domínio com suporte ao desenvolvimento baseado em componentes. O Odyssey proporciona também o armazenamento, busca e recuperação destes componentes reutilizáveis.

(3)

O desenvolvimento dos componentes para o repositório teve início com o setor leiteiro, objetivando o maior controle dos dados referentes aos animais, suas lactações, pesagens do leite e o descarte, apresentados neste trabalho como exemplo, sendo que outros setores do domínio já tiveram componentes desenvolvidos e validados. Foi desenvolvido também um componente de suporte, genérico o suficiente para ser reutilizado em qualquer domínio e aplicação, que é o componente de Banco de Dados. Os componentes foram desenvolvidos na linguagem de programação Delphi (Borland, 2003).

A seguir apresentamos as principais etapas do processo de desenvolvimento descrito. O processo de modelagem e documentação dos componentes tem início com o diagrama do Modelo Conceitual de Negócio, que mostra os conceitos e identifica os relacionamentos existentes no domínio do problema (Figura 1). Vaca brinco Lactação Pesagem Motivo 1 n n n 1 1

FIGURA 1: Diagrama do modelo conceitual de negócio para controle leiteiro.

O modelo de casos de uso descreve as iterações entre o usuário e o sistema e é apresentado na forma de diagrama e descrição textual, onde são detalhados os passos. O modelo de tipo de negócio representa precisamente as informações do negócio que são relevantes para o desenvolvimento de aplicativos no domínio como apresentado na Figura 2.

1 * 1 * 1 * <<Type>> Vaca Brinco: Integer Nome: String Dt_Nasc: DateTime Raça: String InsereDados() <<Type>> Lactação NumLac: Integer Dt_Inicio: DateTime Dt_Fim: DateTime AbreLactacao() FechaLactacao() <<Type>> Pesagem Dia: DateTime 1Pesagem: Real 2Pesagem: Real Gordura: Real Proteína: Real CCS: Real InserePesagem() <<type>> Motivo Descrição: String NumMotivo: Integer InsereMotivo()

FIGURA 2: Diagrama de tipo de negócio.

Após a definição das interfaces, etapa fundamental para o DBC e conseqüente reuso dos componentes são documentadas as interfaces em pacotes, onde cada pacote contém a interface em si e os tipos associados

(4)

A arquitetura de componente nos mostra como os componentes de interagem. Mostrando as interfaces providas e requeridas de cada componente (Figura 4).

Uma outra etapa deste trabalho é colocar as especificações dos componentes no ambiente Odyssey (Figura 5), que é um projeto de pesquisa desenvolvido pela COPPE/UFRJ. O Odyssey é uma ferramenta que tem como objetivo construir uma infra-estrutura de reutilização baseada em modelos de domínio que forneça suporte ao desenvolvimento baseado em componentes (Werner et al., 2002).

GerenteLactac <<interface type>> ILactação CriaPeriodo() FechaPeriodo() <<type>> Lactação NumLac: Integer Dt_Inicio: ateTime Dt_Fim:DateTime AbreLactacao() <<type>> Pesagem Dia: DateTime 1Pesagem: Real 2Pesagem: Real Gordura: Real Proteína: Real CCS: Real InserePesagem() <<type>> Vaca Brinco: Integer Nome: String Dt_Nasc: DateTime Raça: String InsereDados() <<type>> Motivo Descrição: String NumMotivo: integer InsereMotivo()

FIGURA 3: Pacote de especificação de interface – ILactacao.

ILactacao <<comp spec>> GerenteLactacao IBanco de Dados <<comp spec>> GerenteBancoDeDados IVaca <<comp spec>> GerenteVaca

(5)

FIGURA 4: Especificação da Interface ILactação na infraestrutura Odyssey.

Uma aplicação foi desenvolvida para integrar esses componentes e mostrar o funcionamento dos mesmos em conjunto. A arquitetura da mesma é mostrada na figura 5.

8 G G 3 R GerenteLactação CriaPeriodo() FechaPeriodo() L P erenteVaca InsereVaca() SolicitaVaca() GerenteBancoDeDados rava() Recupera() Atualiza() E Q () B d 1LancamentoPesagem() Grava() 6 Recupera()

7 Retorna dados lactação

5 Retorna o objeto solicitado 2SolicitaVaca() 4 Retorna dados da vaca ecupera()

FIGURA 5: Arquitetura da aplicação.

3. CONSIDERAÇÕES FINAIS

O domínio agropecuário tem feito grandes investimentos em tecnologia. Com o crescimento do comércio de animais entre rebanhos e principalmente entre países há preocupação com a implementação de sistemas de identificação, registro e controle da produção, fatores decisivos para o planejamento e gestão da melhoria da produtividade e da qualidade de produtos e do monitoramento sanitário dos rebanhos. Por conta da tendência histórica da região na produção leiteira, utilizamos o sub-domínio controle leiteiro. Atualmente estamos desenvolvendo componentes relacionados a rastreabilidade.

(6)

Neste trabalho, apresentamos o desenvolvimento de uma biblioteca de componentes para o domínio agropecuário. Utilizamos as metodologias Odyssey-DE e UML Components nas diversas etapas inerentes ao desenvolvimento de componentes. Ao longo de todo o processo, contamos com as parcerias da Embrapa Gado de Leite, empresas desenvolvedoras no setor, núcleo Agrosoft e o grupo de reutilização da COPPE/UFRJ.

O respositório de componentes está em constante evolução. Juntamente com a ajuda de nossos parceiros estamos definindo novas linhas de atuação, através da escolha de novos componentes a serem desenvolvidos ou evoluídos.

4. AGRADECIMENTOS

Agradecemos aos pesquisadores da Embrapa Gado de Leite, aos especialistas da empresa Vale Verde Assessoria Agropecuária & Informática pelo trabalho em especificar e validar o domínio e ao CNPq pelo financiamento parcial do projeto.

5. REFERÊNCIAS BIBLIOGRÁFICAS

BRAGA, R.; WERNER, C., Odyssey-DE: “Um Processo para Desenvolvimento de Componentes Reutilizáveis”, X CITS , Curitiba, Maio 1999.

CHEESMAN, J., DANIELS, J., 2001, UML Components – A simple Process for Especifying Component-Based Software. Addison Wesley Longman.

COELHO, F.,CAMPOS,F.,BRAGA,R.M. Metodologia de Avaliação de Software Agropecuário - Proposta de uma Ontologia para o Setor In: Infoagro 2000 Infoagro 2000. ,2000. v.1.

PROCACI, A.; ALVES, J.W.; BRAGA, R.M.M.; CAMPOS, F. C., SBS-Agro: Sistema de Busca Utilizando Ontologias e Retorno do Usuário, XXVIII Conferência Latino Americana, Uruguai, novembro 2002.

WERNER, C., et alli. OdysseyShare: um ambiente para o desenvolvimento cooperativo de componentes In: XVI Simpósio Brasileiro de Engenharia de Software, 2002,Gramado/RS., Caderno de Ferramentas do XVISBES. SBC, 2002. p.444 – 449

Referências

Documentos relacionados

Nessa situação temos claramente a relação de tecnovívio apresentado por Dubatti (2012) operando, visto que nessa experiência ambos os atores tra- çam um diálogo que não se dá

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a

Promptly, at ( τ − 2 ) , there is a reduction of 4.65 thousand hectares in soybean harvested area (statistically significant at the 1% level), an increase of 6.82 thousand hectares

Hoje o gasto com a saúde equivale a aproximada- mente 8% do Produto Interno Bruto (PIB), sendo que, dessa porcentagem, o setor privado gasta mais que o setor público (Portal

Para atingir este fim, foram adotados diversos métodos: busca bibliográfica sobre os conceitos envolvidos na relação do desenvolvimento de software com

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

Com intuito, de oferecer os gestores informações precisas atualizadas e pré-formatas sobre os custos que auxiliem nas tomadas de decisões corretas, nos diversos