29
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.

DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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.

Page 2: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 3: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

(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.

Page 4: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 5: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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.

Page 6: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 7: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 8: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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.

Page 9: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 10: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 11: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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á

Page 12: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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.

Page 13: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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, percebeu-

se 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.

Page 14: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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.

Page 15: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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).

Page 16: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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?

Page 17: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Apêndice B

Diagrama do Banco de Dados

Page 18: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

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

Page 19: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Apêndice D

Diagrama de Casos de Uso

Alimentação

Alimentos

Page 20: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Descartes

Gestação

Page 21: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Inseminação

Lactação

Page 22: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Manter. Este e usado pelas seguintes tabelas:

temperatura, pluviometro, clientes, fornecedores, veterinários, motivo_descarte,

destino_descarte, nutrientes e racas

Matrizes

Sêmen

Page 23: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Trato

Page 24: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Apêndice E

Diagrama de Classes

Pacote Controller

Page 25: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Pacote VO

Todos os atributos das classes contidas nesse pacote possuem um método get e set.

Page 26: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Apêndice F

Diagrama de Sequência

Page 27: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …
Page 28: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Anexo A

Rendimento da produção leiteira em 10 dos 20 municípios

estudados, período de 2004 a 2011

Page 29: DESENVOLVIMENTO DE SOFTWARE PARA AUXILIAR NO …

Anexo B

Rendimento de todas as culturas agrícolas de 10 dos 20

municípios estudados, ano de 2010