Você está na página 1de 99

Andrea Silvia Buchholz dos Santos

Gustavo Garcia Leal Alves de Moura


Juan Paulo Pinto Rodriguez

Colheita Certa - Sistema de Gestão e

Comercialização para Produtos Agrícolas

São Paulo - SP

2020
Andrea Silvia Buchholz dos Santos - RA: D33CCA6
Gustavo Garcia Leal Alves de Moura - RA: N130EA8
Juan Paulo Pinto Rodriguez - RA: T2796J-4

Colheita Certa - Sistema de Gestão e

Comercialização para Produtos Agrícolas

Trabalho de Conclusão de Curso,


apresentado à Coordenação do Curso de
Ciência da Computação - UNIP Pinheiros,
sob orientação do Professor Lauro Tomiatti.

São Paulo - SP

2020
RESUMO

Com base em inúmeras deficiências que o país vem enfrentando, e com o


agravamento devido a ocorrências dos anos, como por exemplo os problemas
ambientais e o desperdício de alimentos, que em um sentido mais amplo são
geradores de problemas maiores, como a escassez dos recursos naturais,
precariedade no sistema agrícola voltado ao consumo interno, falta de recursos, ou
falta de oportunidade de trabalho, que leva o produtor rural a mudar para as
metrópoles em busca de melhorias, gerando saturação nas cidades; não são por
falta de produtos produzidos para comercialização, mas por falta de recursos
inovadores, falta de planejamento e falta de investimento. Sobre análise do atual
sistema de comercialização de produtos agrícolas alimentícios, mais
especificamente os produtos perecíveis, é possível compreender algumas
deficiências na dinâmica atual, como o trajeto percorrido que leva toneladas de
produtos de todos os Estados brasileiro até determinados pontos, para
comercialização com o método de venda no atacado, portanto, tais produtos ainda
seguem aos comércios antes do consumidor final. Este sistema existe há mais de 50
anos, possui inúmeros intermediários causando impacto sobre o custo final, tempo
elevado no transporte, assim como manipulação dos produtos entre transferências
de locais, armazenamento ineficiente que contribui com a maturação de parte dos
produtos e consequentemente gera o desperdício.

De fato existe uma grande atraso na metodologia sobre a comercialização


desses produtos, e obviamente a necessidade de uma ferramenta que compartilhe
interesses entre produtores e comerciantes, sem a necessidade de um enorme
trajeto a percorrer, ou inúmeras intermediações. Um sistema que possibilite a
comercialização dos produtos agrícolas em menor distanciamento possível, diminui
o tempo de maturação dos produtos, agregam qualidade para que os produtos
cheguem ao consumidor final, com menores custos.
Complementando as necessidades básicas de um produtor rural, que possui
falta de planejamento sobre seu negócio, devido a limitação do tempo sobre as
extensas atividades diárias que integra a vida no campo, o sistema inclui todas as
despesas relacionadas a produção e utiliza todas as transações recorrentes,
gerenciando de forma eficiente, possibilita conhecimento sobre áreas do negócio,
como a necessidade de diminuir custos, adequação de produção, valores reais de
lucro ou perdas, e possibilidade de investimentos.
A tecnologia é uma ferramenta poderosa, se adequada eficientemente à
proposta específica e com possibilidades de atualizações conforme necessidades de
mudança, do contrário, acaba se tornando mais uma aplicação entre tantas
existentes.
ABSTRACT

Based on several deficiencies the country is facing and the worsening


scenario due to the occurrences of the years, such as environmental problems and
food waste, which in a broader sense are generators of much bigger problems, such
as a scarcity of resources natural, precariousness in the agricultural system, lack of
resources, or lack of job opportunities that lead rural producers to move to the
metropolises in search of improvements, generating saturation in the cities; all this
sequential dynamics not for lack of products produced for commercialization but for
lack of innovative resources, lack of planning, investment, among others. Analyzing
the current commercialization system for agricultural food products, more specifically
perishable products, it is possible to understand some deficiencies in the current
dynamics, such as the route that takes tons of products from all Brazilian states to
certain points, for wholesale commercialization, so these products still go to shops
before the final consumer. This system has existed for more than 50 years, has
numerous intermediaries causing an impact on the final cost, high time
transportation, as well as product handling between site transfers, inefficient storage
that contributes to the saturation of part of the products and consequently generates
waste.
In fact, there is a great deficiency in the commercialization of these products,
and obviously the need for a tool that shares interests between producers and
traders, without the need to go through a gigantic journey, or countless
intermediaries.
A system that allows the commercialization of agricultural products in the
shortest distance possible, reduces the time of saturation of products, avoids waste,
adding quality so that the products reach the final consumer, with lower costs
reducing intermediation. Complementing the basic needs of a rural producer, who
lacks on business planning, due to limitation of time on the extensive daily activities
that integrate life in the field, a system that can include all expenses related to
production and uses all recurring transactions, managing efficiently, enables
knowledge regarding the business, such as the need to reduce costs, production
adequacy, real values of profit or loss, investments opportunities etc.
Technology is a powerful tool, if efficiently adjusted to the specific proposal and
with the possibility of updates as needed, otherwise it ends up becoming one more
application among so many existing.
LISTA DE FIGURAS

Figura 01 – Entrepostos e Armazéns Gerais de São Paulo ……….……………... 23

Figura 02 – Processo CRISP-DM ……………………………………………………. 28

Figura 03 – Framework Geral para Processos de Machine Learning ……………. 31

Figura 04 – Equação de Inclinação e Intercepto de y,b ……………………………. 35

Figura 05 – Equação de Coeficiente de Correlação ………………………………… 37

Figura 06 – Expressão para Obter R-quadrado sobre Coeficiente de Correlação.. 37

Figura 07 – Variação Total, Variação Explicada e Coeficiente de Determinação…. 38

Figura 08 – Linguagens Mais Populares do Site Stackoverflow ............................. 39

Figura 09 – Dashboard Tensorflow ……………………............................................ 43

Figura 10 – Modelagem de Entidades ………...……............................................... 44

Figura 11 – Comunicação Entre Camadas Routes, Controller, Models e Views…. 49

Figura 12 – Planejamento de Atividades para o Segundo Semestre……………… 53

Figura 13 – Custo Estimado da Aplicação ...………............................................... 59

Figura 14 – Gráfico Fluxo de Caixa ….……….……............................................... 70

Figura 15 – Cadastrar Usuário - Diagramas Caso de Uso e Classe RF 001…….. 74

Figura 16 – Logar Usuário - Diagramas Caso de Uso e Classe RF 002………….. 75

Figura 17 – Cadastrar Perfil - Diagramas Caso de Uso e Classe RF 003………... 76

Figura 18 – Cadastrar Localização - Diagramas Caso de Uso e Classe RF 004... 77

Figura 19 – Criar Estoque - Diagramas Caso de Uso e Classe RF 001…….…….. 83

Figura 20 – Mostra Usuário por Região - D. Caso de Uso e Classe RF 001 …….. 87

Figura 21 – Acessar Estoque - Diagramas Caso de Uso e Classe RF 003…….. 88

Figura 22 – Notificação Venda - Diagramas de Caso de Uso e Classe RF 003 .. 89


Figura 23– Pagamento de Estoque - Diagramas Caso de Uso e Classe RF 004.. 90

Figura 24 – Entrega de Estoque - Diagramas Caso de Uso e Classe RF 006…... 92

Figura 25 – Listar Selecionar Gráfico- Diagramas Caso de Uso e Classe RF 001 95

Figura 26 – Tela de Login e de Registro ……...……………………………………… 97

Figura 27 – Tela de Perfil e de Localização ………….………………………………. 98


LISTA DE TABELAS

Tabela 01 – Tabela Comparações Sobre últimos Censo Agropecuário …………... 19

Tabela 02 – Tabela Censo Agropecuário Histórico …………...…………….……… 20

Tabela 03 – Tabela de Transações de Tomate ………………………………………. 32

Tabela 04 – Tabela de Frequência de Localização Mais Próxima ………………… 33

Tabela 05 – Tabela de Frequência de Preço Mais Baixo …………………………… 33

Tabela 06 – Tabela Probabilidade Entre Proximidade e Efetivação de Negócio … 34

Tabela 07 – Tabela de Desperdício de Tomate no Transporte ……………………. 35

Tabela 08 – Tabela com Somatórios para Cálculos ………….. …………………… 36

Tabela 09 – Tabela de Rotas …………………. ……………………….…………….. 47

Tabela 10 – Tabela sobre Projeções de Receita …………………………………… 67

Tabela 11 – Tabela sobre Projeções de Despesas ………………………………… 68

Tabela 12 – Tabela Fluxo de Caixa ………………………………………………….. 69

Tabela 13 – Tabela Índice Financeiro ……………………………………………….. 71


LISTA DE SIGLAS

ANVISA Agência Nacional de Vigilância Sanitária

API Application Programming Interface

APP Application

ASO App Store Optimization

BD Banco de Dados

B2B Business to Business

CAF Código Nacional de Agricultura

CEAGESP Companhia de Entrepostos e Armazéns Gerais de São Paulo

CEASA Centrais Estaduais de Abastecimento

CEP Código de Endereçamento Postal

CPF Cadastro de Pessoa Física

CRISP Cross Industry Standard Process

CRUD Create, Read, Update and Delete

CSS Cascading Style Sheets

D Diagrama

DLL Dynamic Link Library

DM Data Mining

DML Data Manipulation Language

DQL Data Query Language

EVTE Estudo de Viabilidade Técnica e Econômica

FAO Food and Agriculture Organization

GPS Global Positioning System

HTTP HyperText Transfer Protocol


IBGE Instituto Brasileiro de Geografia e Estatística

IBM International Business Machines

ID Identity

JSON Javascript Object Notation

JS Javascript

MDN Mozilla Developer Network

MST Movimento Sem Terra

NPM Node Package Manager

ORM Object Relational Mapping

PHP Personal Home Page

RDC Resolução da Diretoria Colegiada

REST Representational State Transfer

RF Requisito Funcional

ROI Return on Investment

SESC Serviço Social do Comércio

SQL Structured Query Language

TCP Transmission Control Protocol

TCU Tribunal de Conta da União

TED Transferência Eletrônica Disponível

TIR Taxa Interna de Retorno

TMA Taxa Mínima de Atratividade

URL Uniform Resource Locator

VPL Valor Atual Líquido

XML Extensible Markup Language


SUMÁRIO

1. INTRODUÇÃO 14
1.1 JUSTIFICATIVA 16
1.2 OBJETIVOS 18
1.2.1 Objetivo Geral 18
1.2.2 Objetivos Específicos 18
2. REFERENCIAL TEÓRICO 19
2.1 DIMINUIÇÃO DA PRODUÇÃO DE MERCADO INTERNO 19
2.2 ESCOAMENTO ATUAL DA PRODUÇÃO E O DESPERDÍCIO 22
2.3 NECESSIDADE DE MELHORIAS 24
2.4 TECNOLOGIA E INFORMAÇÃO 25
2.5 VISÃO DO PROJETO 25
2.6 ANÁLISE DE INFORMAÇÕES 27
2.7 TRATAMENTO DE DADOS PARA AUXILIAR A GESTÃO AGRÍCOLA 28
2.8 INTELIGÊNCIA ARTIFICIAL 30
2.9 APRENDIZADO DE MÁQUINA, REGRESSÃO E CLASSIFICAÇÃO 31

3. MATERIAIS E MÉTODOS 39
3.1 LINGUAGENS E PLATAFORMAS 39
3.1.1 Javascript 39
3.1.2 Mysql e Sql 40
3.1.3 Node.js 40
3.2 FRAMEWORKS E BIBLIOTECAS 41
3.2.1 Express 41
3.2.2 React Native 41
3.2.3 Sequelize 42
3.2.4 Tensorflow.js 42
3.2.5 Socket.io 43
3.3 METODOLOGIA 43
3.3.1 Banco De Dados 43
3.3.2 Arquitetura Backend 45
3.3.2.1 Paradigma Utilizados 45
3.3.2.2 API 46
3.3.2.3 REST 46
3.3.2.4 Routes 47
3.3.2.5 Controllers 48
3.3.2.6 Models 49
3.3.2.7 Pacotes Complementares 50
3.3.3 Arquitetura Front-end 51
3.3.3.1 Componentização 51
3.3.3.2.Props 51
3.3.3.2 State 52
3.3.3.3 Estilização 52

5. REFERÊNCIA BIBLIOGRÁFICA 54

A. PLANO DE NEGÓCIOS 57
A.1 ANÁLISE DE MERCADO 57
A.1.1 Clientes 57
A.1.2 Concorrentes 58
A.1.3 Fornecedores 59
A.1.4 Plano de marketing 60
A.2 FUNCIONALIDADES 61
A.2.1 Acesso 61
A.2.2 Registro de Produção 62
A.2.3 Transações 62
A.2.4 Transporte 63
A.2.5 Chat 63
A.2.6 Gráficos 64
B. RETORNO DE INVESTIMENTO 65
B.1 CAPITALIZAÇÃO DO APLICATIVO 65
B.1.2 Viabilidade Financeira 67
B.1.2.1 Projeção de Receita 67
B.1.2.2 Projeção de Despesa 68
B.1.2.3 Fluxo de Caixa 69
B.1.2.4 Indicadores Financeiros 70

C. DOCUMENTO DE REQUISITOS 73
C.1 REQUISITOS DE SOFTWARE 73
C.1.1 Usuário 73
C.1.1.1 Requisitos de Usuário: 73
C.1.1.2 Requisitos de Sistema: 73
C.1.1.3 Requisitos Funcionais: 74
C.1.1.4 Requisitos não funcionais: 81
C.1.2 Estoque 82
C.1.2.1 Requisitos de Estoque: 82
C.1.2.2 Requisitos de Sistema: 82
C.1.2.3 Requisitos Funcionais: 82
C.1.2.4 Requisitos não funcionais: 85
C.1.3 Vendas 85
C.1.3.1 Requisitos do Usuário: 85
C.1.3.2.Requisitos do Sistema: 86
C.1.3.3 Requisitos Funcionais: 86
C.1.4 Gráficos 93
C.1.4.1 Requisitos do Usuário: 93
C.1.4.2 Requisitos de Sistema: 94
C.1.4.3 Requisitos Funcionais: 94
C.1.4.4 Requisitos não-funcionais: 96

D. ANEXOS 97
D.1 PROTOTIPAÇÃO 97
14

1. INTRODUÇÃO

A agricultura é a principal base de economia do Brasil, e uma das mais


antigas atividades de subsistência do país. Atualmente possui duas vertentes, a
agricultura voltada para o agronegócio, com o objetivo de produção baseada em
monocultura, lucros e exportação; e a agricultura familiar, regulamentada em julho
de 2006 sob a Lei nº 11.326, que estabelece considerações quanto a características
sócio econômica, tamanho de propriedades, capacidade de produção, nível de
organização familiar, entre outros requisitos.
A monocultura é definida pelo plantio de uma única espécie em uma área
extensa, desta maneira gera redução da biodiversidade que contribui para o
empobrecimento de nutrientes do solo e consecutivamente sua exaustão, gerando a
necessidade do uso de fertilizantes e agrotóxicos, contribuindo com os problemas
ambientais, porém, reduz os custos de produção com a produtividade intensa,
contribuindo para exportação e economia do país. Em contrapartida esta a
agricultura familiar, caracterizada por pequenas propriedades rurais que utilizam
predominantemente membros da família para desempenho das atividades, sua
produção como fonte de renda familiar e abastecimento de mercado interno do país;
utilizam técnicas de cultivo extrativista e práticas tradicionais de baixo impacto
ambiental, voltado à policultura que visa o plantio de diversas espécies numa mesma
área, mantendo a biodiversidade e contribuindo com a sustentabilidade
Dados do Censo ou recenseamento Agropecuário de 2017, afirmam que do
total de propriedades agrícolas do país, 77% são classificados como agricultura
familiar e ocupam apenas 23% da área total agrícola, em comparação às grandes
propriedades agrícolas, responsáveis pela produção de exportação, que detém
maior área física e menos propriedades. Dentre cinco milhões de propriedades
agropecuárias, existem mais de dez milhões de empregados, sendo a agricultura
familiar responsável por 67% da geração de empregos no campo.
A tecnologia proporciona muitas melhorias em inúmeras áreas, e na
agricultura não é diferente, porém, estes recursos tecnológicos possui valores
15
elevados e consequentemente favorecem apenas o agronegócio. Estes recursos
abrangem muitos maquinários e sistemas específicos, como aviões de pequeno
porte para irrigação e fertilização do solo, tratores, drones, sensores, sistemas de
irrigação, sistemas de gestão sobre produtividade, análise de solo, análise de
fertilizantes e corretivos específicos, mapeamento de área e muitos outros.
O mundo voltado para o desenvolvimento sustentável é favorável ao sistema
da agricultura familiar, mas, ainda existem muitos problemas envolvidos, falta de
estratégias na produção, acesso precário à negociação ou comercialização de
produtos, baixa remuneração da produção, distância dos comércios, insegurança
com relação a perda de produção, variação de preços de produtos, falta de
especialização, ausência de financiamento e vários outros.
Dentro de um setor de produção, quando analisamos a capacidade de
melhorias, unimos isso a expansão de produtividade e oportunidades de negociação,
porém, neste setor, maior produtividade está relacionado a mão de obra, que muitas
vezes já é excessivo por falta de estratégias. Desta forma, devemos analisar o
problema como um grande sistema em que depende de pequenos subsistemas,
caso haja algum defeito, o sistema continua funcionando, porém, de forma
ineficiente; assim, a utilização de um sistema de parcerias entre fornecedor
(produtor) e comerciante, de forma que possibilite um destino a produção com o
mínimo de perdas, contribui com uma parte das engrenagens, e com uma
preocupação a menos, é possível voltar a atenção para uma análise geral e
melhorias em outras partes.
16

1.1 JUSTIFICATIVA

Conforme estimativa da Organização das Nações Unidas para Alimentação e


Agricultura (FAO), o Brasil desperdiça 26,3 milhões de toneladas de alimentos por
ano, cerca de 30% daquilo que é produzido tem o lixo como destino. O desperdício
de alimentos não se limita somente aos pequenos e grandes produtores, mas
também a indústria, comércio, transporte e residências, e lembrando que
estimativas definem apenas valores aproximados.

Segundo TCU, que possui um Setor de Políticas Institucionais de


Sustentabilidade, que abrange conceitos e práticas sustentáveis sob aspectos
físicos, tecnológicos e humanos da organização, admite que não há lei que proíbe
doações de alimentos, porém a existência de uma Resolução (RDC) 216/2004 da
Anvisa, estabelece inúmeras normas técnicas de boas práticas para serviços de
alimentação, como preparação e armazenamento, de forma que alimentos
produzidos e repassados em doações possam causar intoxicação alimentar e
colocar o doador sob pena de punição criminal na Lei 8.137 de 1990 (Dos crimes
praticados por particulares), que estabelece segurança ao consumo humano em
gêneros alimentícios. De fato inúmeros restaurantes nas grandes cidades se
encontram impedidos de qualquer atitude de combate ao desperdício e a fome de
muitos necessitados, pois além de punição criminal existe a possibilidade de multas
para o estabelecimento.

Existem vários projetos que tramitam pelo Congresso Nacional e outros já


em execução, como doação de alimentos para fabricantes de adubo; transformação
de alimentos impróprios para venda, mas em boas condições em algo comercial;
bancos de alimentos como o Colheita Urbana e Mesa Brasil (SESC) , baseado em
parcerias que busca alimentos onde sobra e entrega onde falta, recolhem de
comércios e indústrias e entregam em instituições sociais devidamente cadastradas;
porém ainda são poucas iniciativas comparadas ao montante diário de desperdício.
17
Outro problema que compromete o desenvolvimento da agricultura é a
migração de jovens de propriedades rurais para cidades, restando apenas os
familiares de idade mais avançada, o que compromete muitas vezes o rendimento
da produção. Em busca de melhores condições de trabalho, capacitação e laser,
causam muitas vezes superlotação em centros urbanos, diminuição da taxa de
emprego e consequentemente marginalização; comprometendo a ordem social e
econômica de ambos os lados. Sendo assim, uma oportunidade de aproximação aos
canais de comércio traz possibilidade de melhorias, amplitude na visão à novas
necessidades, perspectiva à aprendizagens e estratégias, pode evitar essa futura
migração e dar condições para que o agricultor possa se desenvolver
financeiramente .

Com várias medidas aplicadas e bem utilizadas pelo produtor, como melhores
práticas de cultivo e irrigação, adequação de produção conforme demanda,
melhores estratégias para evitar riscos e um sistema de gestão de controle de todas
as movimentações de compra e venda, devidamente registradas, possibilita
valorização do produtor rural, facilitando linha de crédito em instituições
financeiras, apoio de políticas pública ou apoio financeiro para possíveis
investimentos na propriedade.

A facilitação entre parcerias evita gastos de energia por ambas as partes,


evita desperdícios em caso de produtos perecíveis, alavanca as vendas de produtos
excedentes, possibilitando o acompanhamento e controle sobre as movimentações
geradas, contribuindo para que os produtos cheguem até o consumidor final com
melhores preços e em melhores condições, sem intermediações e diminuindo um
problema mundial, “o desperdício de alimentos”.
18

1.2 OBJETIVOS

1.2.1 Objetivo Geral

O objetivo do sistema é criar um vínculo mais próximo entre o produtor e o


comerciante (ou entidades de arrecadação para doações) e gerar uma gestão
voltada à estratégias de melhorias, a partir da análise sobre a movimentação.

1.2.2 Objetivos Específicos

● Criar parcerias de compra e venda entre fornecedores e comerciantes


● Criar o cadastro vinculado a localização com o objetivo (de identificar oferta e
demanda com a menor distância possível) de melhores rotas e manter
proximidade entre as partes
● Manter um histórico de relacionamentos para transações futuras
● Obter informações detalhadas de produção baseada em períodos (semanas,
meses e anos).
● Desenvolver através da análise dessas informações o melhor resultado para
produção com relação a estoque, lucros ou prejuízos.
● A partir desse desenvolvimento, juntar as partes de fornecimento, comércio e
doação em uma única plataforma para que possam se comunicar e obter
melhores desempenhos e traçar informações futuras.
● Consultas de bases de dados externas, para auxiliar em análises e vinculação
de dados já presentes na plataforma.
● Incluir método de pagamento para garantir a transação efetivando a venda.
● Possibilitar periodicamente novas implementações, viabilizando melhorias e
adequando a necessidades específicas da produção.
19

2. REFERENCIAL TEÓRICO

2.1 DIMINUIÇÃO DA PRODUÇÃO DE MERCADO INTERNO

Conforme levantamento do último Censo Agropecuário de 2017, feito pelo


IBGE, em comparação ao Censo anterior feito em 2006, houve uma redução na
quantidade de pessoas que integram a agricultura familiar e na quantidade de
estabelecimentos, porém houve um aumento sobre a área da agricultura.

Tabela 01 - Tabela Comparação sobre os últimos Censo Agropecuário

Fonte: Agência IBGE Notícias


20
A agricultura de um modo geral possui várias divisões, entre elas a
agricultura familiar (que integram famílias rurais, famílias indígenas e famílias do
MST), agricultura patronal e agricultura empresarial ou agronegócio.

A mudança ocorrida está relacionada a várias questões, de forma que a


diminuição da mão de obra familiar passou a integrar o aumento da mão de obra de
terceiros, empreiteiros, empresas agrícolas e cooperativas; a redução de
estabelecimentos familiar se refere a propriedades que passaram a integrar áreas
patronais e de terceiros. Toda essa mudança traz consigo o aumento do agrotóxico,
que potencializa a produção com menores custos, porém traz um risco evidente para
os consumidores.

Tabela 02 - Tabela Censo Agropecuário Histórico

Fonte: Agência IBGE Notícias

Outras características foram contabilizadas, como o aumento da participação


de mulheres e idosos, aumento da mecanização na produção, sistemas de irrigação,
investimento em tecnologia, pesquisas genéticas, pesquisas sobre transgênicos,
21
aumento do uso da internet, e inúmeras outras. É evidente que as melhorias estejam
predominantemente voltadas ao agronegócio, porém a existência destas pesquisas,
assim como as ferramentas criadas são fundamentais para obter melhorias, e obriga
a nos adequar à menores escalas.

O IBGE também contabilizou a taxa de crescimento populacional brasileiro


em média de 0,77% ao ano, e em 2017 com total de 207.660.929 pessoas,
obviamente com a produção agrícola voltada ao mercado interno diminuindo e a
população aumentando, futuramente teremos grandes problemas.

De um modo geral não há uma divisão clara sobre a produção do mercado


interno com relação a agricultura familiar e agricultura patronal (ou terceirizada),
porém os produtos voltados ao consumo interno possui predominantemente
produtos perecíveis, de baixo custo e grande risco de desperdício, ou seja,
possuem alto risco e não são atrativos para investimentos.
22

2.2 ESCOAMENTO ATUAL DA PRODUÇÃO E O DESPERDÍCIO

Toda produção agrícola em média ou larga escala, são direcionadas a


CEAGESP e CEASA, criadas pelo Governo Federal Brasileiro em 1969, com o
objetivo de facilitar a comercialização entre produtores e comerciantes, melhorar a
didática da distribuição e facilitar o armazenamento de grãos, porém atualmente
existem muitos intermediários nesta negociação, encarecendo o produto,
aumentando o percurso da localização e o tempo entre as negociações, criando
assim maiores riscos aos produtos perecíveis.

Cada central de abastecimento é dividida em áreas ou boxes, que são


alugadas por empresas privadas, denominado como comerciante ou permissionário
(que possui uma licença), este aluga o espaço para o produtor e recebe 17% sobre
o total da venda, após negociação o produtor envia seu produto por meio de um
transporte até a central e carregadores autônomos levam o produto até o box
respectivo, assim o produtor é responsável pelo pagamento do transporte,
pagamento do carregamento até o box e do espaço do box, obviamente esse
repasse de valores não fica apenas sobre o produtor mas também sobre o
consumidor final. Há uma divisão de determinados produtos a cada dia da semana
(frutas, legumes, hortaliças, ovos, pescados, flores e plantas) e toda venda é
destinada a venda no atacado, assim quantidade mínima são estabelecidos
conforme cada produto, lembrando que estes produtos serão vendidos aos
comércios e estabelecimentos como restaurantes e outros. Algumas redes varejistas
possuem produtor direto, por ser mais vantajoso, eliminar custos de intermediação e
por compras em grande escala, como Carrefour, Grupo Pão de Açúcar e Walmart.

A Ceagesp também possui silos de armazenamento e processamento


(secagem, limpeza e padronização) de grãos, como milho, soja, trigo, e outros,
geralmente o produtor não possui espaço suficiente para tais procedimentos. Possui
capacidade para estocar mais de 850 mil toneladas de produtos, com um total de 18
entrepostos, localizadas em Araraquara (três unidades), Avaré (duas unidades),
23
Bauru, Botucatu, Fernandópolis, Palmital, Pederneiras, Presidente Prudente,
Ribeirão Preto, São Joaquim da Barra, São José do Rio Preto (duas unidades), São
Paulo ( maior do mundo), Tatuí e Tupã. Estes entrepostos recebem produtos de
cerca de 35 mil produtores, 1500 municípios, 24 estados brasileiros e mais 19
países, com volume total anual de 3,4 milhões de toneladas. De acordo com o
Ceagesp, por deficiência do sistema de logística 150 toneladas de alimento vão para
o lixo por dia, o que corresponde a 1,36% de todo movimento local.

Figura 01 - Entrepostos e Armazéns Gerais de São Paulo

Fonte: Ceagesp

Conforme o IBGE 41 mil toneladas de alimentos vão para o lixo por ano no
Brasil. Conforme a FAO, anualmente 1,3 milhões de toneladas de produtos
alimentícios são desperdiçados no mundo.

De fato este modelo se tornou ineficiente, não só pela questão de custo mas
por problemas como desperdício por conta do manuseio, tempo e a dinâmica nos
transportes, pois toda essa produção segue em direção ao Estado de São Paulo
para ser redirecionada a inúmeros comércios, mesmo fora de São Paulo.
24

2.3 NECESSIDADE DE MELHORIAS

A FAO representa cooperação internacional entre América Latina, Caribe e


África, e possui responsabilidade sobre projetos e ações voltadas à gestão
sustentável dos recursos naturais, promovendo desenvolvimento agrícola, melhoria
da nutrição e segurança alimentar; busca a introdução de uma produção
agroecológica para sustentabilidade social e ambiental, sob novos mecanismos de
adaptação aos efeitos climáticos conforme bioma de cada região, combatendo assim
a desertificação do ambiente, e conforme análise o Brasil deve multiplicar a
produção para evitar a escassez do consumo interno.

Algumas propostas de melhorias da FAO com relação à logística é gerar


responsabilidade sobre o agente de produção, transporte e comércio; criação de
uma estrutura legal para produtores e seus compradores; programa de
modernização na logística e conservação de produtos; padronização de
embalagens; transformação dos programas de compra pública em ferramentas de
melhoria e competitividade, e de inserção no mercado da agricultura familiar; acesso
a internet e telefonia rural; entre outros.

Obviamente cada sistema de produção possui sua deficiência específica e


deve se adequar às suas possibilidades e necessidades, com relação aos recursos
naturais e ambientais que possui, criando um planejamento voltado ao controle da
produção com qualidade, controle sobre custos e despesas, controle sobre possíveis
investimentos (como maquinário ou adequação de embalagens com identificação
própria), de forma que possibilite escoamento rapidamente de sua produção.
25

2.4 TECNOLOGIA E INFORMAÇÃO

A tecnologia é uma enorme aliada na gestão da agricultura, através de


ferramentas específicas é possível obter informações para análise e gerar
planejamento voltado a diminuição de custos e despesas, se adequar a capacidade
de produção, melhorar a tomada de decisão sobre o que produzir e a demanda de
mercado, melhorar técnicas de produção ou nível de produtividade, entre outras
melhorias. A EMBRAPA por exemplo, possui inúmeras ferramentas voltadas para
agricultura, porém não são utilizadas por falta de informação ou falta de recursos;
tais ferramentas como acervos de materiais digitais, entre eles Alice, Sabiia e
Infoteca, que possui muitos materiais voltados para técnicas de cultivo, criação de
animais, gestão da agricultura e muitos outros (todos materiais criados por
Engenheiros Agrônomos, Engenheiros de Alimentos, Médicos Veterinários, Biólogos,
Pesquisados de Meio Ambiente, Zootecnistas, etc); possui também soluções
tecnológicas com pesquisas científicas, manejo e inclusão digital, como softwares
livres com intuitos específicos, que identifica e analisa doenças em plantas e solo a
partir de imagens, sistemas voltados à produção e gestão que viabilize melhores
decisões, com menos riscos. São 76 softwares, alguns com funções similares e
muitos informativos disponibilizados, porém necessita o mínimo de incentivo, tempo
para utilização e transparência sobre o conteúdo.

2.5 VISÃO DO PROJETO

A partir das informações obtidas, podemos observar inúmeras deficiências no


sistema atual, sendo assim compreendemos a necessidade de um sistema que
comercialize produtos agrícolas em uma localidade mais próxima possível ao
produtor, gerando melhores rotas e evitando gastos com combustível
desnecessário, diminuindo intermediações entre o produtor e comerciante,
diminuindo o período de tempo entre negociação, possibilitando uma identificação do
26
produtor com os seus respectivos produtos, diminuindo o risco de desperdício e
possibilitando que produtos de melhor qualidade cheguem a mesa do consumidor
final.
Para que o sistema possa manter a segurança mínima entre as transações, o
sistema deve possibilitar o cadastro a partir do CPF ou CNPJ do usuario e
respectivamente validar suas informações através de uma conta existente (email ou
rede social), deve possibilitar identificação como produtor ou comerciante, e
respectivamente validar endereço a partir da localização ou inserção manual do
endereço, assim como deve possuir as outras funções respectivas ao cadastro
criado ( inserir, alterar e excluir).
O sistema deve possuir um módulo sobre controle financeiro de forma que
identifique todas as despesas com a produção, a partir da inserção de gastos com
combustível, energia elétrica, adubo, sementes, defensivos agrícolas e quaisquer
elementos necessários para o processo de produção, e custos diversos como
embalagens para comercialização do produto, manutenção de instalações ou
equipamentos, armazenamento, seguros, mão de obra, impostos, e outros.
O sistema também deve possuir um módulo para produtos, de forma que
possibilite ao fornecedor e comerciante buscar, e marcar produtos existentes no
banco de dados ou inserir novos produtos, no caso do produtor serão os produtos
que ele possui, e no caso do comerciante serão produtos de interesse para futuras
transações; também deve identificar possibilidade ou não de transporte, de forma
que gere sobre o mesmo um valor agregado conforme distanciamento; este módulo
voltada ao produtor deve possibilitar uma previsão de data para comercialização, de
forma que defina uma visão de estoque existente, mesmo que o produto ainda não
esteja colhido pode ser inserido a quantidade de mudas plantadas e posteriormente
pode verificar a existência de perdas, inserindo a quantidade correta para transação.
Após inserção de seus produtos com a devida quantidade e valor, o sistema
deve enviar notificação aos comerciantes cadastrados em uma distância padrão de
100 km ou a distância especificada pelo produtor. O produtor também pode buscar o
27
comércio cadastrado mais próximo; ou receber mensagem de comerciantes
interessados.
Após vinculação entre produtor e comerciante com a inserção dos respectivos
produtos, quantidades, forma de entrega e data para efetivação, o sistema deve
gerar a transação sobre o pagamento da mercadoria, concluir a venda e armazenar
os dados em um banco, possibilitando análise sobre todas as movimentações.
Posteriormente a entrega deve gerar um questionário para avaliação sobre as
partes, mantendo uma pontuação e analisando necessidades futuras.

2.6 ANÁLISE DE INFORMAÇÕES

Através do registro de toda movimentação é possível gerar informações que


agreguem o sistema de forma eficiente e voltada ao próprio negócio, é a fonte de
conhecimento absorvido que possibilita tomar decisões coerente com a
necessidade, otimizando recursos, processos e estratégias com planejamento
específico para transformação do negócio.
Foram incluídos algumas definições sobre os registros gerados, de forma que
a partir da disponibilização dos produtos na plataforma feita pelo produtor, é possível
gerar notificações ao comerciante conforme registro existente de relações anteriores,
possibilitando novas transações; identificar um valor médio sobre os produtos a
partir de menores e maiores preços; obter informações detalhadas sobre períodos
(semanas, meses ou ano) de produção e nível escalar, identificando produção
excedente ou necessidade de expansão (cálculo sobre a quantidade que produz e a
quantidade que vende); gerar cálculo sobre custo de combustível com transporte
conforme distanciamento entre as partes; possibilitar transparência sobre o
desempenho financeiro da organização, conforme inserção de despesas e receitas
e possibilitar acompanhamento e adequação sobre atividades, contribuindo para
diminuição dos gastos e aumento de lucros.
28

2.7 TRATAMENTO DE DADOS PARA AUXILIAR A GESTÃO AGRÍCOLA

Dentre as funcionalidades oferecidas aos usuários do aplicativo, como já


mencionado anteriormente, estão a obtenção dos produtos mais vendidos, cliente
com maior volume de vendas, produto e preço com maior viabilidade para produção
e venda, previsão do tempo, relação de transporte e desperdício, entre outras
funcionalidades, para retornar tais resultados os dados inseridos e obtidos pelo uso
do aplicativo deve ter tratamento adequado por meio de um processo, uma das
abordagens de processo de dados mais difundidas é o CRISP-DM que implica nos
três primeiros passos fundamentais de compreensão do negócio, compreensão de
dados e preparação de dados (TAULLI, 2020, p48).

Figura 02 - Processo CRISP-DM

Fonte: TAULLI, 2020, p48.


29

A compreensão de negócio como passo inicial é relevante para obter as


informações que levarão à resolução de um problema, por exemplo a obtenção do
melhor custo benefício em um produto, quais são os aspectos ou variáveis que
devem ser levadas em consideração para se chegar nesse resultado, o segundo
passo referente a compreensão dos dados se apoia na observação de três fontes
principais de informação: dados internos, dados de código aberto e dados
terceirizados.

Os dados internos podem ser recebidos diretamente do canal ou ferramenta


de interface com o usuário, pode ser um site, aplicativo ou qualquer outro meio que
permita capturar informações, já nos dados de código aberto ou terceirizado as
informações são obtidas de fontes externas podendo-se diferenciar pelo custo de
acesso, dados terceirizados são pagos e geralmente não têm boa qualidade.

Segundo Taulli, para avaliar a qualidade das informações ou dados, pode-se


observar se estão completos, qual a origem, quais os ponto de coleta dos dados, se
foram manipulados ou processados e por quem, quais são os pontos de alteração
nos dados e se há pontos de problema de qualidade evidentes. (TAULLI, 2020, p53).

A preparação dos dados talvez seja um dos passos de maior impacto no


resultado final, é neste ponto que são decididos os grupos de dados para uso, os
chamados datasets, e também uma limpeza ou filtro pode ser realizada seguindo
medidas como deduplicação para exclusão de dados duplicados, verificação de
dados discrepantes ou fora do escopo, garantir consistência das variáveis de forma
que não assumam diversos significados, regras de validação de forma a estabelecer
limitações dos dados, promover o armazenamento de dados relevantes ou triviais,
realizar a fusão de dados similares, implementar uma codificação one-hot para
parametrizar dados não numéricos preferencialmente com uso de 0 e 1 para
referenciar se o atributo existe ou não existe em um registro de dados, e por último o
uso de tabelas de conversão para casos de medidas ou pesos.
30

2.8 INTELIGÊNCIA ARTIFICIAL

Há diversas discussões sobre uma definição conclusiva para Inteligência


Artificial, alguns estudiosos afirmam que ainda é difícil um consenso conforme
menciona Medeiros em sua obra Inteligência Aplicada ao apontar para diversos
estudiosos e conceitos isolados de inteligência para posteriormente relacioná-la à
uma forma artificial, um dos conceitos mencionados por Medeiros é o de Jean Piaget
que define inteligência a partir da interatividade de um indivíduo em determinado
ambiente de forma equilibrada entre assimilação e acomodação que seriam
respectivamente armazenar aspectos relacionados ao ambiente ao aprendizado
acarretando no segundo aspecto que é a mudança de comportamento mediante
novas interações com o ambiente e deste processo seria formada uma estrutura
cognitiva que remetem diretamente ao comportamento, menciona ainda outros
estudiosos como matemático e cientista da computação Marvin Minsky e o psicólogo
Howard Gardner que ambos apontam a inteligência como a capacidade de resolver
problemas e em seguida lista algumas características comuns em diversas
definições como: capacidade de resolver problemas, aprendizado ao interagir com o
ambiente, orientação a metas e desenvolvimento de estruturas cognitivas
(MEDEIROS, 2018, p18-19).

Quando a inteligência é inserida no âmbito da computação ela pode ser vista


como sua automação baseada em diversos princípios de implementação tais como
estrutura de dados e implementação de algoritmos por meio de linguagens de
programação, definições de inteligência artificial podem ser categorizadas em
processos de pensamento e processos de ação e sistemas que pensam como seres
humanos e sistemas que pensam racionalmente, como exemplo de sistemas que
pensam como humanos estão as implementações que permitem que computadores
e máquinas tomem decisões a partir de informações e conhecimento obtidos de
pessoas, são eles os sistemas especialistas ou de tomada de decisão, já os
31
sistemas que pensam racionalmente executam regras de lógica definidas, podem
ser por exemplo programas que e possibilitam implementar jogos interativos pois as
regras programadas são definidas antecipadamente.

2.9 APRENDIZADO DE MÁQUINA, REGRESSÃO E CLASSIFICAÇÃO

Segundo Gerón, o aprendizado de máquina pode ser considerado uma


ciência ou até mesmo uma arte de programar computadores para que eles possam
aprender com dados (GERÓN, 2019, p4), em inteligência artificial, algoritmos de
regressão e classificação são recorrentes para a aplicação na área de gestão,
marketing, administração pois estão diretamente relacionados a avaliações de
performance ou segmentação e identificação de padrões, fazem parte de um
segmento de Machine Learning chamado de aprendizagem supervisionada
conforme ilustra o quadro a seguir.

Figura 03 - Framework geral para processos de machine learning

Fonte: TAULLI, 2020, p48.


32

Algoritmos de aprendizagem supervisionada utilizam dados rotulados, existem


inúmeros algoritmos, dentre os mais usados estão o de Naive Bayes e o K-NN
(TAULLI, 2020, p80), o algoritmo Naive Bayes pode utilizar três variações de
classificação, a variação Bernoulli corresponde ao dados binários, a variação
Multinominal é referente aos dados discretos e a variação Gaussian corresponde a
dados distribuídos de forma normal, pode ser usada para identificar padronizações
por determinadas características e viabilizar a implementação para previsões
meteorológicas e segmentação de clientes, um exemplo de aplicação pode ser visto
a seguir com dados aleatórios em um cenário de uso do aplicativo Colheita Certa e
armazenamento de informações como o fator de proximidade entre produtor e
cliente, efetivação de compra e preço.

Tabela 03 - Tabela de transações de tomate

Fonte: Autores, 2020.


33

Tabela 04 - Frequência de localização mais próxima

Fonte: Autores, 2020.

Tabela 05 - Frequência de preço mais baixo

Fonte: Autores, 2020.

No exemplo visto a efetivação da venda do tomate é considerada como o


evento e atributos de mais próximo ou preço mais baixo são as variáveis
independentes e assim pode-se extrair a probabilidade.
34
Tabela 06 - Probabilidade entre proximidade e efetivação de negócio

Fonte: Autores, 2020.

Após a aplicação do algoritmo de Naive Bayes, utilizando o tipo de dados


bernoulli ou binário, pode-se perceber no exemplo que a probabilidade de efetivação
da venda de tomate é de 80% quando há maior proximidade entre produtor e cliente.

O algoritmo K-NN é mais comum para agrupamento de um conjunto de


dados, por exemplo, os atributos que podem classificar o quanto um produtor é bom
de forma que os clientes tenham visibilidade disso na aplicação como por exemplo
se ele faz entrega no prazo, cumpre o acordado, produto fornecido é de qualidade,
se faz um bom atendimento, política de troca, bom preço, entre outros possíveis
atributos que possam gerar um indicador para os clientes. Para o agrupamento de
entidades os vizinhos mais próximos, ou indivíduos com atributos similares
considerados de acordo com os atributos comuns. podem receber pesos variados
para evidenciar melhor a classificação.

Outro tipo de algoritmo de classificação é o de regressão, no exemplo a seguir


há uma aplicação do algoritmo de regressão linear para avaliar e prever qual o nível
de desperdício que um produtor terá ao enviar sua produção a um determinado
cliente em uma relação de distância entre produtor/fornecedor e o desperdício
ocasionado no transporte.
35
A regressão utiliza cálculos que possibilitam traçar uma linha de ajuste, como
por exemplo o cálculo de menos quadrados para minimizar erros e em seguida o
cálculo de R-quadrado para obter a precisão (TAULLI, 2020, p85), poucas variáveis
são utilizadas para ilustrar o processo do algoritmo demonstrado a seguir, quanto
mais variáveis é possível obter mais realismo da situação que influencia no
desperdício, por exemplo, tipo de embalagem, tipo de veículo, condições da estrada,
entre outros, há ainda casos em que os dados oscilam em que o tipo de algoritmo
mais indicado é o de regressão polinomial.

Tabela 07 - Tabela de desperdício de tomate no transporte

Fonte: Autores, 2020.

Após o devido armazenamento dos dados é possível tratá-los com o cálculo


da equação da reta de regressão, da inclinação e do intercepto de y, b.

Figura 04 - Equações de inclinação e intercepto de y, b

Fonte: LARSON, FARBER 2015, p455.


36

Para facilitar a compreensão da aplicação dos valores nas fórmulas uma nova
tabela pode ser construída com os valores de x e y definidos e seus somatórios já
calculados conforme abaixo.

Tabela 08 - Tabela com somatórios para cálculos

Fonte: Autores, 2020.

Ao aplicar os valores da tabela 6 nas equações chega-se aos valores de


inclinação m = 0,001598964 e intercepto b = 0,046414508, desta forma é possível
obter o modelo e prever valores substituindo as variáveis m, x e b na equação da
reta que é ŷ = mx + b, ou seja, supondo uma distância de 15 km pode ser obtida a
porcentagem de desperdício no transporte substituindo as variáveis de m, x e b
resultando na equação ŷ = 0,001598964 * 15 + 0,046414508 pela qual obtêm-se o
valor de 0,07 ou 7% de desperdício, o modelo poderia ser descrito como Desperdício
= 0, 001598964 * Distância em Km + 0,046414508.

Por meio do cálculo de R-quadrado é possível verificar a precisão do modelo


da reta, quanto mais próximo de 1 significa que tem maior precisão, uma das formas
37
de se obter o R-quadrado é obtendo o coeficiente de correlação e posteriormente
elevando-o ao quadrado, é também chamado de coeficiente de determinação
(BONAFINI, 2015, p219), uma segunda forma de se obter o R-quadrado é realizando
os cálculos da variação explicada em que a soma dos quadrados da diferença entre
cada y obtido por meio da fórmula da reta e o y médio que é a média de todos os
valores de y dividido pela variação total que é a soma do quadrado da diferença
entre cada y e y médio (LARSON; FARBER, 2015, p466).

Figura 05 - Equação de coeficiente de correlação

Fonte: LARSON, FARBER 2015, p442.

Seguindo a fórmula acima obtem-se que r = 0,938524718 e em seguida r² =


0,880828646 conforme demonstrado na expressão abaixo.

Figura 06 - Expressão para obter R-quadrado a partir do coeficiente de correlação

Fonte: Autores, 2020.


38
Figura 07 - Variação total, variação explicada e coeficiente de determinação

Fonte: BONAFINI, 2015, p218.

O mesmos resultado para R-quadrado pode ser obtido aplicando as fórmulas


da imagem anterior em que a variação total é ∑(y - ȳ)² = 0,046683333 e variação
explicada é ∑(ŷ - ȳ)² = 0,041120017, por fim o R-quadrado pode ser encontrado em
r² = 0,041120017 / 0,046683333 = 0,880828646, com isso conclui-se que a precisão
da previsão calculada é de aproximadamente 88% que é o percentual que pode
explicar a relação entre a distância do transporte e o percentual de desperdício da
mercadoria, os outros 12% de casos não podem ser observados nessa projeção.

Os cálculos são bastante densos, a regressão linear explanada é apenas um


dos muitos cálculos utilizados no aprendizado de máquina supervisionado,
felizmente existem inúmeras bibliotecas para diversas linguagens de programação
que tornam o processo mais ágil e prático, ter um certo conhecimento de como são
realizados tais cálculos pode auxiliar na codificação de algoritmos e por esta razão
faz-se necessário discorrer sobre eles, dentro deste universo de bibliotecas voltadas
ao aprendizado de máquina está o Tensor Flow, uma solução aderente para o
desenvolvimento de aplicativos visando obter a melhor performance possível, pois
esta biblioteca além de ser de código aberto desde 2015, possui vasta
documentação e é flexível rodando em sistemas operacionais Windows, Linux,
MacOs, Android e iOS (GERÓN, 2019, p234), possibilita a renderização tanto no
front-end como no back-end, mais adiante outros aspectos dela serão vistos com
mais profundidade.
39

3. MATERIAIS E MÉTODOS

3.1 LINGUAGENS E PLATAFORMAS

3.1.1 Javascript

Uma linguagem que vem ganhando bastante reconhecimento na área de


desenvolvimento é com certeza a Javascript, surgiu em 4 de dezembro de 1994,
criada por Brendan Eich para criar funções dinâmicas dentro de websites, é uma
linguagem fracamente tipada e com multiparadigmas, sendo também umas das
linguagens mais recomendadas para quem quer começar dentro do mundo da
programação. A linguagem recebeu a partir de 1996 uma padronização pela ECMA
International, onde anualmente é lançada uma nova padronização incluindo novas
features para a linguagem.
Segundo uma pesquisa feita pelo StackOverflow (plataforma voltada para
incentivo ao desenvolvimento em diversas linguagens de programação, baseada em
perguntas e respostas, e publicação de artigos sobre inúmeros temas), Javascript é
a linguagem mais popular do site.

Figura 08 - Linguagens mais populares do site StackOverflow

Fonte: Página oficial do Stackoverflow.

A crescente popularidade da linguagem se deve ao fato de sua utilização ser


tanto na camada de visualização do usuário (frontend), como na camada do servidor
40
(backend), utilizando assim uma única linguagem para desenvolvimento de
aplicações. Também deve sua popularidade pela comunidade que surgiu em torno
da linguagem, onde é lançado diariamente novos frameworks para facilitar a vida
dos programadores.

3.1.2 Mysql e Sql

MySQL é um sistema de gerenciamento de banco de dados que utiliza a


linguagem SQL como padrão. Foi criado na Suécia a partir de 1980 por David
Axmark, Allan Larsson e Michael Widenius. A popularização do uso do MySQL se
deve a sua simplicidade de utilização de interface, fácil conexão por outras
linguagens de servidor (tendo como PHP a linguagem de programação que mais
utiliza o banco) e ser multiplataforma, podendo ser executado em vários sistemas
operacionais.
SQL é uma linguagem de banco de dados baseado em queries (consultas).
Foi criado no início dos anos 70 pelos laboratórios da IBM para ver a capacidade de
implementação do uso do modelo relacional entre entidades. Atualmente a
linguagem SQL é utilizada na maioria dos bancos de dados devido a sua facilidade
de utilização.
Dentro da linguagem SQL existem subconjuntos de operações para manipular
os dados do banco, as mais importantes e que serão utilizadas dentro do projeto são
DML (funções de manipulação de dados. insert, delete e update), DLL (funções de
definição de dados. create table, create index, create view e etc) e DQL (funções de
consulta de dados usando o comando select).

3.1.3 Node.js

Node.js é uma plataforma de desenvolvimento da linguagem Javascript do


lado do servidor de modo assíncrono, criado por Ryan Dahl em 2009. Ele foi
41
implementado baseado no interpretador V8 utilizado no Google Chrome e escrito em
na linguagem de programação C++. O Node.js também conta com gerenciadores de
pacotes para melhorar o desenvolvimento onde o mais famoso é o NPM.
O diferencial do Node.js é o seu uso de uma única thread para tratar as
requisições, impedindo um código bloqueante de multi-threads, usando o chamado
Event Loop, que trata cada uma das requisições como eventos em uma fila de
callbacks. Os usos mais comuns para usar Node.js no servidor é dirigida ao
desenvolvimento de API integradas a bancos SQL e NoSQL, desenvolvimento de
aplicações em tempo real como chats, ambientes escaláveis e mocks.

3.2 FRAMEWORKS E BIBLIOTECAS

3.2.1 Express

Express.js é um framework Javascript de código aberto, desenvolvido para


criação de aplicações web e API dentro do ambiente Node.js. A API do express
fornece todos os métodos HTTP para requisições web como GET, POST, PUT e
DELETE. O framework foi criado em 2010 por TJ Holowaychuk é atualmente usado
por PayPal, Uber e IBM.

3.2.2 React Native

React Native é um framework de código aberto criado pela equipe do


Facebook em 2015. Este framework surgiu após uma necessidade da equipe do
Facebook em melhorar o aplicativo, que se baseava no HTML5 e não em
componentes nativos dos dispositivos mobile. O framework se baseia em sintaxe
JSX (Javascript XML) que consegue gerar componentes tanto para Android como
IOS.
42

3.2.3 Sequelize

Sequelize é uma ORM Node.js para mapeamento de entidade baseado em


banco de dados relacionais. É capaz de integrar bancos como MySQL, SQL Server,
Postgres, MariaDB e SQLite. Apresenta método pré prontos para busca,
manipulação, edição e deleção de registros dentro do banco de dados sem a
necessidade de se criar queries extensivas. Também é suportado migrações para
qualquer alteração de banco.

3.2.4 Tensorflow.js

Tensorflow.js é uma biblioteca de código aberto Javascript criada pelo Google


capaz de criação e treinamento de redes neurais, podendo ser capaz de avaliar
padrões equivalentes ao de seres humanos, sendo atualmente uma das bibliotecas
padrões para Machine Learning e Deep Learning. A biblioteca é multiplataforma,
podendo ser executada em Windows, MacOS, Linux, Android e IOS.
A mecânica de aprendizagem do Tensorflow é baseado em tensores, onde o
programador deve informar qual o tipo de tensor, de 2, 3, 4 ou 5 dimensões, deve
ser informado e o tipo de algoritmo que se quer aplicar como de regressão linear,
árvore de busca, Nearest Neighbor, Bayes e etc.
A biblioteca do Tensorflow também conta com uma dashboard para analisar
os resultado feitos pela aprendizagem, podendo ver valores de perdas e precisão
gerados pelos algoritmos utilizados.
43
Figura 09 - Dashboard Tensorflow

Fonte: Página oficial do Tensorflow.

3.2.5 Socket.io

O Socket.io é uma biblioteca Javascript para uso tanto no lado do servidor


pelo Node.js como no lado do cliente para comunicação bidirecional entre clientes
em tempo real, usando o protocolo Websocket de TCP. Essa comunicação em
tempo real é notável na criação de chats, streamings de vídeos, compartilhamento
de documentos entre outras funcionalidades envolvendo real-time.

3.3 METODOLOGIA

3.3.1 Banco De Dados

A arquitetura do banco de dados foi desenhada e pensada com base no


estudo de entidades e seus relacionamentos. Primeiro foi necessário olhar de forma
geral os módulos de funcionalidades do projeto para criar uma ideia de construção
no banco de dados. Para isso é necessário pensar em passos que devem ser
seguidos desde a primeira funcionalidade da aplicação.
44
Com a análise de funcionalidades, é necessário em seguida pensar como
elas criam as entidades. Se pensarmos em um método de criação de um novo
usuário no banco de dados para lhe dar acesso de logar na aplicação, deve-se
pensar quais são as informações necessárias para a criação de tal usuário e como
desmembrar essas informações em mais subconjuntos para que se criem novas
entidades relacionadas a tal usuário. Dessa forma a criação de um banco de dados
vai se expandindo cada vez mais quando se pensa na modelagem baseada em
módulos, pois dessa forma é que se consegue entender a ideia de uma maneira
macro.

Figura 10 - Modelagem de Entidades

Fonte: Página oficial do Diagram.io.

Para a criação de uma modelagem mais visível do banco antes de aplicar o


código, foi utilizado o programa gratuito digram.io. Nele foi possível criar as
entidades que se tem ideia primária dentro do banco para que se possam em
seguida olhar outras entidades que podem ser criadas e expandidas. Mesmo que
toda a modelagem real do banco e criação de suas tabelas ficaram sob
responsabilidade da ORM Sequelize, a modelagem já trás uma ideia real de como
cada tabela irá se comportar dentro da aplicação baseado nos relacionamentos que
cada tabela tem uma com a outra.
45
Todas as tabelas que são mostradas no diagrama tem algo em comum, todas
elas estão relacionadas primariamente com a tabela usuário, pois ela é a entidade
máxima do banco de dados. Essa ideia vem do pressuposto que ao criar um usuário
no banco, ele é quem comanda todas as informações da aplicação, assim se
informações forem inseridas e desvinculadas a essa entidade será tecnicamente
impossível saber de quem é a informação.

3.3.2 Arquitetura Backend

3.3.2.1 Paradigma Utilizados

O paradigma de programação é o modo que uma linguagem fornece de uma


estrutura para que o programador possa escrever o código. Dessa forma deixando
de uma maneira mais organizada e entendível a quem possa ter conhecimento de
tal paradigma. Os paradigmas mais conhecidos são:

● Paradigma estrutural.
● Paradigma procedural.
● Paradigma orientado a objetos.
● Paradigma funcional.

Como o Javascript é uma linguagem multiparadigmas, todo o código utilizado


nesta aplicação pode ter uma variação dentro do entendimento de quem lê e
conhece estes paradigma, porém não há como perder a legibilidade do código.
Assim em certas partes do código pode haver mais código orientado a objetos e em
outros mais código funcional.
46

3.3.2.2 API

API (Application Programming Interface) é uma interface de programação de


um aplicativo. De modo geral são rotinas e padrões de programação para que outras
pessoas possam ter acesso às funcionalidades dentro de uma aplicação. Essa
metodologia é vastamente utilizada na Web hoje em dia pelo fato que faz com que
várias aplicações consigam se integrar em conjunto.
Muito utilizadas e comentadas são as APIs do Google, que também serão
utilizadas dentro deste projeto. Quando alguma pessoa entra em algum site, seja de
um restaurante, hotel ou loja de eletrônicos, onde se vê um mini mapa do Google
Maps mostrando a distância de onde a pessoa mora até o estabelecimento, pode-se
ter certeza que isso é uma API se comunicando com o sistema do estabelecimento.
Dentro deste projeto será criada uma API REST para a comunicação entre a
camada de visualização do usuário (frontend) e a camada do servidor (backend),
dando funcionalidades principais de gerenciamento das informações criadas pelo
usuário.

3.3.2.3 REST

REST (Representational State Transfer) é uma arquitetura de transferência


representacional de estado que define um conjunto de restrições para criação de
serviços web. Essa arquitetura se baseia no protocolo HTTP para utilização de seus
métodos GET, POST, PUT e DELETE para manipular dados através de URLs. O
termo foi utilizado por Roy Fielding para sua tese de doutorado em 2000. Os tipos de
transferências de dados pelo formato REST podem ser em XML ou JSON.
Baseado nos métodos HTTP, por padrão o método GET serve para busca de
informações podendo passar parâmetros de busca, POST para inserir uma nova
informação no servidor, PUT para alteração de alguma informações e DELETE para
47
deleção de alguma informação. Pode-se utilizar outros métodos como HEAD,
TRACE e PATCH porém os mais utilizados são esses.
Dentro do projeto será utilizado o framework Express para gerenciar as rotas
(URLs) de manipulações de informações do sistema. Essas rotas podem ter seus
respectivos métodos do protocolo HTTP com passagens de parâmetros como busca
de um usuário, deleção de um usuário e alteração de um usuário. A utilização
dessas rotas deste exemplo devem ser informadas pela requisição da camada de
usuário com seus respectivos parâmetros. Caso haja ou não uma resposta do
servidor, deve-se enviar um código de status da requisição pelo protocolo.

Tabela 09 -Tabela rotas

Fonte: Página Beck Blog.

3.3.2.4 Routes

Dentro da modelagem da arquitetura, a parte de routes (rotas) é onde será


gerenciado o apontamento de URLs dentro da arquitetura REST. Cada rota tem seu
apontamento de funcionalidade baseada no método HTTP. Ao definir uma rota
dentro da arquitetura, deve saber se haverá parâmetros para busca ou inserção de
informações na rota. Essa passagem de parâmetros pode ser pela própria URL da
rota usando query params ou parâmetros seguidos de barra “/”, onde o framework
express saberá gerenciar. Caso haja passagem de informação pelo corpo da
requisição, deve ser um tipo de método POST ou PUT.
48
Cada rota também está acoplada a ideia dos módulos da aplicação, onde
cada um deles pode gerenciar informações relacionadas a sua entidade no banco de
dados, como usuário, perfil, localização e etc. Isso garante um melhor entendimento
sobre como são passados as informações no banco de dados e como isso pode
melhorar o entendimento de funcionalidades para criação de uma documentação. As
rotas também deve obter quais são seus respectivos controllers, onde cada um
deles deve gerenciar as informações que serão passadas.

3.3.2.5 Controllers

A gestão de lógica do negócios fica na responsabilidade dos controllers. Cada


controller apresenta os métodos que irão receber os parâmetros vindos das routes, a
partir daí manipular estes dados, alterar informações, vincular cálculos e etc, para
que possam em seguida salvar essas informações no banco de dados.
A área de controllers apresenta os métodos básicos que se pode encontrar
em um CRUD, podendo ter os métodos de criação, remoção, alteração e deleção do
banco de dados, e se basear em N restrições dentro da lógica para que possa ter
limitações, como excluir um usuário se ele realmente existir dentro do sistema,
impedir que usuários não vinculados a certa informação a altere . É importante para
que haja nessas alterações um padrão para cada controller, onde cada controller
manipule uma ou mais entidades dentro do banco de dados.
Dentro deste sistema, os controllers apresentam métodos auxiliares da ORM
Sequelize, onde ao invés de escrever queries longas para manipular as informações
do banco, se utilize de métodos pré prontos para auxiliar neste desenvolvimento
baseado em entidades modelos da ORM.
49

3.3.2.6 Models

Os models tem a responsabilidade de poder criar informações modelos de


uma entidade dentro do banco de dados. A partir de um model pode se atribuir
atributos que serão refletidos dentro do banco de dados, seus relacionamentos e
também hooks (ganchos) que possam ser chamados, quando um usuário por
exemplo salvar uma informação no banco, e alguma funcionalidade possa ser
chamada antes.
Com um model, podemos a partir daí manipular informações específicas
desta entidade dentro do banco de dados, podendo buscar uma entidade, alterar,
deletar uma informação apenas pelo id passando por um controller. Pode-se também
criar queries próprias para manipular informações mais expressivas dentro da
entidade.

Figura 11 - Comunicação entre camadas routes, controller, models e views

Fonte: Página da MDN Mozilla.


50

3.3.2.7 Pacotes Complementares

Como toda a arquitetura do backend será escrita em Javascript usando o


Node.js, será necessário alguns pacotes complementares auxiliares para ajudar
durante o processo de desenvolvimento. Além do framework Express e biblioteca
Sequelize, será necessário certas bibliotecas que auxiliarão em questões como
encriptar uma senha dentro do banco de dados, criar tokens de acesso ao usuário
para que se possa impedir o acesso ao sistema sem que tenha antes cadastrado, ou
alterar informações que não são suas, trazer logs personalizados entre outras
funcionalidades.
Com o NPM (Node Package Manager) poderá ser feita a instalação destes
pacotes que auxiliarão neste desenvolvimento, onde apenas tendo a pasta
node_modules dentro do diretório raiz do projeto poderá ser capaz de buscar tais
bibliotecas.

Algumas bibliotecas escolhidas para serem utilizadas no projeto:

● Json Web Token (criação e gerenciamento de tokens).


● Helmet (criação de HTTP headers).
● Cors (Segurança de caminhos de acesso ao backend).
● Express Validator (verificar os parâmetros de requisição).
● Bcrypt (encriptar senhas para salvar no banco).
51

3.3.3 Arquitetura Front-end

3.3.3.1 Componentização

Toda a arquitetura do sistema de front-end está baseada na questão de


componentização utilizando componentes de JSX. A utilização de componentes não
é algo único presente no React, sendo utilizado por outros frameworks como Angular
e Vue, porém a questão de utilização de componentização é devido a ideia de
dependendência de funcionalidades e estilos, deve-se separar as informações
presentes disto em um componente.
Por exemplo, se a aplicação tiver uma funcionalidade que envolve um filtro de
busca, deve-se criar um componente específico para isto, pois a partir de uma
estrutura bem organizada deste componente, ele pode ser reutilizado em outras
partes dentro do código. O principal fato de vários frameworks web estarem
adotando esta questão de componentização está totalmente ligada a questão
voltada à reutilização. Isso ajudaria a reaproveitar código já utilizado no programa,
também proporcionando que pessoas possam criar novos componentes e
disponibilizar para que outras pessoas baixem e utilizem, facilitando a vida do
programador.

3.3.3.2.Props

Dentro do React Native como outro frameworks que se baseiam em


componentização, há o conceito de propriedades que são passagem de parâmetros
seja de valores como funções, para que o componente possa acessar. Está
metodologia utilizada em componentes ajuda na comunicação entre componentes,
onde um componente pai gera uma informação que precisa ser utilizada no
componente filho.
52

3.3.3.2 State

Certas informações dentro do React são alteradas, seja por questão de


manipulação do dado, seja por que chamou alguma informação do lado do backend
ou por alguma funcionalidade que muda uma informação para que possa ser visível.
A partir disso é necessário a utilização de estados dentro do React.
A diferença entre um estado e uma propriedade é que o estado está
relacionado ao componente em si. A mudança de um estado de componente pai e
componente filho podem ser passados entre ambos, porém a informação gerada
está vinculada ao componente em si, que se utiliza desse estado.

3.3.3.3 Estilização

Diferente da Web como se conhece, o React Native não utiliza o clássico CSS
para implementar seus estilos, porém o framework dispõem do conhecido
StyleSheet que apresenta características ao que se tem dentro do CSS. Assim,
quase todas as propriedades que são alteráveis como fonte, tamanhos, larguras,
cores, displays e etc, podem ser disponibilizados através desse componente do
React Native.
53
4. CRONOGRAMA DO SEGUNDO SEMESTRE

Figura 12 - Planejamento de atividade para o segundo semestre de 2020

Fonte: Autores, 2020.


54

5. REFERÊNCIA BIBLIOGRÁFICA

A alimentação é direito fundamental de todo e qualquer cidadão. Mesa Brasil


SESC. Disponível em: http://www.sesc.com.br/mesabrasil/omesabrasil.html. Acesso
em: 08 março 2020.

Agricultura Familiar. Governo Federal - Ministério da Agricultura, Pecuária e


Abastecimento . Disponível em: https://www.gov.br/agricultura/pt-br/assuntos/
agricultura-familiar/agricultura-familiar-1. Acesso em: 09 março 2020.

Ajuda do Play Console. Google. Disponívem em: https://support.google.com/


googleplay/android-developer/table/3541286?visit_id=637199232983407052-164170
5250&rd=1. Acesso em: 16 março 2020.

Associação Brasileira de Marketing Rural e Agronegócio. 7ª Pesquisa hábitos do


produtor rural ABMRA. IEG FNP Agribusiness Intelligence. São Paulo, 2017.

BIAGIO, Luiz Arnaldo. Como elaborar o plano de negócios + curso on-line.


Barueri, SP: Manole, 2013.

BONAFINI, Fernanda Cesar. Estatística II. São Paulo, SP: Pearson Education do
Brasil, 2015.

Buscamos alimentos onde sobra e levamos onde falta. Ong Banco de Alimentos.
Disponível em: https://www.bancodealimentos.org.br/. Acesso em: 09 março 2020.

Cadastro nacional de produtores orgânicos. Ministério da Agricultura, Pecuária e


Abastecimento. Disponível em: http://dados.agricultura.gov.br/dataset/
cadastro-nacional-de-produtores-organicos/resource/d22bd28a-9987-4356-9684-fed
7d9b1c56b. Acesso em: 16 março 2020.

Censo Agro 2017: população ocupada nos estabelecimentos agropecuários cai


8,8%. Agência IBGE Notícias. Disponível em: https://agenciadenoticias.ibge.gov.br/
agencia-sala-de-imprensa/2013-agencia-de-noticias/releases/25789-censo-agro-201
7-populacao-ocupada-nos-estabelecimentos-agropecuarios-cai-8-8. Acesso em: 30
abril 2020.

Como calcular a viabilidade de um projeto utilizando técnicas de análise de


investimento: Payback Simples, VPL e TIR. Wankes Leandro Treinamentos,
Palestras e Consultoria. Disponível em: https://www.wankesleandro.com/
single-post/2016/12/01/Como-calcular-a-viabilidade-de-um-projeto-utilizando-tC3A9c
nicas-de-anC3A1lise-de-investimento-Payback-Simples-VPL-e-TIR. Acesso em: 12
abril 2020.
55

Em 11 anos, agricultura familiar perde 9,5% dos estabelecimentos e 2,2


milhões de postos de trabalho. Agência IBGE Notícias. Disponível em:
https://agenciadenoticias.ibge.gov.br/agencia-noticias/2012-agencia-de-noticias/notici
as/25786-em-11-anos-agricultura-familiar-perde-9-5-dos-estabelecimentos-e-2-2-mil
hoes-de-postos-de-trabalho. Acesso em: 09 março 2020.

Entrepostos. Conheça Nossas Unidades. Ceagesp. Disponível em:


http://www.ceagesp.gov.br/entrepostos/. Acesso em: 02 maio 2020.

GERÓN, Aurélien. Mãos à obra: Aprendizado de Máquina com Scikit-Learn &


Tensor Flow. Conceitos, Ferramentas e Técnicas para a Construção de
Sistemas Inteligentes. Rio de Janeiro, RJ: Alta Books Editora, 2019.

Graziano da Silva fala de metodologias contra perdas e desperdícios em


Fórum na UniCamp. Organização das Nações Unidas para a Alimentação e
Agricultura (FAO) no Brasil. Disponível em: http://www.fao.org/brasil/noticias/
detail-events/pt/c/1157134/. Acesso em: 09 março 2020.

KOTLER, Philip; KELLER, Kevin Lane. Administração de Marketing. São Paulo,


SP: Person Education do Brasil, 2018.

LARSON, Ron; FARBER, Besty. Estatística Aplicada. São Paulo, SP: Pearson
Education do Brasil, 2015.

BRASIL. Lei nº 11.326, de 24 de julho de 2006. Política Nacional da Agricultura


Familiar e Empreendimentos Familiares Rurais. Diário Oficial da União. Brasília,
DF, 25 Jul. 2006. Disponível em: http://www.planalto.gov.br/ccivil_03/
_Ato2004-2006/2006/Lei/L11326.htm. Acesso em: 08 março 2020.

MEDEIROS, Luciano Frontino de. Inteligência artificial aplicada: uma abordagem


introdutória. Curitiba, PR: Intersaberes, 2018.

Qual a carga tributária para marketplace de serviços? Plugin Contábil.


Disponível em: https://www.plugincontabil.com.br/tributacao-para-
marketplace-de-servicos/. Acesso em: 12 abril 2020.

Quanto custa um aplicativo para celular?. R7 Tecnologia e Ciência. Disponível


em: https://noticias.r7.com/tecnologia-e-ciencia/quanto-custa-fazer-um-aplicativo-
para-celular-27112015. Acesso em: 16 março 2020.

Regulamento Técnico de Boas Práticas para Serviços de Alimentação.


Resolução RDC nº 216, de 15 de setembro de 2004. Disponível em:
http://portal.anvisa.gov.br/documents/33916/388704/RESOLU%25C3%2587%25C3
%2583O-RDC%2BN%2B216%2BDE%2B15%2BDE%2BSETEMBRO%2BDE%2B20
04.pdf/23701496-925d-4d4d-99aa-9d479b316c4b. Acesso em: 09 março 2020.
56
SAULLO, Eldes. Marketing de Aplicativos - Uma fórmula infalível para planejar e
lançar apps mobile de sucesso. São Paulo, SP: Eldes Saullo, 2015.

Sistema Aberto e Integrado de Informação em Agricultura. Sabiia. Disponível


em: https://www.sabiia.cnptia.embrapa.br/ . Acesso em: 20 abril 2020.

Soluções Tecnológicas. EMBRAPA - Empresa Brasileira de Pesquisa Agropecuária


- Ministério da Agricultura, Pecuária e Abastecimento. Disponível em:
https://www.embrapa.br/busca-de-solucoes-tecnologicas. Acesso em: 20 abril 2020.

Sustentabilidade. TCU Tribunal de Contas da União. Disponível em:


https://portal.tcu.gov.br/transparencia/sustentabilidade/sustentabilidade.htm. Acesso
em: 09 março 2020.

TAULLI, Tom. Introdução à inteligência artificial: uma abordagem não técnica.


São Paulo, SP: Novatec Editora Ltda, 2020.

ZARO, Marcelo (Org.). Desperdício de alimentos: velhos hábitos, novos


desafios. Caxias do Sul, RS: Educs, 2018.
57

A. PLANO DE NEGÓCIOS

A.1 ANÁLISE DE MERCADO

A.1.1 Clientes

Conforme dados divulgados pela Food And Agriculture Organization (FAO),


cerca de 54% dos alimentos são desperdiçados na fase inicial da produção, ou seja,
na manipulação após a colheita e armazenamento antes da venda e distribuição
(ZARO, 2018, p.22), para a atuação no segmento que tem mais impacto no
desperdício de alimentos, o público-alvo principal é o produtor rural com objetivo de
minimizar a perda de alimentos com o uso de uma ferramenta digital que dê maior
vazão para sua produção.

Na 7ª Pesquisa Hábitos do Produtor Rural da Associação Brasileira de


Marketing Rural e Agronegócio (ABMR&A) divulgada em 2017, constatou-se que o
público produtor rural tem em média 46,5 anos de idade e é formado
predominantemente de 96% do sexo masculino, entretanto, na atuação das
atividades foi registrado crescimento da representatividade do sexo feminino
passando para 31% na atuação na gestão e tomada de decisão, 18% dos
produtores rurais têm nível superior sendo que destes, 42% tem graduação em
agronomia, cerca de 48,8% tem ao menos o segundo grau completo.

Outro aspecto de destaque é o uso do smartphone, em 2013 apenas 17%


possuíam o aparelho, já em 2017 houve grande crescimento e 61% possui ao
menos um smartphone, 42% tem acesso a internet, 75% escuta rádio ao menos uma
vez por mês e 92% têm hábito de assistir tv aberta. As redes sociais têm ganhado
cada vez mais força, 77% costuma acessar ao menos uma vez por mês alguma rede
social sendo o WhatsApp a rede mais acessada com 96%, seguida do Facebook
com 67% e Youtube com 24%. Quanto ao uso da internet para compra ou pesquisa
voltada à atividade agropecuária, 53% afirma não fazer uso algum.
58
Dentre os desafios vistos pelos produtores rurais, aspectos como clima e
pragas que incidem diretamente na perda de produtividade ocupam os dois
primeiros itens da lista com 24% e 11% respectivamente, já o preço pago ao
produtor ocupa o quarto lugar com 5%.

Dentre os produtores rurais, o segmento da agricultura familiar, embora ocupe


apenas 23% da área agrícola e 23% do valor em produção, tem maior número de
estabelecimentos, 77% e maior peso no consumo interno direto na mesa do
consumidor e papel fundamental na segurança alimentar em contraposição aos
grandes produtores com maior foco em commodities de exportação como soja e
milho, a produtividade da agricultura familiar chega a corresponder cerca de 50% da
cesta básica brasileira.

A.1.2 Concorrentes

Alguns aplicativos e plataformas digitais foram identificadas com aspectos


similares em funcionalidade, são eles: Grão direto, AgroSpot, Agrovendas,
BolsaAgro, em sua maioria focados nos grandes produtores e corretores, Grão direto
e AgroSpot, por exemplo, têm maior foco em produtores de commodities que
geralmente são grandes produtores e exportadores, embora tenham a
funcionalidade de facilitar o encontro entre vendedores e compradores, o
público-alvo é diferente do que será abordado, o aplicativo BolsaAgro é idealizado e
mantido pela Bolsa Nacional de Mercadoria formada por aproximadamente 130
corretoras o que configura a intermediação das negociações de compra e venda
pela figura de um corretor, já o aplicativo Agrovendas é o que mais se aproxima das
funcionalidades da ferramenta a ser ofertada ao público-alvo descrito, o cadastro de
compradores e produtores de todo o território nacional é feito no aplicativo de forma
simples e não existe intermediação, existe localização de gps e disponibilização de
número do whatsapp para contato.
59

A.1.3 Fornecedores

Primeiramente para publicar um aplicativo no Google Play é necessário ter


uma conta no Google Play Console, o custo da assinatura anual é de R$ 1.500,00
de acordo com a conversão atual do Dólar para o Real.

Outro custo inicial com fornecedor é o de desenvolvimento da aplicação, em uma


matéria de 2015 já se indicava um valor mínimo de 40 mil Reais para o
desenvolvimento para plataforma Android, atualmente é possível encontrar valores
mais baixos conforme imagem abaixo obtida em uma pesquisa prévia com
parâmetros para um aplicativo de complexidade média, sem muitos recursos
personalizados.

Figura 13 - Custo Estimado

Fonte: quantocustaumaplicativo.com

Inicialmente esse custo de desenvolvimento poderá ser desconsiderado ou


avaliado de forma diferenciada pois a implementação do aplicativo é parte do
presente projeto e o custo torna-se relativo a soma do produto do valor da hora de
trabalho de cada um pela quantidade de horas de desenvolvimento.
60

A.1.4 Plano de marketing

Segundo Biagio, o plano de marketing define a atuação de uma empresa para


que seu produto troque de mãos, por melhor que ele seja o mercado não é garantido
(BIAGIO, 2013, p.67), quando o produto é um aplicativo existem certas
particularidades para a divulgação ou elaboração do plano de marketing, grandes
investimentos nem sempre geram bons resultados e os meios convencionais como
anúncios na tv, jornal ou revistas na maioria das vezes não representam o melhor
custo benefício.

Dentre os 4P’s, mencionados por Kotler e amplamente estudados em


marketing, produto, preço, praça e promoção (KOTLER, 2018, p. 27), o 4º p,
promoção deve ter atenção redobrada, Saullo, em sua obra que trata
especificamente sobre marketing para aplicativos, menciona uma série de passos
para a divulgação de forma efetiva, entre eles, alguns destacados aqui que podem
ser seguidos como a criação de um “hub” ou seja, uma landing page que concentra
as informações e outros materiais de divulgação, formação de base de e-mail e
auxilia na indexação em páginas de busca (SAULLO, 2015, p104); outro item a
destacar são as campanhas em Ad Networks Mobile que tem foco em servir
anúncios em browsers mobile e até mesmo em espaços dentro de outros aplicativos
(SAULLO, 2015, p122). Como mencionado anteriormente nos benefícios da
construção de uma landing page, a captação de uma base de e-mails é fundamental
para se fazer divulgação com menor custo, além de possibilitar a sustentação
enviando novidades e outros informativos pontuais que possam ser do interesse do
usuário do aplicativo, o Ministério da Agricultura, Pecuária e Abastecimento
disponibiliza uma lista de produtores orgânicos de todo Brasil e respectivos contatos
o que pode servir como uma base inicial.
61
Outra medida que pode ser implementada para divulgação é a parceria com
meios de comunicação especializados no segmento de produção rural como
Agrolink, Jacto, Compre Rural, entre outros.

A escolha do nome e outros aspectos do cadastro na loja das plataformas de


aplicativos também exerce papel importante, é denominado ASO - App Store
Optimization ou Otimização nas Lojas de App, que inclui uma série de boas práticas
para que um aplicativo seja bem classificado e tenha bom desempenho quando
usuários buscam pelo app nas plataformas.

A.2 FUNCIONALIDADES

A.2.1 Acesso

Para inclusão de usuários e devida autenticação e acesso às funcionalidades


da aplicação é requerida a opção do tipo de usuário entre fornecedor(produtor) ou
cliente, após essa escolha é apresentado o formulário de cadastro específico com
informações pessoais do cliente, para prover à aplicação, dados concretos sobre sua
atuação dentro do ramo da agricultura, tais como nome, sobrenome, data de
nascimento, CPF, CEP e CAF (Cadastro Nacional da Agricultura Familiar). Com
esses dados pode-se ter controle sobre quais informações e estatísticas podem ser
visualizadas por ambas as partes.
Informações de geolocalização são importantes para produtores e clientes já
que facilitará ambas as partes na hora de haver uma transação e deslocamento dos
produtos. Deve-se sempre priorizar o máximo evitar desperdício alimentar e essas
informações já garantem tal ajuda.

Neste ponto a aplicação também pode apresentar as condições vigentes


dentro dela, como normas jurídicas que entram em relação a venda, saneamento e
tudo aquilo que pode acarretar problemas caso alguma das partes quebre alguma
62
regra, tudo isso com a finalidade de evitar que ocorram processos de algum dos
lados.

A.2.2 Registro de Produção

O registro de produção pode ser apresentado como um estoque para que


haja controle de produtos já vendidos e ainda não vendidos. Isso ajudará ao produtor
ter organização sobre a comercialização de sua produção, validade e valores sobre
tudo aquilo que ele queira que seja analisado pela plataforma e traga resultados.
Isso auxilia tanto o cliente como o fornecedor em saber quais são suas
necessidades, já que para que o fornecedor tenha mercado deve haver cliente e
vice-versa causando auto-ajuste de valor necessidade e demanda.

Neste registro deve haver detalhes importantes sobre o produto que se vende
como a data quando foi ou será colhido, fotos mostrando a produção ou a plantação,
validade do produto e uma descrição. Tais aspectos objetivam garantir total
confiabilidade ao cliente de que tudo aquilo que ele for comprar será de acordo com
o que foi descrito e visto na aplicação e em caso de fraude terá insumos suficientes
para acionar as normas jurídicas já informadas no cadastro do cliente.

A.2.3 Transações

Para fechar uma venda, fornecedor e cliente devem realizar uma transação
por meio do aplicativo para garantir a visibilidade e acompanhamento que ambas as
partes cumprem simultaneamente conforme acordado. Caso seja pela parte do
produtor, deve ser feita a separação quantitativa do produto de estoque em perfeita
qualidade para quem está comprando. Já a parte do cliente deve garantir o próprio
pagamento pelo produto que está adquirindo.
63
O pagamento pode ser feito pela própria plataforma ou em dinheiro. Caso
seja pela plataforma, será usada uma API de transações bancárias online, podendo
gerar boletos, cartão de crédito ou até mesmo TED para a conta do produtor. Caso
seja com dinheiro físico, o produtor deve informar após a venda pessoal do produto
se o cliente efetuou devidamente o pagamento, onde caso não, será aplicada ações
jurídicas informadas no momentos de cadastro dos clientes, podendo pagar alguma
multa ou entrada de processo pelo fornecedor do produto.

A.2.4 Transporte

Após o término de uma transação, o fornecedor deve informar ao cliente


quando será feito o deslocamento dos produtos. O transporte do produto será feito
utilizando mapeamento de melhores rotas entre o cliente e o fornecedor. Utilizando a
API do Google Maps isso ajudará bastante que o cliente e o fornecedor possam ter
em tempo real informação do deslocamento do produto. Essa análise de melhor rota
será calculada a partir de pontos de tráfego que ocorrem pela região, podendo até
utilizar a API do Waze.

A.2.5 Chat

Para que haja detalhamento de informações em particular ou até mesmo


negócios em paralelo (não será de responsabilidade da plataforma caso haja
fechamentos de contrato), um chat é disponibilizado entre clientes e fornecedores.
Desta forma podem trocar informações em tempo real entre si, mantendo o sigilo
das informações caso queiram discutir sobre seus negócios e como querem manter
suas relações.
64

A.2.6 Gráficos

A parte de gráficos tem extrema importância para tomadas de decisão dos


produtores. Estes gráficos visam tirar a abstração das partes de cálculos e dados
abstraídos do banco de dados ao apresentar visualmente informações de projeções
futuras para que se possa ter detalhamento de produção por tipo de produto, quais
foram o clientes que mais compraram de um fornecedor, quais foram os gastos por
rota e quais produtos perdem validade mais rápido.

Também são disponíveis gráficos aos clientes, visto que fazem parte da
extração de dados e do processo como um todo. As informações disponibilizadas
referem-se aos fornecedores com quem mais compram, alimentos que mais
compraram em determinado período, melhor localização para se comprar.
65

B. RETORNO DE INVESTIMENTO

B.1 CAPITALIZAÇÃO DO APLICATIVO

O ponto crucial associado entre o sucesso e o fracasso de um aplicativo


recém criado é o fator estratégico, de forma que o objetivo fundamental seja sempre
voltado a possibilidades e necessidades do público alvo.

Em um mundo tecnológico tão globalizado e concorrente, a cobrança por um


aplicativo se torna estrategicamente inviável, pois com tantos aplicativos existentes
como saber se realmente este é o mais específico para tal situação, e quem pagaria
antes de conhecê-lo; mesmo que em um dado momento não haja aplicações com o
mesmo objetivo, esta condição é só uma questão de tempo. Portanto, todos os
esforços envolvidos no processo de criação e manutenção do aplicativo, deve ser
planejado com o intuito de um retorno financeiro a médio ou longo prazo,
inicialmente cobrindo apenas os custos; consequentemente pensando em
estratégias, melhorias e inovações que beneficiem os usuários, dentro de um
orçamento viável.

A decisão de criação do aplicativo voltado à uma plataforma mobile está


totalmente associada ao nicho de mercado, micro e médio fornecedores e
comerciantes, de forma que muitos deles não possuem um computador em casa,
mas possivelmente possuem um smartphone, não esquecendo também, que é um
dos canais de comunicação que mais cresce no mundo.

A forma como o aplicativo é exposto e a visibilidade dele em lojas como a App


Store e Play Store é um ponto determinante. O nome escolhido para o aplicativo,
deve ser coerente com a finalidade do uso, pois serão utilizados em sistemas de
busca; a descrição do objetivo deve ser breve e de fácil compreensão; o ícone ou
logo que o representa deve possuir cores e formas relacionados com o objetivo; as
imagens de telas (funcionalidades) e vídeos de demonstrações deve possuir boa
66
resolução e fácil entendimento, para que seja transmitido ao usuário, credibilidade e
responsabilidade. Uma visão profissional é importante não somente com relação ao
usuário, mas também com relação a canais de comunicação e divulgação, como
redes sociais, que podem ser um meio utilizado para angariar clientes, pois está ao
alcance de todos. Campanhas de divulgação de aplicativos, patrocinadas por
empresas de marketing digital, que cobra conforme anúncios, downloads feitos e
classificação do aplicativo, são bastante utilizados em aplicações mobile.

A principal forma utilizada para captar lucros é através da inclusão de


anúncios e vendas dentro do aplicativo. Publicações coniventes com o objetivo do
aplicativo e dos usuários (como técnicas e produtos agrícolas), podem gerar muitos
benefícios, e possivelmente um potencial para atrair parcerias e patrocínios. Outra
forma de arrecadação, é a publicação de versões, a gratuita com funcionalidades
básicas e possibilidade de assinatura de uma versão paga com mais recursos e
funcionalidades. Venda de informação a partir da coleta de dados gerados a partir de
negócios realizados pelos usuários, avaliando preferências, sempre protegendo
dados particulares de acordo com a política de privacidade, são utilizadas em canais
de publicidade como ferramentas para pesquisa de mercado . A criação de parcerias
entre plataformas também pode gerar rendimentos, parcerias com o intuito de
aprendizado, informação, inserção de técnicas inovadoras, especialização e
esclarecimentos aos usuários, seriam muito bem vindas, pois se o usuário retém
melhores técnicas, possivelmente melhora infraestrutura, a produtividade e as
condições de trabalho, resultando em qualidade de vida.

De forma geral o aplicativo vem para intensificar a negociação entre as


partes, potencializar as vendas ou criar novas possibilidades, e consequentemente,
melhorar economicamente os arredores.
67

B.1.2 Viabilidade Financeira

B.1.2.1 Projeção de Receita

Utilizando um planejamento voltado à modelos de negócios baseado em B2B


( Business to Business), que tem como característica principal a negociação entre
empresas, adequando ao nicho de mercado específico e utilizando premissas
voltadas à prestação de serviços com estimativas em taxa de conversão e de
crescimento de 30%, utilizando como modelo de receita a comissão sobre
transações de 15%, e ticket médio no valor de R$100,00. Analisando todas as
perspectivas de modo a atender possibilidades reais, como exemplo de início que
que se refere a 40 transações dentro de 60 possíveis clientes, condiz com a terceira
parte de clientes, utilizando a aplicação apenas duas vezes ao mês; outra análise foi
baseada no valor de ticket médio, por mais que várias famílias utilizem a venda
como única forma de sustento, o produto transacionado trata-se de produtos
perecíveis, e possivelmente de início possui a maior parte, destino recorrente.

Tabela 10 - Tabela sobre Projeções de Receita

Fonte: Própria - Ferramenta Excel


68

B.1.2.2 Projeção de Despesa

As projeções de despesas foram baseadas em análise de mercado sobre


aplicações mobile, porém a existência de inúmeras soluções prontas não atendem a
credibilidade em negociações, e tais valores podem estar muito abaixo da real
situação. Foram inseridos valores referentes ao desenvolvimento, manutenção,
consultoria, marketing, e tributos sobre a porcentagem de comissão que são
cobrados por empresas que gerenciam os pagamentos.

Tabela 11 - Tabela sobre Projeções de Despesas

Fonte: Própria Ferramenta Excel


69

B.1.2.3 Fluxo de Caixa

Determinadas as tabelas de projeções sobre Receita e Despesa é possível


gerar uma terceira tabela, que utiliza o cálculo de diferença entre os valores de
Receita e Despesa (entrada e saída), gerando o valor acumulado, inicialmente sem
descapitalização; e posteriormente utilizando outro cálculo de diferença sobre
ambos, porém calculando os valores de receita sobre o indicador VPL (Valor
Presente Líquido) e taxa de juros de 1,5 % ao mês, transformando um valor presente
em um valor futuro, de forma que um valor hoje, esteja valorizado da mesma forma
depois de alguns meses ou anos; gerando no cálculo o acumulado corrigido.

Tabela 12 - Tabela Fluxo de Caixa

Fonte: Própria - Ferramenta Excel

Tratando-se de valores de projeções mensais, seria óbvio que geraria um


gráfico com valores de despesas síncrono e valores de receita gradual, pois o
montante investido é dividido entre os meses do ano, por ser um investimento baixo
e com possibilidades de retorno dentro do ano em questão.
70
Figura 14 - Gráfico Fluxo de Caixa

Fonte: Própria - Ferramenta Excel

A diferença entre as barras representa o valor acumulado, de forma que


começa negativo e continua até o mês de junho, e a partir de julho o valor passa a
ser positivo mantendo um aumento gradual.

B.1.2.4 Indicadores Financeiros

A EVTE (Estudo de Viabilidade Técnica e Econômica, Lei nº 11.445, de 5 de


janeiro de 2007), é um método que determina um prognóstico voltado à um modelo
de negócio (como exemplo um modelo de prestação de serviços), utilizando
indicadores que possibilita análise sobre o investimento e as premissas geradas a
partir deste, são utilizadas para inserção em contratos. Estes indicadores são
utilizados para diminuir os riscos financeiros sobre uma futura aplicação.

Após as informações obtidas por meio de demonstrativos, como as tabelas de


receitas, despesas e fluxo de caixa, são utilizados cálculos específicos que fornecem
resultados para uma análise objetiva. Podem ser aplicados para uma empresa
existente no mercado, a fim de validar informações para estratégias futuras ou para
compreender a viabilidade e riscos de um projeto futuro . Os indicadores utilizados
71
são VPL (Valor Presente Líquido), TIR (Taxa Interna de Retorno), ROI (Retorno
sobre Investimento) e Payback. Utilizando a TMA (Taxa Mínima de Atratividade) a
1% ao mês ( ou 12% ao ano), que indica o mínimo que o investidor pode ganhar no
investimento, ou o máximo que a aplicação pode pagar no financiamento; este
percentual é baseado na observação sobre o valor investido no projeto, de forma
que não deve render lucro inferior a outros tipos de investimento mais seguro,
comparado a taxa Selic (Sistema Especial de Liquidação e Custódia) que é a taxa
básica de juros da economia no Brasil e rende atualmente menos de 5% ao ano,
este rendimento foi projetado muito acima do recorrente.

No VPL, é calculado o valor do dinheiro em um determinado tempo, utilizado


o valor de investimento, valor de fluxo de caixa, TMA e o numero de tempo
desejado. Quanto maior, mais lucrativo para o projeto. A TIR é a taxa em
comparação a outras oportunidade de mercado, se esta é maior que a média de
mercado o projeto é viável. ROI, determina a porcentagem de ganho sobre o
investimento.

Neste caso ocorreu um retorno de 31,93% sobre o investimento inicial.


Payback é o tempo necessário para recuperação do investimento inicial, quanto
menor mais favorável ao projeto. Taxa de Lucratividade significa que a cada R$1,00
investido inicialmente, obteve um retorno R$1,32.

Tabela 13 - Tabela Indicadores Financeiros

Fonte: Própria - Ferramenta Excel


72
Todos os valores projetados foram baseados apenas em geração de receita
sobre comissões e todos os valores calculados foram feitos a partir da ferramenta
Excel, utilizando tabela dinâmica de forma a assegurar uma sequência de cálculos
sobre a referência inicial, evitando erros, porém cálculos sobre todos os dígitos,
mesmo que visível apenas duas casas decimais, geram diferenças se a caso o
cálculo for inserido apenas entre um referencial e outro.
73

C. DOCUMENTO DE REQUISITOS

C.1 REQUISITOS DE SOFTWARE

C.1.1 Usuário

C.1.1.1 Requisitos de Usuário:

O sistema deve garantir cadastro, alteração e deleção de um usuário,


podendo mudar seus respectivos dados de acesso, também garantindo inserir
informações dados sua localização e perfil com suas informações pessoais e
documentos.

C.1.1.2 Requisitos de Sistema:

● Garantir acesso de cadastro;


● Garantir acesso de login;
● Não registrar usuário com mesmo e-mail;
● Permitir cadastrar informações de geolocalização;
● Permitir cadastrar informações de perfil;
● Validar campos baseado em respectivos critérios;
● Vincular dados de perfil e localização ao usuário;
74
C.1.1.3 Requisitos Funcionais:

[RF001] - Cadastrar usuário:

Descrição: Usuário vai acessar a tela de cadastro dentro do site, inserindo dados
que serão reutilizados posteriormente para que se possa efetuar o login e verificar se
é um cliente ou fornecedor.

Entradas: e-mail do usuário, senha do usuário, senha de confirmação do usuário e


tipo de usuário (cliente ou fornecedor).

Saídas: Se usuário foi cadastrado ou não dentro do sistema.

Fonte: Formulário do template.

Pré-Condições:

● Não haver já um usuário cadastrado no sistema com o mesmo e-mail

Figura 15 - Cadastra usuário: Diagramas de caso de uso e de classe - Usuário [RF001]

Fonte: Autores, 2020.


75
[RF002] – Logar usuário:

Descrição: Usuário deve acessar a página para login e em seguida preencher o


formulário de login para que em seguida possa ter acesso ao seu usuário na
plataforma.

Entradas: e-mail do usuário e senha do usuário.

Saídas: Token e informações do usuário.

Fonte: Formulário do template.

Pré-Condições:

● O usuário já estar cadastrado dentro do servidor.

Figura 16 - Login: Diagramas de caso de uso e de classe - Usuário [RF002]

Fonte: Autores, 2020.


76
[RF003] – Cadastrar Perfil:

Descrição: Ao se logar, caso não haja informações de perfil, o usuário será


direcionado a outro formulário para que ele preencha informações pessoais.

Entradas: nome, sobrenome, data de nascimento, tipo de documento e documento


do usuário, token.

Saídas: Se perfil foi cadastro com sucesso ou não.

Fonte: Formulário do template.

Pré-Condições:

● Existir usuário cadastrado no servidor.

Figura 17 - Cadastrar Perfil: Diagramas de caso de uso e de classe - Usuário [RF003]

Fonte: Autores, 2020.


77
[RF004] – Cadastrar localização:

Descrição: Após o usuário criar o perfil, ele será direcionado a um formulário que irá
vincular informações de localização. Tendo essas localizações ajuda do Google
Maps para que possa ser vinculada coordenadas e ter auxílio no transporte.

Entradas: Código postal, rua, número da casa, complemento, bairro, estado, país,
coordenadas do usuário, token.

Saídas: Se localização foi salva com sucesso ou não.

Fonte: Formulário do template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Existir perfil já vinculado ao usuário.

Figura 18 - Cadastrar Local: Diagramas de caso de uso e de classe - Usuário [RF004]

Fonte: Autores, 2020.


78
[RF006] – Mostrar informações de usuário:

Descrição: Para ver as informações do usuário ele deverá ir em opções de


configurações e clicando em usuário para poder ver.

Entradas: Token.

Saídas: Informações do usuário ou se houve um problema dentro do servidor.

Fonte: Template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.

[RF007] – Mostrar informações de perfil:

Descrição: Para ver as informações do perfil ele deverá ir em opções de


configurações e clicando em perfil para poder ver.

Entradas: Token.

Saídas: Informações do perfil ou se houve um problema dentro do servidor.

Fonte: Template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.
79
[RF008] – Mostrar informações de localização:

Descrição: Para ver as informações de localização ele deverá ir em opções de


configurações e clicando em localização para poder ver.

Entradas: Token.

Saídas: Informações do usuário ou se houve um problema dentro do servidor.

Fonte: Template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.

[RF009] – Editar usuário:

Descrição: Dentro das configurações de usuário, haverá um botão de editar. Ao


clicar o usuário terá a opção de modificar suas informações de acesso.

Entradas: e-mail, senha, token.

Saídas: Se usuário foi editado com sucesso ou não.

Fonte: Formulário de template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.
80
[RF010] – Editar perfil:

Descrição: Dentro das configurações de perfil, haverá um botão de editar. Ao clicar o


usuário terá a opção de modificar suas informações pessoais.

Entradas: nome, sobrenome, data de nascimento, tipo de documento, documento do


usuário, token.

Saídas: Se perfil foi editado com sucesso ou não.

Fonte: Formulário de template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.

[RF011] – Editar localização:

Descrição: Dentro das configurações de localização, haverá um botão de editar. Ao


clicar o usuário terá a opção de modificar suas informações de localidade.

Entradas: nome, sobrenome, data de nascimento, tipo de documento, documento do


usuário, token.

Saídas: Se localização foi editada com sucesso ou não.

Fonte: Formulário de template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.
81
[RF012] – Excluir usuário:

Descrição: Dentro das configurações de usuário, haverá um botão de exclusão. Ao


clicar nesta opção será perguntado se o usuário quer realmente excluir o usuário.
Caso confirme, todas as informações vinculadas a este usuário serão excluídas,
caso não confirme manterá todos os dados.

Entradas: Código de identificação do usuário, token.

Saídas: Se usuário foi excluído com sucesso ou não.

Fonte: Botão de template.

Pré-Condições:

● Existir usuário cadastrado no servidor.


● Já ter completado os passos de cadastro de perfil e localização.

C.1.1.4 Requisitos não funcionais:

● Usuário divulgar suas informações de acesso.


● Se usuário foi criado como cliente ou fornecedor sem querer (caso ocorra terá
que ser excluído, em seguida se deve cadastrar novamente).
● Todas as informações apareçam com excelente rapidez.
● Informações pessoais e localizações estejam certas.
● Usuário esqueça a senha ou cadastre e-mail errado.
82
C.1.2 Estoque

C.1.2.1 Requisitos de Estoque:

Com o cadastro finalizado, caso o usuário seja cadastrado como fornecedor


ele terá acesso a criar seu próprio estoque dentro de sistema. Ele deve ir na área de
acesso ao estoque para visualizar seus estoques. Cada estoque terá suas
informações de produtos para que possa futuramente fechar-se acordo de venda.
Também as vendas de estoque, produtos e valores serão utilizados futuramente para
análises gráficas dentro do sistema.

C.1.2.2 Requisitos de Sistema:

● Ter garantido produtos preestabelecidos no banco de dados.


● Dar acesso de criação de estoque de determinado produto.
● Dar acesso a editar as informações.
● Informar se estoque está ou não disponível para venda.

C.1.2.3 Requisitos Funcionais:

[RF001] – Criar estoque:

Descrição: Usuário deve criar um estoque de um determinado produto. Ele deve


selecionar qual este produto (batata, cenoura, alface e etc) e informar as
83
informações de quantidade, plantio e valores para poder decidir se está a venda ou
não.

Entradas: Produto, quantidade, valor, imagem, data de validade, data de inserção,


token.

Saídas: Se o estoque foi criado com sucesso ou não.

Fonte: Formulário.

Pré-Condições:

● Usuário existe no sistema.


● Usuário é fornecedor.

Figura 19 - Criar Estoque: Diagramas de caso de uso e de classe - Estoque [RF001]

Fonte: Autores, 2020.


84
[RF002] – Mostrar estoque:

Descrição: Dentro da sessão de estoque, deve ser mostrada quais foram os


estoques criados pelo usuário.

Entradas: Token.

Saídas: Se o estoque foi excluído com sucesso ou não.

Fonte: Lista de template.

Pré-Condições:

● Usuário é fornecedor.
● Estoque é do determinado usuário.

[RF003] – Editar estoque:

Descrição: O usuário tem acesso a editar o estoque que ele mesmo criou, porém
não pode mudar seu produto. Ele deve escolher qual estoque irá editar para poder
mudar suas informações.

Entradas: Quantidade, valor, imagem, data de validade, data de inserção, token.

Saídas: Se estoque foi editado com sucesso ou não.

Fonte: Formulário de template.

Pré-Condições:

● Usuário existe no sistema.


● Estoque é do determinado usuário.

[RF004] – Excluir estoque:


85
Descrição: Caso o usuário não queira mais deixar disponível ou estoque ou errou o
produto, o usuário terá acesso para poder excluir ele.

Entradas: Código de identificação do usuário, token.

Saídas: Se o estoque foi excluído com sucesso ou não.

Fonte: Botões de template.

Pré-Condições

● Usuário existe no sistema.


● Estoque é do determinado usuário.

C.1.2.4 Requisitos não funcionais:

● Produtos estejam cadastrados com os valores corretos e seguindo


corretamente a lei sobre impostos de produtos agrícolas.
● Produtos estejam dentro da data de vencimento correta.
● Os valores de quantidade estejam corretos.

C.1.3 Vendas

C.1.3.1 Requisitos do Usuário:

Este módulo é restrito ao fechamento entra acordos de venda entre usuário


cliente e usuário fornecedor. Será permitido acesso a informações de geolocalização
para que se ache os melhores clientes e fornecedores da região, acesso aos
86
estoques de fornecedor para o cliente, a possibilidade de compra do estoque ou
entrar em contato pelo chat.

C.1.3.2.Requisitos do Sistema:

● Criar uma interface amigável para que se possa ver os usuários da região.
● Permitir acesso dos estoques de usuários fornecedores mostrando seus
respectivos estoques de produtos.
● Permitir venda de um estoque.
● Criar método de pagamento entre usuários.
● Acesso a chat para que cliente e fornecedor entrem em contato.
● Quando aberta a venda, deve-se dar acesso ao cliente de finalizar a venda
após obter o estoque do fornecedor.

C.1.3.3 Requisitos Funcionais:

[RF001] – Mostrar usuários da região:

Descrição: Deve-se ter uma interface na camada de visualização que pegue as


informações de coordenadas do usuário e utilize a API do Google Maps para mostrar
sua respectiva localidade dentro de um iframe do Google Maps. Assim será possível
saber quais os fornecedores e clientes da região.

Entradas: Coordenadas do usuário, token.


87
Saídas: Iframe do Google Maps mostrando todos os usuários clientes ou
fornecedores da região.

Fonte: Template.

Pré-Condições

● Usuário existe no sistema.


● Se usuário for cliente, mostrar os fornecedores.
● Se usuário for fornecedor, mostrar os clientes.

Figura 20 - Mostra usuario da região: Diagramas de caso de uso e de classe - Vendas [RF001]

Fonte: Autores, 2020.

[RF002] – Acessar estoque do fornecedor:

Descrição: Ao visualizar fornecedores locais, caso o usuário seja cliente, ele poderá
ver os estoques de produtos do usuário. Vendo os preços e analisando os produtos,
ele pode selecionar um para poder iniciar uma venda.

Entradas: Coordenadas do usuário, token.


88
Saídas: Estoques de produtos do fornecedor com suas respectivas informações.

Fonte: Lista de template.

Pré-Condições

● Usuário existe no sistema.


● Usuário ser do tipo cliente.
● Fornecedor existe no sistema.
● Estoques estão vinculados ao fornecedor

Figura 21 - Acessar Estoque: Diagramas de caso de uso e de classe - Vendas [RF002]

Fonte: Autores, 2020.

[RF003] – Notificação de venda de estoque:

Descrição: Se o cliente solicitar a venda de um estoque, o fornecedor deve ser


notificado sobre o estoque a ser vendido e se ele quer aceitar ou não a venda para
tal cliente. Ao confirmar a venda de estoque, será iniciado o processo de pagamento,
caso não confirme será notificado ao cliente que não foi possível fazer venda.

Entradas: Código de identificação do fornecedor, código de identificação do estoque,


código de identificação do cliente, token.
89
Saídas: Se o estoque vai ser vendido e está em pagamento ou não.

Fonte: Botões de template.

Pré-Condições

● Usuário existe no sistema.


● Usuário é fornecedor.
● Estoque selecionado está dentro do sistema.

Figura 22 - Notificação de Venda: Diagramas de caso de uso e de classe -Vendas [RF003]

Fonte: Autores, 2020.

[RF004] – Pagamento do estoque:

Descrição: Caso iniciado o método de pagamento pelo fornecedor, o cliente deve


passar informações de pagamento para que o processo consiga prosseguir. Ele
deve informar qual o método de pagamento, se é cartão de crédito ou boleto
bancário. Caso seja cartão de crédito, será feito o processo imediato do pagamento.
Caso seja boleto bancário, será necessário a notificação do pagamento pelo banco.
90
Entradas: Método de pagamento, token do pagamento, se foi pago ou não, data de
pagamento, token.

Saídas: Se o estoque foi pago ou não.

Fonte: Formulário de template.

Pré-Condições

● Usuário existe no sistema.


● Usuário é cliente.
● Pagamento está já iniciado dentro do sistema.

Figura 23 - Pagamento do Estoque: Diagramas de caso de uso e de classe -Vendas [RF004]

Fonte: Autores, 2020.


91

[RF005] – Cancelar pagamento:

Descrição: Caso o cliente queira cancelar o processo de pagamento, no formulário


de início de processo de pagamento terá a possibilidade de cancelar este
pagamento, assim notificando o fornecedor que foi cancelada a venda de estoque.

Entradas: Código de identificação de pagamento, token.

Saídas: Se pagamento foi cancelado ou não.

Fonte: Template.

Pré-Condições

● Usuário existe no sistema.


● Usuário é cliente.

[RF006] – Iniciar a entrega de estoque:

Descrição: Se o já foi efetuado o pagamento de estoque, o fornecedor será


notificado das entregas pendentes. Dentro da listagem das entregas pendentes ele
pode iniciar ou não a entrega. Ao iniciar a entrega será iniciado o processo para
exibir a localização corrente do fornecedor até o cliente através da API do Google
Maps. Isso irá ajudar o fornecedor ir até o cliente para fechar o processo de entrega
e confirmar sua entrega.

Entradas: Data de início da entrega, token.

Saídas: Respectiva localização do fornecedor e do cliente.

Fonte: Template.

Pré-Condições
92

● Usuário existe no sistema.


● Usuário é fornecedor.
● Pagamento está já foi pago.

Figura 24 - Entrega do Estoque: Diagramas de caso de uso e de classe - Vendas [RF006]

Fonte: Autores, 2020.

[RF007] – Finalizar entrega de estoque:

Descrição: Ao seguir a rota do destino e entrega do estoque, o cliente deve informar


na plataforma que o estoque foi vendido com sucesso para que se tenha seguridade
de seu pagamento.

Entradas: Data de fim da entrega, se o estoque foi entregue ou não, token.

Saídas: Informações de entrega foram salvas no sistema com sucesso ou não.

Fonte: Formulário do template.


93
Pré-Condições

● Usuário existe no sistema.


● Usuário é cliente.
● Entrega já foi iniciada.

Requisitos não funcionais:

● Não houve danos aos produtos durante o processo de entrega.


● O estoque foi entregue dentro do período para data de validade.
● Saldo bancário do cliente estar em dia para que não haja problemas na
transação.
● Se a venda foi feita na região que mais agrada o fornecedor e o cliente.
● Gastos de transporte.

C.1.4 Gráficos

C.1.4.1 Requisitos do Usuário:

Os gráficos devem ser divididos entre a parte de exibição do cliente e parte de


exibição do fornecedor. Dentro da parte de exibição do cliente deve-se mostrar os
últimos fornecedores que se fechou vendas, os produtos de estoque que mais
comprou e gasto baseado nos períodos de dia, semana, mês e ano. Já na parte de
fornecedor, deve-se mostrar os clientes que mais fechou contrato, os produtos de
estoque que mais vendeu, o acumulado de ganho e o valor médio de viagem
também por dia, semana, mês e ano.
94
C.1.4.2 Requisitos de Sistema:

● Deve-se criar uma parte específica para os gráficos.


● Deve-se dar a opção de categoria para cada gráfico.
● Escolhendo a categoria deve-se listar os gráficos baseados em dia, semana,
mês, ano.
● Deve-se dar filtros para cada gráfico.

C.1.4.3 Requisitos Funcionais:

[RF001] – Listar categorias:

Descrição: Dentro da aba de categorias do respectivo usuário, deve ser mostrado


uma lista de categorias de gráficos que serão usados como filtro primário das
opções.

Entradas: Tipo de categoria, token.

Saídas: Dash de gráficos baseados no tipo de categoria.

Fonte: Template.

Pré-Condições

● Usuário existe no sistema.


● Existir respectivas informações baseada na categoria no sistema para que se
possa agrupar elas.
95

Figura 25 - Listar e Selecionar Gráfico: D. de caso de uso e de classe -Gráficos [RF001 e RF002]

Fonte: Autores, 2020.

[RF002] – Tipo de gráfico:

Descrição: O tipo de gráfico será baseado na análise do agrupamento total ou de


média que será mostrado na tela em relação ao período.

Entradas: Token.

Saídas: Gráfico baseado no seu tipo.

Fonte: Template.

Pré-Condições

● Usuário existe no sistema.


● Gráfico mostrado estar se baseando numa categoria respectiva ao tipo de
usuário.
96
C.1.4.4 Requisitos não-funcionais:

● Os gráficos de análise apresentam os resultados esperados do usuário.


● Análise do gráfico ser de fácil entendimento ao usuário.
● Design dos gráficos serem de total gosto do usuário.
97

D. ANEXOS

D.1 PROTOTIPAÇÃO

Algumas telas do aplicativo foram desenvolvidas apenas como protótipo para


permitir melhor entendimento do que será implementado e das funcionalidades em
cada parte do fluxo.

Figura 26 - Telas de login e registro

Fonte: Autores, 2020.


98

Figura 27 - Telas de perfil e localização

Fonte: Autores, 2020.

Você também pode gostar