desenvolvimento de software para auxiliar no gerenciamento de

Propaganda
Desenvolvimento de Software para Auxiliar no
Gerenciamento de Pequenas Propriedades Leiteiras na
Região da Cantuquiriguaçu
Leandro Pinheiro¹, Regiane Orlovski²
Faculdade Guairacá
Rua XV de Novembro, nº7050 – Centro - Guarapuava - PR.
¹[email protected], ²[email protected]
Abstract. This work want to develop a software that manages the production
process of small dairy farm, in this process was used JAVA programming
language with the OpenSwing framework for the management of the data
base was
used SGBD MYSQL. The studywas developed
in
the Cantuquiriguaçu region, which consists in an association of twenty
cities located in the middle MidWest of Paraná, where milk production is an
important economic activity, the result of this work was a software able
to manage the productive sector of these farms.
Resumo. Este trabalho tem o objetivo de elaborar um software que gerencia o
processo produtivo de pequenas propriedades leiteiras. Neste
desenvolvimento foi utilizado a linguagem de programação JAVA junto com o
framework OpenSwing, para o gerenciamento do banco de dados foi utilizado
o SGBD MYSQL. O estudo do foi desenvolvido junto à região da
Cantuquiriguaçu, que consiste em uma associação composta por 20
municípios localizada no Médio Centro Oeste do Paraná, onde a produção
leiteira tem importante papel econômico, a resultante deste foi um software
capaz de gerenciar o setor produtivo dessas propriedades.
1. Introdução
A necessidade do acompanhamento das constantes inovações tecnológicas em todos os
setores da economia nacional faz com que cada vez mais os pequenos produtores
leiteiros necessitem de ferramentas que auxiliem no gerenciamento de sua propriedade,
melhorando o controle de custos e, consequentemente, aumentando os lucros.
Um software de gerenciamento permite ao produtor ter o controle sobre o
processo produtivo de sua propriedade e, dessa forma, saber onde estão as maiores
perdas, podendo assim minimizá-las, aumentando sua produtividade e tornando-se mais
competitivo.
O processo de produção leiteiro possui diversas variáveis e muitas delas
dependem da posição geográfica da propriedade, fazendo-se necessária uma ferramenta
gerencial desenvolvida especificamente para cada região através de um estudo
preliminar sobre as necessidades da região que será atendida pelo software. Este estudo
deve seguir padrões de projeto de software para que, ao final, possa expressar a real
necessidade administrativa das pequenas propriedades em que será implantado.
Este trabalho tem o objetivo de desenvolver um software para auxiliar a
pequenos produtores leiteiros no gerenciamento de suas propriedades, através de análise
de custos de produção para assim diminuir percas.
2. Desenvolvimento
2.1 Fundamentação Teórica
Devido à evolução tecnologia em que vivemos diversos segmentos de mercado estão
investindo em tecnologias, que auxiliam no gerenciamento de custos e na tomada de
decisões. No setor agropecuário isso não é diferente, sendo necessário ao produtor
investir nessas tecnologias para melhorar o gerenciamento dos processos produtivos
existentes na propriedade.
“Com a evolução da tecnologia e a busca por adquirir produtos de melhores
qualidades, o produtor rural necessita desenvolver cada vez mais técnicas na produção e
também no gerenciamento financeiro de sua propriedade”. Segala & Silva (2007).
Segundo Oliveira (2012), a produção leiteira na região da Cantuquiriguaçu vem
aumentando significativamente nos últimos anos, o que aumenta a dificuldade na gestão
das pequenas propriedades, sendo importante um software que possa auxiliar esses
produtores neste processo. Este crescimento pode ser visualizado no gráfico1 que
representa os rendimentos financeiros da produção leiteira de 10 dos 20 municípios
estudados entre os anos de 2004 a 2011, embasado em dados contidos no Anexo A.
Gráfico 1: Produção Anual.
Fonte: Oliveira (2012)
Segundo Marion & Segatti (2006), um sistema de gestão de pequenas
propriedades leiteiras é importante, pois estas fazem parte significativa do cenário
econômico do país, o processo de desenvolvimento deste software deve utilizar - se
além da análise de requisitos a integração de produtores, profissionais agropecuários
(agrônomos, veterinários, por exemplo) e profissionais de tecnologia, facilitando a
adequação do software às necessidades das propriedades atendidas.
Para Oliveira (2012), no âmbito regional essas propriedades têm sua importância
aumentada, pois elas movimentam o comércio local devido ao fato de recebem
mensalmente pela produção o que não ocorre em muitas outras culturas agropecuárias
da região.
Ainda segundo Oliveira (2012), outro ponto considerável na viabilidade da
elaboração do projeto é o fato de que a produção leiteira no ano de 2010 foi a segunda
maior entre 10 dos 20 municípios estudados, perdendo apenas para o cultivo da soja,
representando 12,6% de toda a produção agrícola da região, que corresponde a um total
de R$ 112.070.800,00, valor este em sua maioria dissolvido mensalmente no comércio
local, impulsionando o desenvolvimento dessas cidades. O gráfico 2 demonstra o
percentual produtivo que as principais culturas agrícolas representam na região,
reforçando as informações citadas acima, este tem por base dados contidos no Anexo B.
Gráfico 2: Produção por cultura no ano de 2010.
Fonte: Oliveira (2012)
Para Oliveira (2012) um software desta natureza auxilia o controle de custos do
processo produtivo, controle este necessário pelo fato de que a grande maioria das
propriedades da região em estudo tem base na agricultura familiar e não dá a
importância devida a processos de gestão, muitas vezes por serem complexos e
demorados, outras vezes pela falta de conhecimento sobre o assunto e em outras
situações a falta de condições financeiras para contratar equipe especializada, o que
acaba inviabilizando o processo de gestão.
Para Arêdes et al. (2006), o acompanhamento adequado dos custos da produção
leiteira causa uma diminuição no custo médio da produção, aumentando assim a
lucratividade da atividade produtiva.
Segundo Oliveira (2012), este software tem importante papel no gerenciamento
dos custos da produção, podendo assim o produtor separar o que são custos do processo
produtivo do que são custos pessoais, é comum nessas propriedades não haver essa
separação.
Para Santos et al. (2002), citado por Marion & Segatti (2006), a propriedade
deve ser divida em três grupos, Centros de Produção, Centros Auxiliares à Produção e
Centros Administrativos. Esta divisão para Marion & Segatti (2006), proporciona maior
controle sobre os custos da propriedade, podendo-se separar custos pessoais dos custos
de produção.
Outra função do software desenvolvido é o dimensionamento do rebanho, tarefa
essa que auxiliará ao produtor projetar investimentos na propriedade, com base no
rebanho futuro e nas expectativas de renda.
Para Lopes et al. (2006) o dimensionamento do rebanho é importante para as
projeções da propriedade, e através desse pode-se planejar investimentos, manutenção e
ampliação de equipamentos e instalações bem como mão de obra. Ainda segundo Lopes
et al. (2006), dimensionamento do rebanho consiste basicamente em classificar os
animais em categorias, para um melhor aproveitamento da capacidade produtiva da
propriedade, essas categorias podem ser dividas por idade.
Para o desenvolvimento do software proposto neste trabalho foi utilizado OO
(Orientação a Objetos), pela agilidade no desenvolvimento e facilidade na manutenção
do software.
Segundo Ricarte (2001), dentre as vantagens existentes na orientação a objetos
frente a outros paradigmas de programação, destacam-se o conceito de herança e o
polimorfismo. Ainda segundo Ricarte (2001), a organização do código de um software
de médio a grande porte deve ser feita separando as classes, na linguagem JAVA. Esta
ação pode ser realizada através de pacotes, pois o código-base de JAVA está assim
organizado, devendo tomá-lo como referência.
Para Gavidia (1997), a linguagem JAVA oferece diversas funcionalidades com
relação à segurança, também se torna altamente produtiva devido à OO. A linguagem é
bastante simples, e softwares desenvolvidos em JAVA, independem de Sistemas
Operacionais.
O uso de frameworks é comum entre desenvolvedores, pois estes trazem um
importante ganho de produtividade, neste trabalho foi utilizado um framework visual
para a linguagem JAVA, o OpenSwing.
As IDE’s (Integrated Development Environment ou Ambiente Integrado de
Desenvolvimento), agilizam o processo de desenvolvimento, um exemplo dessas é o
Netbeans também utilizado neste trabalho, essas IDE’s para desenvolvimento JAVA, na
sua maioria utilizam os componentes gráficos Swing Toolkit, fato este que fez com que
o framework OpenSwing fosse escolhido devido ao ganho de produtividade em relação
ao Swing.
Para Mouta (2010), o OpenSwing possui uma suíte de componentes gráficos
avançados, suporte para aplicações em 2 ou 3 camadas e aplicações stand-alone. Outro
ponto importante citado por Mouta (2010), é o fato de os componentes do OpenSwing
seguirem especificações JAVA Beans, tornando possível utilizar o mesmo em IDE´s
disponíveis para JAVA, o framework citado permite ainda criação de aplicações SDI
(Single Document Interface), ou MDI (Multiple Document Interface), os componentes
do OpenSwing são desacoplados uns dos outros, tornando fácil a edição dos mesmos de
forma independente, os componentes do OpenSwing são baseados padrão MVC (Model,
View, Controller).
Para o armazenamento dos dados foi escolhido o Sistema Gerenciador de Banco
de Dados (SGBD) MYSQL, este se trata de um software livre, com uma documentação
oficial de qualidade e disponível no idioma português, além de sites, blogs e fóruns de
discussão, com conteúdo sobre o mesmo, facilitando o aprendizado no uso da
ferramenta.
Para Caldeira (2006), o MYSQL como SGBD torna-se umas das melhores
opções devido à possibilidade de ser usado em diversos sistemas operacionais, possuir
suporte a diversas linguagens, ser uma das principais distribuições gratuitas, possui uma
comunidade ativa, documentação extensa e completa no idioma português, com um
baixo custo de implementação sem deixar de lado o desempenho.
O modelo de desenvolvimento do Sistema Gerenciador de Pequenas
Propriedades Leiteiras (SGL) seguiu o Modelo Incremental, pois esse segundo Barbosa
(2006) determina que o processo de desenvolvimento deva ser divido em partes
(módulos) e conforme esses vão sendo concluídos são entregues ao cliente, tendo assim
um contato com o software que está sendo desenvolvido. Este modelo de
desenvolvimento pode ser mais bem entendido, com o auxilio da figura 1.
Figura 1 - Modelo incremental
Fonte: Barbosa (2006)
Quanto a teste de softwares, Koscianski & Soares (2010), salientam que o
objetivo deste é identificar defeitos, esta atividade de teste se bem planejada pode ser
um indicador de qualidade do software. Ainda segundo Koscianski & Soares (2010),
uma das principais dificuldades em elaborar testes efetivos é alocar recursos para os
mesmos, sendo assim o melhor teste é o que encontra o máximo de defeitos.
Para Bartié (2002), a elaboração de testes e importante para garantir a qualidade
de software, este processo deve ser planejado com base na documentação do software,
buscando encontrar objetivos, incluindo pessoas com visões diferentes de um mesmo
problema, Bartié (2002), ainda destaca que muitas vezes a simples verificação do
código pode encontrar diversos defeitos no software.
Segundo Bartié (2002), testes de verificação são testes que tem seu foco
direcionado para a documentação do software, enquanto que testes de validação tem a
finalidade de verificar o software ou módulo pronto.
Para Koscianski & Soares (2010), os testes de verificação podem ser divididos
basicamente em teste caixa-preta e teste caixa-branca, onde o teste caixa preta consiste
em testar o software sem conhecer a construção interna do mesmo, este teste geralmente
é feito pelo usuário, quanto ao teste caixa branca este é o oposto do citado acima, ou
seja, a pessoa responsável pelo teste tem acesso a estrutura interna do software, este
teste geralmente produz melhores efeitos.
2.2 Etapas do Desenvolvimento do Trabalho
A etapa de desenvolvimento do software proposto SGL, iniciou-se pela coleta de
requisitos junto a alguns produtores, técnicos agropecuários e veterinários, estes por sua
vez foram indagados através de entrevista direta sobre o processo de gestão das
propriedades, as questões dessas entrevistas podem ser encontradas no Apêndice A.
Nestas entrevistas, procurou-se questionar os entrevistados sobre quais os pontos
importantes do processo de produção, quais as dificuldades na gestão da propriedade, o
que seria relevante para a gestão adequada dos custos da produção. Foi questionado
também se existem e quais são os projetos de gestão na propriedade e quais as opiniões
destes sobre tecnologia aplicada a sua propriedade, devido à quantidade de informações
coletadas tornarem o desenvolvimento do software um processo extenso, fato este que
inviabilizaria o mesmo, devido ao tempo existente para tal estes dados foram filtrados
visando o gerenciamento e controle do processo produtivo da propriedade.
A partir da entrevista ficou evidente o desenvolvimento voltado para gerenciar,
raças das matrizes, sêmen em estoque, inseminações, temperatura diária, volume
pluviométrico diário, matrizes, gestação, produção, alimentação, descartes de matrizes,
além de um registro de clientes, veterinários e fornecedores. Estes dados foram
escolhidos por apresentarem importância significativa no processo produtivo das
propriedades, exceto pelos registros de clientes, veterinários e fornecedores, estes foram
incluídos por se tratarem de dados úteis para consultas dos produtores.
Através dos dados resultantes da filtragem citada foi elaborada a modelagem do
banco de dados, esta é importante para o processo de desenvolvimento de software por
representar de forma visual de fácil entendimento as tabelas e os relacionamentos
existentes no banco de dados, esta modelagem foi elaborada com o auxílio do software
MYSQL Workbench na sua versão 5.2 CE (Community Edition), deu-se a escolha por
essa versão por ser gratuita e ser desenvolvido especificamente para o SGBD escolhido.
A modelagem do banco de dados como pode ser visto no Apêndice B, possui 20
tabelas, que armazenam os dados inseridos pelo usuário.
As que se referem aos clientes, veterinários e fornecedores são apenas para
registro de contatos dos mesmos, estas não possuem relacionamentos com nenhuma
outra, já as tabelas temperatura e pluviômetro, armazenam as temperaturas diárias e o
volume pluviométrico diário respectivamente, estes dados são usados para comparar a
produtividade em função dos mesmos, também não possuem relacionamentos.
Quanto ao restante das tabelas todas possuem relacionamentos entre si, estes
relacionamentos têm como base a tabela matrizes, por se tratar do item mais importante
do processo produtivo, esta possui diversos status que demonstram os estados em que a
matriz se encontra, dividem-se em: status_atividade (Ativa (A), Descartada (D)),
status_idade (Adulta (A), Jovem (J)), status_gestacao (Prenha (P), Vazia (V)) e
status_lactacao (Lactante (L), Seca (S)), estes status podem ser alterados em algumas
situações pelo usuário e em outras pelo próprio software geralmente através de Triggers
criadas no banco de dados.
As
tabelas
alimentacao
alimentacao_has_alimentos,
alimentos,
alimentos_has_nutrientes, nutrientes e tratos fazem parte do controle de alimentação,
através deste é possível saber o custo de alimentação, facilitando o controle de custo
benefício dos animais individualmente, pois esses dados podem ser comparados com a
produção, a tabela tratos possui três Triggers que podem ser visualizadas em detalhes no
Apêndice C.
Já as tabelas descartes, destino_descartes e motivo_descartes gerenciam os
descartes de matrizes, a tabela descartes possui três Triggers que tem a função de alterar
o status_atividade da matriz descartada, estas podem ser visualizadas em detalhes no
Apêndice C.
A tabela lactacao controla a produção diária das matrizes, facilitando o controle
produtivo dos animais individualmente.
Quanto a tabela gestacao, esta gerencia as gestações das matrizes, possui
também três Triggers que atualizam o status_gestacao das matrizes, estas Triggers estão
detalhadas no Apêndice C.
A tabela raças tem a função de armazenar dados inseridos pelo usuário com
relação às raças das matrizes e dos semens.
Quanto à tabela inseminação, gerencia as inseminações das matrizes, esta tabela
possui duas Triggers que além de controlar o estoque de semens também gerenciam as
gestações, estas Triggers são detalhadas no Apêndice C.
Por fim à tabela semen esta controla o estoque e a raça dos semens.
Com o término da modelagem do banco de dados foi iniciado o
desenvolvimento do Diagrama de Casos de Uso, esta tarefa teve o auxílio do software
ASTAH Community, ferramenta esta que fornece uma interface visual para o
desenvolvimento de diagramas UML (Unified Modeling Linguaje).
O Diagrama de Casos de Uso foi desenvolvido com base na modelagem do
banco de dados, este diagrama tem por finalidade documentar todos os procedimentos
existentes no SGL.
O SGL possui diversos casos de uso, eles estão representados neste documento
de forma gráfica e textual, estes foram divididos em grupos para facilitar seu
entendimento.
O caso de uso Manter demonstra seu funcionamento graficamente, ele possui
outros quatro casos de uso relacionados a ele, Alterar, Consultar, Excluir, Incluir. Este
caso de uso foi elaborado com a finalidade demonstrar o funcionamento de um cadastro
simples, dessa forma como diversos cadastros utilizam esse mesmo formato de caso de
uso, estes podem ser representados textualmente indicando-se quais tabelas do banco de
dados utilizam-se deste, simplificando o diagrama sem deixar de ser explicativo. Os
casos de uso restantes são demonstrados unicamente de forma gráfica, todos estes
graficamente ou textualmente podem ser visualizados e entendidos no Apêndice D.
Os diagramas a seguir sofrem grande influência do framework utilizado para o
desenvolvimento do SGL. O OpenSwing como diversos outros frameworks possui um
padrão de desenvolvimento, este padrão adota métodos obrigatórios o que torna a
maioria das classes idênticas, a diferença significativa entre classes fica por conta das
classes contidas no Pacote VO, este padrão imposto pelo OpenSwing fez com que a
sequência de alguns casos de uso fossem iguais, ocasionando a padronização de alguns
diagramas como é o caso do diagrama de sequência e de classes.
Ainda com auxílio do software ASTAH Community foi elaborado o diagrama de
classes, este foi desenvolvido com base nos dois diagramas citados acima, tal diagrama
consiste em documentar as classes do software, e nestas todos os métodos e atributos
das mesmas, como citado acima este diagrama foi afetado diretamente pelo framework
OpenSwing e também pelo paradigma de desenvolvimento MVC, que foram utilizados
para auxiliar no desenvolvimento do SGL, fato este que ocasionou a padronização de
diversas classes, este diagrama pode ser melhor entendido no Apêndice E.
Para finalizar os diagramas UML, foi elaborado o diagrama de sequência que
consiste em documentar a sequência exata que cada caso de uso irá executar para a
conclusão das tarefas solicitadas, este também teve seu desenvolvimento auxiliado pelo
software ASTAH Community, a escolha do framework OpenSwing e do paradigma de
desenvolvimento MVC também afetaram este diagrama, pois este representa a sequência
em que os dados percorrem pelo software durante um procedimento solicitado pelo
usuário.
O diagrama de sequência foi divido em quatro partes para facilitar seu
entendimento, isso foi possível graças a padronização dos métodos imposta pelo
OpenSwing, consistem em alteração de dados, consulta de dados, exclusão de dados,
inserção de dados, estes diagramas podem ser visualizados no Apêndice F.
Com o término da documentação do software, foi iniciado o desenvolvimento do
SGL. Este processo foi o que exigiu maior tempo para a execução, a utilização do
OpenSwing representa um ganho considerável na programação de softwares na
linguagem JAVA, porém a falta de material didático no idioma português sobre o
mesmo torna o aprendizado demorado, o que dificultou o desenvolvimento do SGL.
A partir da escolha do framework utilizado, foi escolhida a IDE, para o
desenvolvimento do SGL optou-se pela IDE conhecida por NetBeans em sua versão 6.8,
devido ao OpenSwing possuir toda sua documentação e exemplos desenvolvidos nesta
IDE e versão, além de que em testes com versões atualizadas da IDE alguns bugs foram
encontrados.
Em seguida foi criado o banco de dados com base na modelagem do mesmo.
Este banco foi gerado através da utilização da ferramenta MYSQL Workbench, pois a
mesma possui um assistente que gera todas as tabelas no banco de dados, juntamente
com Triggers e relacionamentos, isso através do diagrama elaborado no mesmo
software o que acelera e simplifica esse processo.
O passo seguinte foi criar um novo projeto JAVA no Netbeans e então
configurar a IDE para utilização do MYSQL e do OpenSwing, através da instalação das
bibliotecas do SGBD e framework citados.
Depois do projeto devidamente criado com as bibliotecas adicionadas, teve
início o processo de desenvolvimento. Primeiramente foram definidos e criados os
pacotes para organização do software, VO, Controller, Frame, sgl, recursos e Relatorios,
estes pacotes foram criados unicamente para melhor organizar as classes do software e
serão explicados individualmente a seguir.
O pacote VO, contém as classes que fazem referência ao banco de dados. Cada
atributo das classes contidas neste pacote possui seu equivalente no banco de dados.
Todas as classes contidas no pacote VO estendem da classe ValueObjectImpl do
OpenSwing.
Já o pacote Controller possui as classes que controlam todo o software
desenvolvido com o OpenSwing, estas classes controlam o acesso ao banco de dados,
elas utilizam-se de objetos enviados pela interface e através de métodos padrões do
OpenSwing fazem a manipulação desses dados no banco de dados, retornando à
interface os dados resultantes da operação solicitada. As classes deste pacote podem
estender de duas classes do OpenSwing, estas são FormController e GridController, a
FormController possui diversos métodos que gerenciam o componente Form do
OpenSwing, já a GridController gerencia o componente GridControl, as classes que
estendem GridController devem também implementar a Interface GridDataLocator.
As classes do pacote Controller podem utilizar diversos métodos existentes nas
classes FormController, GridController e GridDataLocator, dentre estes os principais
são:
 loadData responsável por localizar e retornar para a interface dados
provenientes do banco de dados;
 insertRecords e insertRecord estes sendo responsáveis por inserir os
dados contidos nos objetos passados pela interface, a diferença entre
esses métodos se dá pelo fato de que o primeiro pode inserir diversos
registros ao mesmo tempo, sendo utilizado pelo componente
GridControl, já o segundo insere um objeto a cada execução este e
utilizado pelo FormControl;
 deleteRecord e deleteRecords, são responsáveis por excluir os dados
contidos no objeto passado pela interface, estes métodos podem seguir
a mesma analogia dos métodos citados acima, ou seja o que possui
nome no plural é utilizado pelo GridControl e o outro usado pelo
Form, este funcionam da mesma forma dos citados acima;
 updateRecord e updateRecords, usados para atualizar os dados no banco
de dados, tem seu funcionamento semelhante aos demais.
Com relação ao pacote Frame, este possui as telas do SGL, estas classes devem
estender de InternalFrame que também é uma classe do OpenSwing e possui métodos
para a criação de telas, as classes contidas nesse pacote tem a maior parte de seu
desenvolvimento como sendo visual com pouca codificação, pois o framework utilizado
fornece um coleção de componentes visuais que podem ser adicionados ao projeto
apenas clicando sobre os mesmos e arrastando para a área da tela do software. Neste
pacote a configuração dos componentes pode ser feita também em sua maioria de forma
visual aumentando significativamente a produtividade.
Com relação ao pacote sgl, este possui apenas duas classes sendo estas Menu e
ClienteFachada, onde a classe Menu configura diversos parâmetros do software
desenvolvido, como por exemplo método de autenticação de usuários, menus, conexão
com o banco de dados, configurações da tela principal do software além de configurar
os Domains que são listas de dados que podem ser utilizadas pelos componentes
ComboColumn e ComboBoxControl do OpenSwing, a classe Menu deve implementar
MDIController, LoginController esta última somente caso o controle de usuário for
utilizado. Já a classe ClienteFachada implementa ClientFacade do OpenSwing, a
ClienteFachada tem por finalidade direcionar as chamadas dos menus, ou seja, quando
um menu é clicado ele irá executar um método desta classe e esta irá chamar a tela
devida.
O pacote recursos possui arquivos XML (eXtensible Markup Language), estes
arquivos são utilizados pelo sistema de internacionalização do OpenSwing, que consiste
em criar um arquivo com todas as traduções dos componentes do software desenvolvido
e mensagens de erros, podendo assim, alterar o idioma completo do software em tempo
real. Este sistema de internacionalização e um importante recurso do OpenSwing.
Por fim, o pacote Relatórios, que possui as classes referentes aos relatórios do
sistema, estas se dividem em arquivos de classes JAVA que fazem a chamada dos
relatórios, onde cada relatório possui uma classe, estes relatórios foram desenvolvidos
utilizando – se da ferramenta IReports, pois essa oferece uma interface visual para o
desenvolvimento dos mesmos, o que torna mais rápido e produtivo o processo, além de
proporcionar em tempo real o resultado das consultas feitas ao banco de dados podendo
assim verificar se o resultado está como previsto. Estes relatórios estão divididos em
relatórios textuais que neste caso são chamados de relatórios e também relatórios com
imagens que são chamados de gráficos.
O Relatório de Produção Média por Matrizes demonstra a produção média por
matrizes, podendo-se com base nestes dados analisar o desempenho do rebanho
individualmente.
Quanto ao Relatório de Custos de Alimentação por Matrizes fornece dados com
relação aos custos da alimentação fornecida para cada matriz individualmente, estes
dados cruzados com os dados do relatório anterior auxiliam na análise de custo
beneficio de cada matriz.
O Relatório de Custos de Inseminação por Matrizes demonstra os gastos com
inseminação, estes dados são demonstrados de forma individual.
Já o Relatório de Gestação por Matrizes demonstra os dados de gestações de
cada matriz podendo com esta base, analisar a capacidade reprodutiva de
individualmente.
Com relação ao Relatório de Produção por data com Temperatura, faz um
demonstrativo da produtividade com base em faixas de temperaturas, para que seja
possível avaliar a produtividade das matrizes com relação a mudanças climáticas.
Quanto ao Relatório de Matrizes por Pluviômetro este proporciona a
visualização da produção com base no volume pluviométrico na propriedade.
O Relatório de Matrizes por Status demonstra as matrizes e seus status para
assim fazer planejamento de investimentos com base nas projeções de crescimento do
rebanho.
Já o Relatório de Matrizes por Origem fornece dados com relação à origem das
matrizes existentes no rebanho, com base nisso é possível saber se o rebanho está
reproduzindo adequadamente.
Quanto aos gráficos, estes foram desenvolvidos com o intuito de facilitar a
visualização dos dados. Foram pensados de forma que mostrem dados importantes ao
produtor, já que a representação gráfica facilita o entendimento e visualização de
informações;
Gráfico de Produção Media por Raças, demonstra a média de produção das
matrizes ordenadas por raças. Este gráfico torna fácil ao produtor identificar quais as
raças tem um maior desempenho produtivo.
Gráfico de Custos de Alimentação Media por Raças, fornece dados referentes ao
consumo de alimentos médio de cada raça, os dados deste gráfico cruzado com o
gráfico anterior tornam possível ao produtor verificar o custo-benefício de cada raça,
podendo este então avaliar qual dessas melhor se adapta ao seu processo produtivo.
Gráfico de Matrizes por Status demonstra graficamente o dimensionamento do
rebanho por status, podendo assim identificar de forma rápida problemas como, por
exemplo, a quantidade de matrizes lactantes baixa, dessa forma o produtor terá a
possibilidade de buscar soluções para o problema.
Gráfico de Descartes por Motivo com base neste será possível ao produtor
identificar quais os principais motivos pelo qual suas matrizes são descartadas, dessa
forma, havendo algum problema este será identificado rapidamente.
Com relação ao SGL este possui a seguinte estrutura, uma tela principal que se
inicia maximizada, esta possui uma barra de menus contendo os seguintes itens,
Cadastros, Operacional, Relatórios, Gráficos, Utilitários, Janela, Ajuda, onde cada item
de menu possui alguns sub-menus com a finalidade de exibir ao usuário as telas do
SGL, estes sub-menus serão explicados a seguir.
Quanto ao menu Cadastros este possui diversos itens, a finalidade destes itens é
direcionar o usuário as telas dos principais cadastros do SGL, estes itens são, Matrizes,
Raças, Sêmen, Destino de Descartes, Motivo de Descartes, Clientes, Fornecedores,
Veterinários, Nutrientes, Alimentos, Alimentação.
O cadastro de Matrizes e feito através de uma tela composta por diversas abas,
em cada uma dessas abas é exibido os dados das matrizes resultantes das restrições
impostas nas consultas SQL de cada aba, um exemplo é a aba Matrizes Ativas que exibe
somente as matrizes que não foram descartadas, esta divisão por abas facilita a
visualização das matrizes por categorias, a inserção de novas matrizes é feita pela aba
Todas as Matrizes. Cada aba apresenta dados pertinentes ao tipo de informação que o
usuário esteja procurando ao acessar a mesma, em algumas dessas abas ainda e possível
alterar alguns dados, como por exemplo, a aba Matrizes Lactantes onde é possível
alterar o status_lactacao das Matrizes.
O cadastro de Raças consiste em uma tela simples, onde são inseridos o nome e
algumas observações sobre raças de matrizes e de semens, este serve para separar o
rebanho por raças e com base nisso verificar quais se adaptam melhor a propriedade.
Quanto ao cadastro de sêmen, este tem a função de controlar o estoque de sêmen
da propriedade, facilitando o gerenciamento da evolução do rebanho.
Já os cadastros de Destino de Descartes e Motivo de Descartes são bastante
semelhantes, onde um tem a finalidade de informar o destino das matrizes descartadas e
o outro informa o motivo pelo qual o descarte ocorreu.
Com relação aos cadastros de Clientes, Fornecedores e Veterinários tem por
finalidade apenas cadastrar os dados simplesmente para consulta do proprietário, nesta
versão do software estes dados não influenciam outros cadastros. Estes cadastros
consistem em uma tela de consulta onde podem ser visualizados os dados registrados no
banco de dados, além de uma tabela de detalhe onde podem ser inseridos e alterados
dados novos.
O cadastro de Nutrientes consiste em um cadastro simples onde são registrados
diversos nutrientes que estarão contidos nos alimentos que serão fornecidos para as
matrizes.
Quanto ao cadastro de Alimentos este tem por finalidade controlar o estoque dos
mesmos. Além de possuir um controle de nutrientes, com base nesta informação, é
possível identificar como cada alimento ou nutriente influencia na produção.
Já o cadastro de Alimentações foi desenvolvido para auxiliar o processo de
inserção dos dados alimentares das matrizes, devido ao fato de que geralmente não se
oferece apenas um tipo de alimento. A cada refeição proporcionada à matriz, o processo
de inserção desses dados iria se tornar trabalhoso, dessa forma, foi elaborado este
cadastro, que funciona da seguinte maneira: cadastra-se uma alimentação que será
composta de um ou mais alimentos e então através de um formulário detalhado devem
ser inseridos todos os alimentos que compõe a alimentação, bem como suas
quantidades.
Com relação ao menu Operacional, este possui alguns sub-menus que tem por
finalidade o controle dos dados referentes a produção, está divido em Temperatura,
Pluviômetro, Lactações, Inseminações e Gestações.
Os sub-menus Temperatura e Pluviômetro, tem por finalidade o controle da
temperatura e volume pluviométrico respectivamente, estes dados podem ser cruzados
com a produção e assim diagnosticar problemas e pensar soluções referente a essas duas
variáveis da produção leiteira.
Quanto ao sub-menu Lactações, registra a produtividade leiteira das matrizes
individualmente, se divide em duas telas, uma onde é possível consultar os dados
registrados além de inserir dados novos. Como em algumas propriedades a quantidade
de matrizes ordenhadas é significativa a inserção de dados produtivos das matrizes uma
a uma, se torna uma tarefa demorada. Com base nesta situação, foi elaborada uma tela
secundária que carrega todas as matrizes que estão lactantes. Feito isso, o usuário
precisa apenas selecionar uma vez a data e o período e apenas a quantidade de leite
produzido em litros é que deve ser inserida individualmente.
Já o sub-menu Inseminações é utilizado para gerenciar as inseminações que
serão efetuadas, além da possibilidade do acompanhamento de custos por matriz.
O sub-menu Gestações gerencia todas as gestações existentes. Com base nesta
informação, é possível saber as previsões de partos e desta forma proporcionar um
acompanhamento adequado às matrizes, aumentando o sucesso das gestações.
Com relação às menus Relatórios e Gráficos os mesmos também são compostos
por sub-menus, onde cada sub-menu se refere a um relatório ou gráfico do SGL, estes
já foram descritos acima.
Já o menu Utilitários possui apenas o sub-menu de backup que tem por
finalidade exibir a tela que gera ou restaura uma cópia de segurança do SGL.
No que se refere o menu Janela, trata-se de um menu padrão do OpenSwing, é
utilizado para gerenciar as janelas do software, seus sub-menus possuem nomes
bastante sugestivos não se fazendo necessário explicação detalhada dos mesmos.
Quanto ao menu de ajuda, se configura também de um menu padrão do
OpenSwing e apenas exibe a tela de informações básicas do SGL.
Após o processo de desenvolvimento dos módulos foram elaborados testes em
cada módulo, estes foram elaborados de duas formas, primeiro foi elaborado pelo
desenvolvedor, o teste conhecido como caixa-branca, assim que os erros encontrados
neste teste foram corrigidos o módulo desenvolvido foi testado pelo usuário, que relatou
os erros encontrados e acabaram por ser corrigidos. Somente após as correções o
módulo foi considerado finalizado.
3. Resultados
Com a finalização deste trabalho obteve-se um software capaz de gerenciar o processo
produtivo de uma pequena propriedade leiteira, focando o gerenciamento do rebanho e
sua produtividade, algumas variáveis foram utilizadas para um possível diagnóstico da
produção como temperaturas e nível pluviométrico, o SGL atende a algumas
necessidades básicas dos pequenos produtores rurais, o que auxiliará essas propriedades
no controle de alguns custos e no aumento da produtividade.
Também foi obtido um documento de requisitos amplo e que atende de forma
adequada à maioria das necessidades das pequenas propriedades estudadas.
Este estudo obteve ainda um diagnóstico das propriedades da região, onde foi
constatado deficiências no gerenciamento e planejamento dessas.
Foi diagnosticada também a dificuldade de uma pequena empresa de software
para aplicar processos de engenharia de software e qualidade de software, devido a
quantidade limitada de pessoas envolvidas no processo.
4. Considerações Finais
Este trabalho poderá ser utilizado por propriedades leiteiras que tenham interesse em ter
um controle e monitoramento do processo produtivo.
Além do software desenvolvido, este trabalho teve importância por identificar
alguns problemas relacionados à gestão das propriedades na região estudada, percebeuse neste estudo a dificuldade dos produtores em gerenciar sua produção, devido a alguns
fatores como a falta de conhecimento de processos de gestão, equipes técnicas
fornecidas por órgãos públicos (Prefeituras) em quantidades inferiores ao necessário,
custo para contratação de empresas especializadas no processo de gestão das
propriedades, elevado para os padrões da maioria dos produtores entre outras situações.
Foi constatado também que o processo de gestão de uma propriedade leiteira
para ser completo e eficiente torna-se complexo e trabalhoso, por possuir muitas
variáveis, que devem ser consideradas. Este processo necessita de um software que se
utilize de todos os parâmetros envolvidos na produção o que torna o desenvolvimento
do mesmo trabalhoso e demorado.
Esta quantidade grande de parâmetros envolvidos no processo causa empecilho
também para a implantação e utilização de um software altamente adequado à gestão da
propriedade, devido à maioria das propriedades da região em estudo, possuir sua base
na agricultura familiar, estas não dispõem de tempo hábil para alimentar um software
com todas essas variáveis, fato este que inviabilizaria a utilização do mesmo.
O estudo mostrou que um software que gerencie adequadamente as propriedades
rurais auxiliando na tomada de decisão das mesmas, deverá possuir um alto nível de
automatização diminuindo assim o trabalho de alimentação do sistema.
A automatização deve levar em consideração a situação financeira dessas
propriedades, procurando por soluções alternativas e baratas para então obter o real
controle do processo produtivo dessas propriedades.
Algumas tecnologias simples e baratas já existem e com base nelas se deve
desenvolver um software que atenda a todas as necessidades das propriedades. Com
base nisso, o processo de desenvolvimento do SGL não se encontra concluído
plenamente para atender a todas as necessidades das pequenas propriedades leiteiras, o
que torna necessário a continuação do mesmo em um projeto futuro.
5. REFERÊNCIAS:
Arêdes, A.; Silveira, S. de F. R; Lima, A. A. T. de F. de C.; Arêdes, A. F; Pires, S. V.
Análise de custos na pecuária leiteira: um estudo de caso das propriedades assistidas
pelo programa de desenvolvimento da pecuária leiteira da região de Viçosa. 2006.
Artigo
Universidade
Federal
de
Viçosa.
(disponível
em:
(http://www.custoseagronegocioonline.com.br/numero1v2/Analise%20de%20custos.
pdf acesso em 23/04/2012).
Barbosa, A. L. Analise comparativa de metodologias para o gerenciamento de projetos
de desenvolvimento de software. 2006. Universidade Estadual de Campinas –
Faculdade de Engenharia Elétrica e de Computação. (disponível em:
(http://www.bibliotecadigital.unicamp.br/document/?down=vtls000392877
acesso
em 15/04/2012).
Bartié, A. Garantia da qualidade de software: adquirindo maturidade organizacional –
13ª reimpressão – Rio de Janeiro: Elsevier, 2002.
Caldeira, B. P. Alta disponibilidade – replicação de dados via MYSQL, com ênfase em
identificação e recuperação de falhas. 2006. Departamento de Ciência da
Computação
Universidade
Federal
de
Lavras.
(disponível
em:
www.ginux.ufla.br/files/mono-BrunoCaldeira.pdf acesso em 15/11/2011).
Gavidia, J. J. Z. Programação funcional usando JAVA. 1997. Universidade Federal do
Rio Grande do Sul – Instituto de Informática. (disponível em:
(http://www.lume.ufrgs.br/handle/10183/20923 acesso em 15/04/2012).
Koscianski, A.; Soares, M. dos S. Qualidade de software: aprenda as metodologias e
técnicas mais modernas para o desenvolvimento de software. 2ª ed. – São Paulo:
Novatec Editora, 2007.
Lopes, M. A.; Vieira, P. de F.; Castro Neto, P. C.; Malheiros, E. B. Desenvolvimento de
um Sistema Computacional para Dimensionamento e Evolução de Rebanhos
Bovinos. Rev. Bras. Zootec. [online]. 2000, vol.29, n.5 [citado 2012-05-31], pp.
1511-1519. (disponível em: (http://www.scielo.br/pdf/rbz/v29n5/5676.pdf acesso em
15/04/2012).
Marion, J. C.; Segatti, S. Sistema de gestão de custos nas pequenas propriedades
leiteiras. 2006. Artigo - Faculdade de Economia e Administração da Universidade de
São Paulo e Pontífice Universidade Católica de São Paulo. (disponível em:
(http://www.custoseagronegocioonline.com.br/numero1v3/Custos%20do%20leite.pd
f acesso em 10 /09 /2011).
Mouta, A. E. B. Dominando o OpenSwing. – 1ª. ed. – Rio de Janeiro : Editora Ciência
Moderna Ltda., 2010.
Oliveira, E. G. Deral (Departamento de Economia Rural)/Seab (Secretaria da
Agricultura e do Abastecimento do Paraná) – Núcleo de Laranjeiras do Sul - Paraná.
2012.
Ricarte, I. L. M. Programação orientada a objetos: uma abordagem com JAVA. 2001.
Departamento de Engenharia de Computação e Automação Industrial - Faculdade de
Engenharia Elétrica e de Computação Universidade Estadual de Campinas.
(disponível em: (http:// www.dca.fee.unicamp.br/cursos/PooJava/Aulas/poojava.pdf
acesso em 10 /09 /2011).
Segala, C. Z. S.; Silva, I. T. da S. Apuração dos custos na produção de leite em uma
propriedade rural do município de Irani-SC. 2007. Artigo - Universidade do
Contestado
(disponível
em:(http://www.custoseagronegocioonline.com.br/numero1v3/Custos%20do%20leit
e.pdf acesso em 10 /09 /2011).
Apêndice A
Questionários
Questionário destinado a produtores e equipe técnica.
1. São utilizadas ferramentas tecnologias para o gerenciamento da propriedade?
Caso sim quais?
2. Quais os pontos mais importantes da propriedade?
3. Quem é responsável pela administração da propriedade?
4. Existe alguma empresa terceirizada que auxilia na administração? Justifique?
5. Existe na propriedade algum controle do rebanho?
6. Existe controle quanto à alimentação fornecida ao rebanho?
7. Quais os pontos que um software para gestão de pequenas propriedades deve
atender? (destinada somente a equipe técnica).
8. Quais as principais dificuldades em auxiliar essas propriedades? (destinada
somente a equipe técnica).
Questionário destinado ao Deral/Seab.
1. O que inviabiliza a gestão de custos das pequenas propriedades leiteiras?
2. As propriedades leiteiras fazem a gestão adequada das mesmas?
3. Quais as principais dificuldades em auxiliar essas propriedades?
4. Essas propriedades possuem condições financeiras para pagar empresas de
gestão?
5. A grande maioria das propriedades leiteiras da região tem base na agricultura
familiar?
6. Os produtores em sua maioria possuem um controle do que são custos de
produção e custos pessoais?
7. Os produtores em sua maioria utilizam – se de ferramentas tecnologias para
auxiliar na gestão do processo produtivo?
Apêndice B
Diagrama do Banco de Dados
Apêndice C
Triggers
Tabela de Inseminação
CREATE TRIGGER insere_inseminacao AFTER INSERT ON inseminacao
-- atualiza o estoque de sêmen na inserção de uma nova inseminação
CREATE TRIGGER atualiza_inseminacao AFTER UPDATE ON inseminacao
-- gerencia a troca de sêmen na atualização da tabela inseminacao
-- gerencia a inserção de 9 meses na previsão de parto da gestação, com base na data
de constatação
-- insere nova gestacao caso ainda nao exixta
CREATE TRIGGER exclui_inseminacao AFTER DELETE ON inseminacao
-- excluindo a inseminação, gerenciando o estoque de sêmen
Tabela de Descartes
CREATE TRIGGER cria_descartes AFTER INSERT ON descartes
-- atualiza o status da matriz assim que e inserido um descarte
CREATE TRIGGER atualiza_descartes AFTER UPDATE ON descartes
-- atualizar o status das matrizes quando e atualizado o descartes
CREATE TRIGGER exclui_descartes AFTER DELETE ON descartes
-- criando trigger para atualizar o status da matriz assim que exclui o descarte
Tabela de Tratos
CREATE TRIGGER insere_trato AFTER INSERT ON trato
-- atualiza o estoque de alimentos na inserção de um novo trato
CREATE TRIGGER atualiza_trato AFTER UPDATE ON trato
-- gerencia a troca de alimentos na atualização da tabela trato
CREATE TRIGGER exclui_trato AFTER DELETE ON trato
-- excluindo a trato, gerenciando o estoque de alimentos
Apêndice D
Diagrama de Casos de Uso
Alimentação
Alimentos
Descartes
Gestação
Inseminação
Lactação
Manter. Este e usado pelas seguintes tabelas:
temperatura, pluviometro, clientes, fornecedores, veterinários, motivo_descarte,
destino_descarte, nutrientes e racas
Matrizes
Sêmen
Trato
Apêndice E
Diagrama de Classes
Pacote Controller
Pacote VO
Todos os atributos das classes contidas nesse pacote possuem um método get e set.
Apêndice F
Diagrama de Sequência
Anexo A
Rendimento da produção leiteira em 10 dos 20 municípios
estudados, período de 2004 a 2011
Anexo B
Rendimento de todas as culturas agrícolas de 10 dos 20
municípios estudados, ano de 2010
Download