agrojava: sistema de gestão para pequenas propriedades rurais

Propaganda
AGROJAVA: SISTEMA DE GESTÃO PARA PEQUENAS
PROPRIEDADES RURAIS
WEBER, Fernando Arthur1
Resumo
A necessidade de alimento no mundo aumenta a cada dia, o que implica em constantes
melhoramentos na produção agrícola. Nos últimos anos, teve-se uma intensificação do
cultivo, que buscou aliar técnicas de aperfeiçoamento genético à relação custo beneficio. Este
trabalho descreve a implementação bem como a funcionalidade de um sistema de gestão para
pequenas propriedades rurais, denominado AgroJava.
Palavras-Chave: Java. Agricultura. Desenvolvimento de Software.
Abstract
The need for food in the world increases every day, which implies constant improvements in
agricultural production. In recent years, there has been an intensification of cultivation, which
sought to combine techniques of genetic improvement to cost benefit. This paper describes
the implementation and the functionality of a management system for small farms, named
AgroJava.
Keywords: Java. Agriculture. Software Development.
Introdução
Há alguns anos atrás o meio de incremento na produtividade agrícola era a expansão
de novas áreas, porém essa expansão está praticamente esgotada, uma vez que não há mais
áreas livres para a agricultura se expandir. E agora, a produção de alimentos para de crescer?
A resposta da pergunta anterior é negativa. A produção de alimentos não vai parar de
crescer. No entanto, é necessário o desenvolvimento de novos métodos de cultivo e gestão,
que aperfeiçoem a produtividade nas áreas atuais. Para obter tal otimização, alguns fatores são
indispensáveis, como, por exemplo, a revisão da política de gestão financeira.
Ainda hoje grande parte dos pequenos produtores rurais, não realiza um
acompanhamento detalhado da gestão da safra, seja por falta de conhecimento, interesse ou
recursos. Outros o fazem manualmente, o que sujeita a realização de cálculos imprecisos entre
outras dificuldades como a organização e o armazenamento das informações. O AgroJava é
1
Graduando em Ciência da Computação pela Universidade Unicruz, Cruz Alta, RS Brasil (2014).
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
1
um sistema que foca nessa linha de gestão, com o propósito de facilitar o gerenciamento de
pequenas áreas de terras, permitindo a partir da análise dos relatórios encontrar informações
detalhadas, que possibilitam um melhor planejamento para o pequeno agricultor.
Este artigo está organizado como segue. A Seção das tecnologias utilizadas descreve
as características básicas das tecnologias empregadas no desenvolvimento do AgroJava. A
seguir temos a metodologia utilizada no desenvolvimento do trabalho. A próxima seção
delineia os problemas que foram enfrentados. Finalmente, ultima seção apresenta as
considerações finais e os trabalhos futuros.
Tecnologias Utilizadas
Para o desenvolvimento do sistema AgroJava, foram utilizadas diversas tecnologias.
A linguagem de programação Java foi escolhida, devido a sua simplicidade, robustez e
portabilidade. Para o gerenciamento do banco de dados, o PostgreSQL foi selecionado, pois
apresenta código aberto e desfruta de alta performance. Para a criação dos relatórios o pos foi
empregado, pois possibilita a criação de documentos que podem ser exportados por meio de
aplicações Java. A seguir essas tecnologias são descritas.
Java
Java é uma linguagem computacional completa, adequada para ao desenvolvimento
de aplicações baseadas na rede Internet, redes fechadas ou ainda programas com aplicações
locais (CAMPIONE, 1996).
A linguagem Java foi criada em 1991, por um pequeno grupo de programadores na
Sun Microsystems, liderados por James Gosling e Patrick Naughton. Ela foi projetada
inicialmente para a utilização em bens de consumo tais como televisores, fornos de
microondas e agendas eletrônicas. Tinha em sua base a simplicidade para a compatibilidade
em uma variedade de tipos de hardware. Mas foi no ramo de applets para a Internet que ela
disparou (HORSTMANN, 2004).
Um fator muito atrativo na linguagem Java é a sua simplicidade, ponto forte quando
comparado ao seu rival C++, além da possibilidade da utilização de inúmeras bibliotecas que
possibilitam escrever os mais diversos tipos de programas, além de aplicações para web com
o Java Server Pages (JSP). Java foi projetado com o objetivo de ser seguro e portátil, perfeito
para a Internet.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
2
Com isso, a linguagem conseguiu uma grande popularização, passando a ser muito
utilizada na construção de páginas web que permitam maior interatividade. Os principais
navegadores web disponíveis comercialmente passaram a dar suporte aos programas Java, e
outras tecnologias em áreas como computação gráfica e banco de dados também buscaram
integrar-se com o novo paradigma proposto pela linguagem: aplicações voltadas para o uso de
redes de computadores (FREE JAVA, 2009).
Atualmente, a linguagem Java é o elemento que impulsiona grandes avanços como o
acesso remoto a bancos de dados, o comércio eletrônico, a interatividade em páginas da web,
ensino a distância, integração de dados, gerenciamento de documentos além de lazer e
diversão tanto em desktops como em meios portáteis.
A linguagem de programação Java caracterizasse de diversas maneiras, uma delas é a
simplicidade que ela oferece, possibilitando o desenvolvimento de sistemas em diferentes
plataformas e arquiteturas de hardware, aliado a robustez, segurança e o fornecimento de um
código interpretável. (CAMPIONE, 1996).
PostgreSQL
O PostgreSQL é um sistema Gerenciador de Banco de Dados – SGBD de código
aberto, que desfruta de alta performance e de fácil administração e utilização em projetos
(PEREIRA NETO, 2007).
As principais características do PostgreSQL são: a recuperação automática após
crash do sistema, um atuante controle de concorrência de multi-versão – MVCC que
minimiza a paralisação do sistema por meio do gerenciamento de tarefas, onde os processos
de escrita não bloqueiam os de leitura e vice-versa. Além disso, o backup que pode ser
realizado online (FERREIRA, 2004).
Por ser uma linguagem de código aberto, o PostgreSQL é o SGBD que oferece o
mais baixo custo total de propriedade, além de administração, suporte e licenciamento,
mesmo assim oferecendo alta performance e confiabilidade (FERREIRA, 2004).
Ireport
O iReport é uma ferramenta de código aberto que possibilita ao seu usuário criar
visualmente os mais complexos relatórios para aplicações Java, dentro do formato da
biblioteca JasperReports. O programa é totalmente escrito em Java, portanto também é
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
3
multiplataforma, além da disponibilidade do código fonte por ser um sistema de código aberto
– Open Source (TIFFOLI, 2011).
Por meio da interface gráfica simplificada o desenvolvedor é capaz de desenvolver
qualquer tipo de relatório de forma rápida e simples, obtendo seus relatórios em XML,
formato utilizado pela biblioteca JasperReports.
BrModelo e Astah Community
O modelo conceitual chamado de diagrama de Entidade e Relacionamento é um
modelo fácil de compreender até para o cliente, ele contém as propriedades do futuro software
por meio de entidades e os relacionamentos entre elas (LUIS, 2010). O modelo conceitual do
AgroJava foi desenvolvido na ferramenta brModelo2. O brModelo é um software gratuito de
modelagem de banco de dados, desenvolvido por Carlos Henrique Cândido no ano de 2007.
Segundo Ivan Jacobson os casos de uso são uma técnica de modelagem onde se
utiliza de documentos que narram os eventos de um ator para realizar um processo, sendo o
ator algo externo ao sistema como, por exemplo, um proprietário. Para o AgroJava os casos de
uso foram desenvolvidos no Astah Community3. Esse possui uma versão gratuita para
estudantes. Caracterizada pela sua funcionalidade em diversas plataformas como Mac,
Windows e Linux, e proporciona ao usuário uma experiência de modelagem simples e
dinâmica (ASTAH, 2011).
Metodologia
O desenvolvimento de um software envolve uma série de fatores fundamentais,
necessários para alcançar o sucesso. O passo inicial, para atingir esse objetivo, é a realização
de um adequado levantamento de requisitos. Para o sistema AgroJava não foi diferente, essa
tarefa foi realizada por meio da análise de documentos e da entrevista com um proprietário
rural. Nesse processo foram obtidos os requisitos e a situação atual da propriedade. O modelo
conceitual foi criado na sequência, seguido dos casos de uso. A partir desse momento, a
implementação na linguagem Java iniciou, dando início ao sistema, que ao longo do processo,
agrega suas funcionalidades. A par da implementação do código, ocorre uma remodelagem
2
http://www.sis4.com/brModelo/
3
http://astah.net/editions/community/
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
4
que afetou todo o sistema. Finalmente, por meio do desenvolvimento os relatórios conclui a
parte projetada do sistema, contudo um sistema que é utilizado sempre estará sendo
incrementado e aperfeiçoado.
Levantamento De Requisitos
Os requisitos são características de um sistema. São as funções e restrições
necessárias para que o mesmo possa atingir seus objetivos. Os requisitos são subdivididos em
dois grupos, os requisitos funcionais e os não funcionais (PAULA FILHO,2007).
Os requisitos funcionais ligam-se diretamente ao software, descrevendo as suas
funções. Os requisitos não funcionais exprimem algumas condições para o sistema, como por
exemplo, a plataforma que o software deve ser desenvolvido (PAULA FILHO, 2007).
O processo de levantamento de requisitos consiste na busca de informações, que
serão úteis no futuro desenvolvimento de um software, durante esse procedimento que são
definidos os serviços do sistema bem como o problema a ser resolvido (PAULA FILHO,
2007). Existem diversas técnicas de levantamento de requisitos, no desenvolvimento do
AgroJava, foram empregadas duas técnicas principais, a entrevista e a análise de documentos.
A análise de documentos consiste na observação de um documento qualquer para a
obtenção de requisitos, esse documento pode ser uma impressão deixada num objeto físico
por um ser humano. Pode apresentar-se em várias formas como fotografias, filmes e impressa,
que é a forma mais comum (BELL, 1993). No levantamento de requisitos do AgroJava, foi
realizada a análise de notas fiscais de entrega e venda dos cereais, bem como algumas
anotações feitas pelo proprietário da área de terra.
A entrevista é a técnica que coleta requisitos por meio de conversas, realizadas com o
usuário do software a ser desenvolvido, obtendo informações bem como restrições do sistema
(PAULA FILHO,2007). Para o desenvolvimento do sistema AgroJava, a entrevista ocorreu
com um produtor rural, que por meio de um questionário apresentou a atual situação da
propriedade, seu funcionamento, descrito na sequência.
Descrição Do Processo Atual
O proprietário Renir Weber possui uma área de terra, denominada Granja Beira Rio.
Essa área de terra possui nove hectares, uma matrícula que é individual e única, cujo numero
é 1683.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
5
O decorrer da safra implica em vários gastos para o proprietário, tais como despesas
com máquinas, gastos com a aplicação de defensivos, insumos, mão de obra, colheita,
transporte e plantio. Sendo que cada gasto possui um valor específico.
Na sua área de terra, o proprietário pode cultivar no máximo uma cultura por vez,
mesmo que uma cultura pode ser cultivada em mais de uma área de terra simultaneamente.
Sobre essa cultura tem se o nome, uma descrição, a data de plantio, além da data de colheita.
Ao fim do ciclo, essa cultura é colhida, entregue a uma empresa que possua nome e
CNPJ. Ao entregar sua produção, será armazenada a data de entrega, a quantidade em sacas.
Em outra ocasião o proprietário irá realizar o faturamento e assim chegar ao valor total da
venda.
O sistema de gestão de pequenas propriedades AgroJava, visa informatizar esse ciclo,
a fim de promover um melhor acompanhamento das áreas de terras do proprietário. Esse
software proporciona um gerenciamento claro e objetivo, que auxilia na visualização dos
gastos, tornando possível a sua otimização e o consequente aumento dos lucros.
Modelo Conceitual e os Casos de Uso
O modelo conceitual é a primeira forma de transmitir os requisitos de um sistema,
para uma abordagem de modelagem de dados. No sistema AgroJava, o modelo conceitual foi
criado, baseado na descrição obtida no processo atual da pequena propriedade. Durante o
desenvolvimento do software, surgiu a necessidade de alteração, de algumas entidades do
modelo, que refletiram em mudanças em todo o sistema, melhor descritos na seção problemas
enfrentados.
Os casos de uso representaram maior dificuldade na elaboração, pois representam as
interações do sistema com o ambiente externo, que no momento, não estavam totalmente
definidos. Devido a isso receberam adaptações durante o processo de reestruturação do
sistema.
Visão Geral Do Sistema
A estrutura utilizada para o desenvolvimento do sistema AgroJava, segue o padrão
MVC (Model View Control – Modelo Visão Controle) que orienta a implementação do
software, dividindo-o em pacotes, separando a camada de visão da camada de controle e da
camada de modelo. Dessa forma é possível realizar alterações no layout sem que a
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
6
manipulação dos dados seja afetada, bem como o caminho inverso, os dados podem ser
reorganizados sem que o layout seja alterado (GUPTA, 2010).
A Figura 1 apresenta a arquitetura do sistema que possui cinco componentes
principais:
Modelo: o modelo possui as classes referentes a cada tabela do banco de dados;
Controle Modelo: contem as ações relativas ao banco de dados como adicionar, alterar,
excluir e consultar;
Útil: representa a adaptação de dados por meio de conversores, por exemplo, a data;
Controle Visão: controla os eventos ocorridos na tela, a partir da interação do usuário perante
o sistema;
Visão: representam os views, as telas do sistema;
Figura 1. Arquitetura do sistema AgroJava.
A estrutura do sistema representada na Figura 1, demostra o relacionamento entre os
componentes. A componente visão realiza uma interação, representada pela seta de duplo
sentido, ligando-o ao componente controle visão.
Além desse relacionamento o controle
visão interage com o controle modelo e com o modelo. O componente útil só é relacionado
com o controle modelo, pois atua na conversão de datas.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
7
O padrão de telas do AgroJava visa estabelecer um ambiente que seja agradável, mas,
sobretudo funcional e prático, por meio de mensagens, auxilia o usuário na inserção dos
dados, informando-o se houver algum problema com o preenchimento dos campos. Existem
dois padrões de telas principais: listagens e manutenções.
Figura 2. Tela de Listagem.
As telas de listagem do AgroJava seguem o padrão da Figura 2. Nela é possível
visualizar os dados, ordená-los, filtrá-los, exclui-los e ainda ser direcionado para a inserção e
alteração de dados.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
8
Figura 3. Tela de Manutenção.
As telas de manutenção possuem uma interface muito simplificada no padrão da
Figura 3, que possibilita a adição e a alteração dos dados. O primeiro campo, o código, não
pode ser acessado pelo usuário, pois é gerado automaticamente por meio de uma sequência no
banco de dados. O sistema ainda valida o preenchimento de campos obrigatórios informando
mensagens explicativas, conforme a Figura 4.
Figura 4. Mensagem de Aviso.
A Figura 4 mostra uma mensagem de alerta, informando ao usuário que o campo
quantidade de sacas não foi preenchido, embora seu preenchimento seja obrigatório. Além das
mensagens de aviso, o AgroJava possui em seu código um comando que define o botão
adicionar como padrão, dessa forma quando a tecla enter foi acionada, uma inserção será
realizada, agilizando o processo. Esses requisitos foram incorporados no sistema de modo a
torna-lo fácil de utilizar e prático, a fim de que ele realmente seja utilizado pelo pequeno
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
9
produtor. Um sistema que exija a entrada de muitas informações ou que possua uma interação
complicada com o usuário possivelmente seria rejeitado pelo pequeno produtor.
Figura 5. Relatório das Entregas.
O sistema AgroJava, tem em sua ementa a elaboração de relatórios. Na Figura 5,
observa-se o relatório das entregas de todas as áreas de terras, contendo a data e a quantidade
de sacas, obtendo-se ao final o total de sacas entregues. Além do relatório das entregas, o
AgroJava fornece o relatório das vendas e dos gastos. Possui inclusive filtros, o que
possibilita a seleção detalhada, como, por exemplo, filtrar os gastos de determinado período
de tempo.
Problemas Enfrentados
No desenvolvimento de softwares em geral, surgem dificuldades, como em qualquer
tarefa do cotidiano. Essas dificuldades ou problemas possuem diversas explicações ou causas.
Durante o desenvolvimento do sistema AgroJava, entre os principais problemas citam-se o
levantamento de requisitos, a elaboração dos casos de uso e a reestruturação do sistema.
Certamente o levantamento de requisitos é a essência de um software, portanto se ele
não for realizado corretamente, o software permanecerá carente de funcionalidades ou com
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
10
consecutivos erros. Esses erros são os bugs, falhas do sistema que podem ocasionar a perda de
informações.
No desenvolvimento do AgroJava a dificuldade no levantamento de requisitos surgiu
devido à baixa quantidade de informações sobre as áreas de terras, pois a maioria dos
proprietários rurais não realiza um acompanhamento direto, registrando as entradas e saídas
durante o período de cultivo, apenas analisam o montante após a safra. Além da dificuldade na
interpretação dos termos utilizados pelo proprietário, que tiveram que ser entendidos pelo
analista. Perante essas barreiras enfrentadas, a falta de requisitos foi saciada por meio da
análise de algumas notas fiscais de entrega e venda, bem como uma entrevista com um
proprietário.
No início, durante a modelagem dos casos de uso do sistema AgroJava, os atores,
elementos que interagem com o sistema, não estavam completamente definidos. Pois não
havia um modelo estabelecido anteriormente. Isso gerou a necessidade da remodelagem dos
casos de uso, após o término da implementação obtendo assim uma nova versão.
A reestruturação do sistema AgroJava, ocorreu dentro do último mês de trabalho.
Nessa reestruturação ocorreram mudanças no modelo conceitual, que ocasionaram a extinção
de uma entidade chamada cultura, e a revisão dos demais atributos. Com essas mudanças
houve um efeito cascata passando pelo banco de dados, atualizando-o por meio da remoção da
tabela cultura e da adição de algumas chaves estrangeiras. E por fim alcançando o código da
linguagem de programação Java concluindo o processo de reestruturação.
Considerações Finais
A informatização da gestão agrícola é uma área que possui grande horizonte a ser
expandido. Oferecendo interesse a ambos os lados. Para a agricultura, ocasiona uma
otimização dos gastos, que quando bem direcionados melhoram os rendimentos. Para a
informática é um mais um campo de trabalho, que oferece oportunidades aos mais diversos
profissionais.
Com o intuito de saciar algumas necessidades do setor, o sistema AgroJava foi
desenvolvido. Esse desenvolvimento ocasionou grande aprendizado no domínio da linguagem
Java, bem como sua integração com o banco de dados, portanto obtendo um resultado
positivo, agregando conhecimento.
Logo este trabalho, sugere uma solução tecnológica para o gerenciamento agrícola,
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
11
possibilitando uma visão mais ampla, sobre alguns custos que ocasionalmente passam
despercebidos. O AgroJava incentiva os produtores rurais a praticar o gerenciamento de uma
forma mais dinâmica e objetiva.
Após a conclusão do sistema projetado, verificaram-se alguns novos requisitos, como
a necessidade de um controle por safra. Devido a que no sistema atual o controle é realizado
pela data do gasto e não da safra a que pertence, com o intuito de retornar um relatório
contendo o lucro final obtido. Além do gerenciamento das máquinas envolvendo a sua
depreciação, contabilizada juntamente com os gastos. Esses novos requisitos, serão
implementados como trabalhos futuros.
Referências
ASTAH (Org.). Simplicity, Quality, and Community are our three greatest priorities.
Disponível em: <http://astah.net/company>. Acesso em: 5 nov. 2011.
BELL, J. Como realizar um projecto de investigação. 3. ed. Lisboa: Gradativa, 1993.
CAMPIONE, Walrath. The Java Tutorial: Object-Oriented. 1996.
FERREIRA, Adriana. Principais Características do PostgreSQL. Disponível em:
<http://www.sqlmagazine.com.br/Artigos/Postgre/01_Caracteristicas.asp>. Acesso em: 4 nov.
2011.
FREE, Java. Tutorial Java. Disponível em: <http://javafree.uol.com.br/artigo/871498>.
Acesso em: 03 nov. 2011.
GUPTA, Praveen; GOVIL, Prof. M.c. MVC Design Pattern for the multi framework
distributed applications using XML, spring and struts framework. Rajasthan, India:
International Journal On Computer Science And Engineering, 2010.
HORSTMANN, Cay. Big java. Bookman, 2004.
LUIS. Modelagem de dados: modelo conceitual, modelo lógico e físico. Disponível em:
<http://www.luis.blog.br/modelagem-de-dados-modelo-conceitual-modelo-logico-efisico.aspx>. Acesso em: 5 nov. 2011.
PEREIRA NETO, Álvaro. PostgreSQL: Técnicas avançadas – soluções para o
desenvolvimento e administração de banco de dados. São Paulo: Érica, 2007.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
12
PAULA FILHO, Wilson de Pádua. Alguns fundamentos da Engenharia de Software. A:
Corpo Editora, 2007.
TOFFOLI,
Giulio.
Getting
Started.
Disponível
em:
<http://jasperforge.org/website/ireportwebsite/IR%20Website/ir_getting_started.html?header
=project&target=ireport>. Acesso em: 5 nov. 2011.
Revista Interdisciplinar de Ensino, Pesquisa e Extensão, vol.1 n°1
13
Download