Você está na página 1de 45

INSTITUTO FEDERAL DO ESPÍRITO SANTO

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO


DE SISTEMAS

JOÃO PAULO BUENO OLIVEIRA DE ANDRADE


WENDELL MOURA BESTETE

APLICATIVO MOBILE PARA REALIZAÇÃO DE PEDIDOS PARA


AÇAITERIA DELIVERY

ALEGRE-ES
2018
JOÃO PAULO BUENO OLIVEIRA DE ANDRADE
WENDELL MOURA BESTETE

APLICATIVO MOBILE PARA REALIZAÇÃO DE PEDIDOS PARA


AÇAITERIA DELIVERY

Monografia apresentada à Coordenadoria


do Curso de Tecnologia em Análise e
Desenvolvimento de Sistemas do Instituto
Federal do Espírito Santo, campus de
Alegre, como requisito parcial para a
obtenção do título de Tecnólogo em Análise
e Desenvolvimento de Sistemas.

Orientador: Prof. Me. José Ilton Chiaradia


Fernandes Junior.

ALEGRE-ES
2018
Ficha catalográfica elaborada pelo
Serviço Técnico da Biblioteca Monsenhor José Belotti
Instituto Federal do Espírito Santo (IFES) – campus de
Alegre

Andrade, João Paulo Bueno Oliveira de.


A553a Aplicativo mobile para realização de pedidos para açaiteria
delivery / João Paulo Bueno Oliveira de Andrade, Wendell
Moura Beteste. – 2018.
45 f. il.

Orientador: Prof. Me. José Ilton Chiaradia


Fernandes Junior.
Monografia (Graduação) – Instituto Federal de Educação,
Ciência e Tecnologia do Espírito Santo. Coordenadoria do Curso
Superior de Tecnologia em Análise e Desenvolvimento de
Sistemas - campus de Alegre, 2018.

1. Aplicativos móveis. 2. Aplicações web. 3. Java (Linguagem


de programação de computador). I. Beteste, Wendell Moura. II.
Fernandes Jr., José Ilton Chiaradia. III. Instituto Federal de
Educação, Ciência e Tecnologia do Espírito Santo. IV. Título.

CDD 004
RESUMO

Este trabalho apresenta o desenvolvimento de um aplicativo mobile, cuja finalidade é


agilizar o processo de realização de pedidos de uma açaiteria delivery, além de
aumentar a praticidade no qual esse pedido é realizado e ainda minimizar possíveis
erros de anotações e consequentemente na confecção dos pedidos. Para
desenvolvimento do aplicativo, foram usadas como principais ferramentas, o Adobe
XD, para a criação do design UI, seguido do Android Studio, que foi utilizado como
nosso ambiente de desenvolvimento integrado. Além da linguagem Java, que foi
utilizada como a língua padrão para desenvolvimento, o mesmo contou com auxílio
da linguagem de script PHP, e do formato JSON, para que a comunicação com o
banco de dados pudesse ser feita. O SGBD usado para nosso banco de dados foi o
MySQL, juntamente com o Apache, que foi utilizado como nosso servidor web para
testes.
Palavras-chave: Aplicativo Mobile. Adobe XD. Android Studio. Delivery. Java.
ABSTRACT

This work presents the development of a mobile application, whose purpose is to


expedite the process of ordering a delivery açaiteria, in addition to increasing the
practicality in which this request is made and also to minimize possible errors of
notes and consequently in the making of orders. For application development, Adobe
XD was used as the main tools for creating UI design, followed by Android Studio,
which was used as our integrated development environment. In addition to the Java
language, which was used as the default language for development, it was supported
by the PHP scripting language, and the JSON format, so that communication with the
database could be done. The SGBD used for our database was MySQL, along with
Apache, which was used as our web server for testing.
Keywords: Mobile Application. Delivery. Adobe XD. Android Studio. Java.
LISTA DE ILUSTRAÇÕES

Figura 1 – Artboards................................................................................................. 18
Figura 2 - Artboards Ligadas ..................................................................................... 19
Figura 3 - Estrutura do projeto no Android Studio ..................................................... 20
Figura 4 - Camadas de comunicação entre o sistema e a aplicação ........................ 22
Figura 5 - Camadas de comunicação entre o sistema e a aplicação com JVM ........ 23
Figura 6 - Diagrama de Casos de Uso ...................................................................... 28
Figura 7 - Diagrama de Classes ................................................................................ 29
Figura 8 - Modelo Lógico do Banco de Dados .......................................................... 30
Figura 9 – Tela de login ............................................................................................. 31
Figura 10 – Teste de login com cadastro inexistente ................................................ 32
Figura 11 – Tela de cadastro..................................................................................... 33
Figura 12 – Teste da função cadastrar ...................................................................... 34
Figura 13 – Tela principal do aplicativo ..................................................................... 35
Figura 14 – Seleção dos produtos............................................................................. 36
Figura 15 – Carrinho ................................................................................................. 37
Figura 16 – Tela de seleção dos acompanhamentos ................................................ 38
Figura 17 – Tela de inserção de endereço para entrega ........................................... 39
Figura 18 – Status de pedido .................................................................................... 40
Figura 19 – Gerenciamento dos pedidos .................................................................. 41
Figura 20 – Tela de alteração de status do pedido ................................................... 41
Figura 21 – Lista de pedidos entregues .................................................................... 42
LISTA DE TABELAS

Tabela 1 – Requisitos Funcionais ............................................................................. 26


Tabela 2 – Requisitos não Funcionais ...................................................................... 27
LISTA DE SIGLAS

WIFI – Wireless Fidelity.


XD – Experience Design.
SDK – Software Development Kit.
UML – Linguagem de Modelagem Unificada.
3G – 3ª Geração de padrões e tecnologias da telefonia móvel.
iOS – Sistema operacional patenteado da Apple.
GUI - Graphical User Interface.
UI/UX - User Interface/User Experience.
IDE – Integrated Development Eviropment.
API – Application Programming Interface.
JVM – Java Virtual Machine.
ART – Android Run Time.
APK – Android Application Pack.
SGBD – Sistema de Gerenciamento de Banco de Dados.
TI – Tecnologia da Informação.
PHP – Hypertext Preprocessor.
JSON – JavaScript Object Notation.
SMS – Short Message Service.
SUMÁRIO

1 INTRODUÇÃO ..................................................................................... 11
1.1 JUSTIFICATIVA ................................................................................... 12
1.2 OBJETIVOS ......................................................................................... 13
1.2.1 Objetivo Geral ..................................................................................... 13
1.2.2 Objetivos Específicos ......................................................................... 13
2 REFERENCIAL TEÓRICO .................................................................. 14
2.1 PRATICIDADE DOS DISPOSITIVOS MÓVEIS ................................... 14
2.2 SISTEMAS DELIVERY ........................................................................ 14
2.3 IMPACTO NO MERCADO ................................................................... 15
2.4 AVANÇOS TECNOLÓGICOS ............................................................. 16
2.5 SISTEMA OPERACIONAL ANDROID ................................................. 17
2.6 TECNOLOGIAS UTILIZADAS ............................................................. 18
2.6.1 Adobe Experience Design (XD) ........................................................ 18
2.6.2 Android Studio ................................................................................... 20
2.6.2.1 MySQL ................................................................................................ 21
2.6.2.2 Java ..................................................................................................... 21
3 METODOLOGIA .................................................................................. 24
3.1 FERRAMENTAS TECNOLÓGICAS .................................................... 25
4 DOCUMENTAÇÃO DO SOFTWARE .................................................. 26
4.1 REQUISITOS DO SISTEMA ................................................................ 26
4.2 DIAGRAMA DE CASO DE USO .......................................................... 27
4.3 DIAGRAMA DE CLASSE ..................................................................... 28
4.4 MODELO LÓGICO DO BANCO DE DADOS ....................................... 29
5 PROTÓTIPO DO APLICATIVO ........................................................... 31
6 CONCLUSÃO ...................................................................................... 43
REFERÊNCIAS ................................................................................... 44
11

1 INTRODUÇÃO

Com o passar do tempo, o uso de smartphones vêm se tornando cada vez mais
comum entre as pessoas, devido a sua portabilidade e sua alta capacidade de
realizar tarefas usuais, como: fazer ligações, envios de SMS (Short Message
Service) e principalmente pelo acesso fácil com o qual os usuários obtêm a internet.

Esse crescimento no mercado mobile está atrelada diretamente ao crescimento do


uso do sistema operacional Android, que após seu lançamento chamou atenção de
diversas empresas como uma grande oportunidade de divulgação de seu comércio,
além é claro, da oportunidade de satisfazer seus clientes com aplicativos criativos e
interativos que visam oferecer o máximo de praticidade na realização de tarefas do
dia a dia. Com auxílio de uma rede de internet 3G ou WIFI e uma conta no Google,
um usuário possui fácil acesso ao Google Play, que segundo Monteiro (2014), é
conhecida como a loja de aplicativos do Google. Feito isso, é possível obter acesso
a uma extensa variedade de aplicativos que atendem a diversas necessidades
básicas de seus usuários.

Levando em conta o alto crescimento dos usuários que usufruem da praticidade


oferecida pelo uso de um smartphone, o projeto visa à criação de um aplicativo para
que seja feita a realização de pedidos de açaí de forma automatizada, substituindo o
tradicional sistema de anotações que em muitos casos ainda são feitas através do
uso de caneta e papel. Ao fim da implementação, compreende-se a colaboração
para a adaptação de um micro – empreendedor que possui um sistema
ultrapassado, buscando minimizar possíveis falhas na entrega do pedido do cliente,
causados normalmente pela escrita ilegível, rasuras, falhas de comunicação entre o
vendedor e o cliente, além de atrasos na produção do pedido, quando o mesmo se
encontra em grande quantidade em horários de pico. Esses fatores são
responsáveis por gerar muitas insatisfações por parte dos clientes.
12

1.1 JUSTIFICATIVA

O projeto visa melhorar a agilidade e a praticidade do sistema atual de uma


“açaiteria delivery”, no qual a realização de pedidos é feita através de anotações
simples em folhas de papel, para que depois sejam entregues para a pessoa
responsável por produzir o pedido e só então, repassado para o responsável para
que seja feita a entrega.

O sistema atual pode influenciar no tempo de produção e na entrega do pedido ao


cliente, além de falhas de anotações, seja no momento da comunicação ou escrita
ilegível no ato da anotação e produção do pedido, respectivamente. Isso pode gerar
insatisfação do consumidor na entrega do produto. Esse sistema é considerado
ultrapassado, se levarmos em conta a evolução constante da tecnologia no mundo.
De acordo com Brigatto (2018) em artigo publicado para o jornal “Valor Econômico”,
até o fim de 2017 foram registradas a venda de 47,7 milhões de smartphones. Este
foi o segundo melhor desempenho da história de vendas de aparelhos no Brasil.
Nos dias de hoje, ninguém consegue ficar longe de um celular, seja para
mandar um e-mail, tirar uma foto, assistir a um vídeo, conversar com
amigos, navegar na internet, acompanhar as redes sociais etc. Portanto, os
smartphones e tablets atualmente são objetos praticamente inseparáveis da
maioria das pessoas. (LECHETA, 2016, p. 17).

Portanto, buscando adequar o processo a realidade atual e as novas tecnologias, a


criação de um aplicativo mobile trará mais modernidade, praticidade, agilidade e
precisão para a confecção dos pedidos. Para o uso do aplicativo, o cliente deverá
baixá-lo em seu dispositivo. O aplicativo será disponibilizado no Google Play Store, a
loja de aplicativos do Google, que na maioria dos casos já vem instalado
previamente em aparelhos smartphones que possuem o sistema operacional
Android.
13

1.2 OBJETIVOS
Neste tópico serão abordados os objetivos requisitados primordiais para o
desenvolvimento do trabalho. Os objetivos se encontram divididos em dois
subtópicos, sendo eles: Objetivo Geral e Objetivos Específicos.

1.2.1 Objetivo Geral

• Desenvolver um aplicativo mobile capaz de gerenciar e realizar pedidos de


uma açaiteria delivery.

1.2.2 Objetivos Específicos

• Ser desenvolvido para a plataforma Android;

• Cadastrar novos usuários e valida-los;

• Restringir o acesso do cliente para que não tenham acesso as telas do


vendedor;

• Possuir design simples e específico para o estabelecimento em questão;

• Rodar em webservice;

• Diminuir o tempo entre a realização do pedido e a entrega do produto ao


cliente;

• Eliminar o uso de folhas de papel;

• Diminuir erros de confecção dos produtos;

• Eliminar o congestionamento da linha telefônica do estabelecimento;

• Informar ao cliente o status no qual o pedido se encontra no momento.


14

2 REFERENCIAL TEÓRICO

Neste capítulo, serão contextualizadas algumas definições a respeito do


desenvolvimento do trabalho. O objetivo é fazer com que o leitor absorva um
entendimento introdutório a respeito de alguns temas que se relacionam com a
proposta final deste projeto.

2.1 PRATICIDADE DOS DISPOSITIVOS MÓVEIS

Atualmente, a utilização dos aplicativos mobile está se tornando cada vez mais
comum, não só pela portabilidade que se tem no uso de um smartphone, mas
também pela praticidade de realizar inúmeras tarefas do dia-a-dia com o mínimo de
esforço.
[...]diversas empresas estão buscando incorporar aplicações móveis a seu
dia-a-dia para agilizar seus negócios e integrar as aplicações móveis com
seus sistemas de back-end. Empresas obviamente visam lucro e mais lucro,
e os celulares e smartphones podem ocupar um importante espaço em um
mundo onde a palavra “mobilidade” está cada vez mais conhecida.
(LECHETA, 2013. p.21).

Um usuário pode ter acesso ao aplicativo mobile em diversos lugares, como por
exemplo: praças, no carro e principalmente na comodidade de sua casa. Devido a
essa comum utilização dos celulares, se torna extremamente importante que
empresas se adaptem a esse novo estilo de interação comercial. Empresas que não
se atentam em se atualizar acabam saindo atrás em um mercado que atualmente é
tão competitivo.

2.2 SISTEMAS DELIVERY

Atualmente muitas empresas tem aderido ao modelo de sistemas delivery, buscando


melhorar o número de vendas de seus estabelecimentos principalmente no ramo
alimentício. Um dos pilares para que houvesse essa grande ambição das empresas
por utilizar um sistema delivery, foi o iFood.
15

Segundo artigo publicado pelo “CanalTech” (acesso em 28 out. 2018), o iFood foi:
Fundado no dia 15 de maio de 2011 pelos sócios Patrick Sigrist, Eduardo
Baer, Guilherme Bonifácio e Felipe Fioravante, o iFood surgiu para
revolucionar o delivery de comida. Em apenas seis meses, o aplicativo já
contava com cardápios de 650 restaurantes em São Paulo.

Esse mesmo artigo nos informa ainda que: o iFood, não só se tornou o sistema
delivery mais famoso do Brasil, como é o sistema delivery multiestabelecimentos,
mais famoso do Brasil, atuando inclusive em outros países da américa latina, como
por exemplo, o México, a Colômbia e a Argentina. Como se não bastasse sua fama
no Brasil, o iFood Delivery tem uma proposta ousada, que é se tornar o maior
sistema delivery, da América Latina.

Segundo o site “Ecomanda” (acesso em 29 out. 2018), o sistema Delivery


desenvolvido por eles, proporcionou as seguintes vantagens para seus clientes:
Redução da equipe de atendimento, diminuiu para zero o número de erros na
produção e entrega de pedidos, fidelização dos clientes e principalmente aumentou
as vendas.

2.3 IMPACTO NO MERCADO

Assim que a plataforma Android surgiu, muitas empresas renomadas viram com
bons olhos a grande oportunidade de revolucionar o mercado atual.
O android causou um grande impacto quando foi anunciado, atraindo
atenção de muita gente. Podemos dizer que isso aconteceu porque por trás
dele está nada mais nada menos do que o Google, a empresa que está
revolucionando a internet. Entretanto, não apenas o Google que está na
jogada, e sim um grupo formado por empresas líderes do mercado de
telefonia como a Motorola, LG, Samsung, Sony Ericsson e muitas outras.
Esse grupo chamado de Open Handset Alliance (OHA) foi criado com a
intenção de padronizar uma plataforma de código aberto e livre para
celulares, justamente para atender a todas as expectativas e tendências do
mercado atual (LECHETA, 2013. p.22).

É extremamente vantajoso para empresas, abusarem dessa plataforma, pois nela é


possível a criação de diversas aplicações customizadas, que realizam pequenas
tarefas e atendem as necessidades dos clientes de forma prática e interativa, o que
se torna muito atrativo para quem vai fazer a utilização delas. Além do mais, o
número de usuários que usam smartphones no Brasil e no mundo são muito
expressivos.
16

No mundo, “Segundo pesquisas, mais de 3 bilhões de pessoas têm um telefone


celular, e o mercado de aplicativos virou uma febre, rendendo bilhões todos os
anos.” (LECHETA, 2016, p. 17). De acordo com a Encompass Brasil (2017), o Brasil
ultrapassou a marca de 242 milhões de celulares registrados. Através desses
números, podemos ver que há mais celulares no Brasil, do que pessoas, por
exemplo. Isso confirma a força do mercado mobile.

Levando em conta os dados informados no parágrafo acima, vale ressaltar também


que, de acordo com Burton e Felker (2014), ao publicarmos um aplicativo no Google
Play Store, os aplicativos são “colocados” de forma fácil e direta nas mãos dos
usuários. O Google Play já vem previamente instalado na maioria dos smartphones
que possuem o sistema operacional Android, e então, isso contribui para que os
usuários tenham uma maior facilidade na hora de encontrar os aplicativos que
desejam obter em seus aparelhos. Devido a essa facilidade “É comum ver o número
de downloads de um aplicativo decolar em apenas alguns dias.” (BURTON e
FELKER, 2014, p. 11).

2.4 AVANÇOS TECNOLÓGICOS

Mateus e Loureiro (1998, p. V) afirmam que: “O avanço tecnológico na área de


informática tem dobrado de uma forma geral, a cada 18-24 meses já há alguns anos.
Isto tem levado a avanços contínuos e novas formas do uso da tecnologia”.

É inevitável parar o avanço da tecnologia. Cada dia mais torna-se comum a


automatização de tarefas através de sistemas rápidos e inteligentes, tendo em vista
que a inteligência de máquinas é muito mais eficaz e deixa uma margem menor a
possíveis erros.

Mateus e Loureiro (1998, p. V) afirmam também que:


A tendência é haver computadores mais poderosos conectados a uma rede
mundial de serviços e recursos através de uma infraestrutura de alto
desempenho. É o surgimento dos ambientes de computação ubíquos que
deverá ser a nova forma de trabalho da próxima década. Este é o cenário
altamente desafiador e excitante que motiva a computação móvel.
17

Portanto, a tendência é que haja uma continuidade dos avanços tecnológicos pelo
mundo a fora nos próximos anos, isso se dá, devido ao leque imensurável de
oportunidades de inovação que o “mundo” da tecnologia pode proporcionar aos
desenvolvedores.

2.5 SISTEMA OPERACIONAL ANDROID

Android é uma plataforma open-source para dispositivos móveis desenvolvida pelo


Google. Isto é, possui o código fonte aberto e pode ser modificado por qualquer
pessoa. Esse grau de abertura da plataforma e sua franqueza são uma vantagem
para desenvolver aplicativos Android, pois através delas, é possível que os
desenvolvedores consigam ver os recursos que estão sendo implementados.
Diferente do iOS, que é o sistema operacional patenteado pela Apple e que pode ser
usado somente nos dispositivos da própria marca. (DEITEL, A., DEITEL, H. e
DEITEL, P., 2016). Porém, por consequência, uma plataforma livre acaba fazendo
com que surjam alguns questionamentos a respeito de sua segurança.

Apesar desses questionamentos, Da Silva e Pereira (2009, p. 4) afirmam que: “[...]o


Android™ tem uma capacidade de segurança muito forte.” Ainda segundo eles,
como o Android é executado em um kernel Linux, sempre que instalado um novo
aplicativo nessa estação, um novo usuário Linux é criado para cada aplicação, com
diretórios que serão usados pelo programa, porém somente para aquele usuário
específico. Six (2012, p. 47) diz que: “No modelo Android, cada app é executado
como sua própria conta de usuário. Isso tem efeito de separar os apps e garantir
que, por padrão, eles possam acessar somente seus próprios dados, e não os
dados pertencentes a outros apps.”

Da Silva e Pereira (2009) informam que, a plataforma Android foi desenvolvida


tomando como sua base, o sistema operacional Linux. Porém, vale ressaltar que
apesar de ele ter sido construído com base no Linux, não significa que ele seja um,
pois não possui um componente de GUI nativo e outros conjuntos padrões
apresentados em distribuições Linux.
18

2.6 TECNOLOGIAS UTILIZADAS

Neste capítulo, serão apresentadas ao leitor, um breve conceito a respeito das


tecnologias que foram necessárias para o desenvolvimento desse projeto. Dentre
essas tecnologias, estão a ferramenta para a criação de design UI/UX, o Adobe XD,
a IDE, Android Studio e o SGBD MySQL.

2.6.1 ADOBE EXPERIENCE DESIGN (XD)

“O Adobe XD é uma ferramenta de prototipação de aplicativos e sites. Basicamente


ele funciona com artboards que podem ser ligados entre si, dando uma visão geral
de navegação. O programa é dividido em duas funcionalidades: Design e Protótipo.”
(SANTANA, 2016). As Figuras 3 e 4 ilustram os ambientes da ferramenta.

Figura 1 - Artboards.

Fonte: Design Culture (2016).


19

Figura 2 - Artboards ligadas.

Fonte: Design Culture (2016).

Inicialmente a ferramenta foi lançada de forma paga, pela Adobe e recentemente foi
disponibilizada de forma gratuita para downloads, na plataforma na Adobe Creative
Cloud. Segundo a página da Adobe (acesso em 29 out. 2018), O Adobe XD, possui
algumas vantagens específicas que o fazem destacar nesse meio da criação do
design UI/UX. Um desses fatores, é a capacidade dela de se comunicar muito bem
com ferramentas como o Adobe Photoshop, Ilustrator e o Sketch por exemplo, que
são ferramentas já conhecidas por criadores de design. Todos os documentos
gerados nas ferramentas citadas, assim que importados, são prontamente
convertidos para o formato XD.

A página da Adobe (acesso em 29 out. 2018) ainda nos informa, que a ferramenta
permite ao usuário testar sua experiência de navegação entre as telas, através de
protótipo que pode ser executado na tela real, para qual o projeto está sendo
desenvolvido. Isto é, o protótipo pode ser testado na tela do seu smartphone Android
ou iOS. Isso permite que o usuário possa participar diretamente do desenvolvimento
do design de sua aplicação, através de feedbacks.
20

2.6.2 ANDROID STUDIO

Deitel, Deitel e Wald (2016, p. 16) citam que:


O Android Studio foi anunciado na conferência de desenvolvedores Google
I/O de 2013 e agora é o IDE Android preferido do Google. O IDE inclui:
• projetista de interface gráfica do usuário
• editor de código com suporte para sintaxe colorida e numeração de linha
• recuo (auto-indenting) e preenchimento automáticos (isto é, sugestão de
tipo)
• depurador
• sistema de controle de versão
• suporte para refatoração
e muito mais.

Até o ano de 2014, o Eclipse era considerado a IDE padrão para desenvolvimento
de aplicações para a plataforma Android, porém, após essa data, o Google, resolveu
parar de dar suporte a esse ambiente de desenvolvimento, visando favorecer o uso
do Android Studio que é uma versão customizada do IDE IntelliJ Idea. (DAMIANI,
2016).

Dulu (2016) informa que, ao criar um novo projeto no Android Studio devemos nos
deparar com a seguinte organização: App, que é a pasta principal do projeto;
Manifests, que é o arquivo onde serão feitas as configurações do aplicativo; Java,
que é a pasta onde ficarão os arquivos que farão as execuções operacionais; Res
ou Resources, que é o local onde se encontrarão imagens, ícones e layouts que
serão importadas para futuramente serem usadas no projeto.

Figura 3: Estrutura do projeto no Android Studio.

Fonte: Os autores (2018).


21

O Android Studio, já vem com o Android SDK incluso. Android SDK, é um kit de
desenvolvimento da plataforma. Nele, estão inclusas, ferramentas, APIs e
bibliotecas que são necessárias para se desenvolver uma aplicação para Android.
Junto com o SDK, está por exemplo, o emulador em que o desenvolvedor poderá
utilizar, para testar sua aplicação. (RESENDE, 2018).

2.6.2.1 MySQL

Segundo Milani (2007, p. 22), “O MySQL é um servidor e gerenciador de banco de


dados (SGBD) relacional, de licença dupla (sendo uma delas de software livre),
projetado inicialmente para trabalhar com aplicações de pequeno e médio
portes[...]”.

O MySQL se torna uma alternativa atrativa, pois mesmo sendo de uma tecnologia
complexa, possui um baixo custo. Além disso, possui características importantes
como por exemplo, velocidade, escalabilidade e confiabilidade, isso faz com que
cada vez mais, ele seja adotado por departamentos de TI, desenvolvedores web e
vendedores de pacotes de softwares (NIEDERAUER, 2008).

2.6.2.2 Java

O Java é uma linguagem de programação orientada a objetos e que está entre as


linguagens de programação mais usadas no mundo. A escolha dessa linguagem de
programação para que se possa desenvolver na plataforma, foi uma escolha lógica,
pelo fato do poder que essa possuí, além de ser gratuita e open-source como o
próprio Android. Outro fator que contou a favor dessa escolha, foi o fato de ela já ser
dominada por milhões de desenvolvedores. (WALD, A., DEITEL, H. e DEITEL, P.,
2016).

Segundo Horstmann (2009), o Java foi apresentado em uma exposição chamada


SunWord em 1995.
Desde então, Java tem crescido a uma velocidade fenomenal.
Programadores escolheram a linguagem porque ela é mais simples do que
sua concorrente mais próxima, C++. Além disso, Java tem uma rica
biblioteca que possibilita escrever programas portáveis[...] (HORSTMANN,
2009, p. 37).
22

Segundo estudo realizado através do uso da apostila Caelum: Java Orietado a


Objeto (2014), outro fator que faz o Java se destacar entre os desenvolvedores e
que agrega ainda mais valor a ela, é sua versatilidade, e sua compatibilidade com
muitos dispositivos, não só mobile. O Java tem o poder de se adaptar facilmente na
maioria das plataformas. A linguagem funciona a partir de uma máquina virtual
(JVM), para então executar sua aplicação. Isso permite que o aplicativo rode de
maneira semelhante, independente de qual seja a plataforma que esteja executando
a aplicação e também evita que um mesmo código tenha que ser compilado de
maneira individual para cada plataforma que irá utilizar a aplicação.

Na maioria das linguagens de programação, o código executável conversa


diretamente com o sistema operacional, trabalhando da seguinte maneira (Figura 4):

Figura 4 - Camadas de comunicação entre o sistema e a aplicação.

Fonte: Caelum - Java Orientado a Objeto (2018).

Isso faz com que o código deva ser compilado uma vez para cada sistema
operacional. Já na linguagem Java, com o JVM, os códigos são transformados em
um Bytecode, para que o JVM, a máquina virtual, consiga “traduzir” e executar o
mesmo (CAELUM, 2004). A Figura 5 ilustra como são as camadas de comunicação
entre o sistema e a aplicação com o JVM.
23

Figura 5: Camadas de comunicação entre o sistema e a aplicação com JVM.

Fonte: Caelum Java Orientado a Objetos (2018).

No caso do Android, ele possui uma máquina virtual específica, semelhante ao


tradicional JVM utilizado nas plataformas desktop, cujo nome é ART, que significa
Android Run Time. O Android Run Time surgiu a partir da versão do Android 5.0,
com objetivo de substituir o antigo Dalvik, que deixava um pouco a desejar em seu
desempenho ao executar aplicações que exigiam um pouco mais de poder de
processamento. (HAMANN, 2014).
24

3 METODOLOGIA

A pesquisa iniciou-se por meio da vivência de um dos autores nesse âmbito. Através
disso, o proprietário do estabelecimento “Olimel Delivery” solicitou que fosse
verificada a viabilidade de um sistema que fosse capaz de automatizar e gerenciar
os pedidos do estabelecimento.

Dado isso, houve uma conversa com o proprietário, objetivando que fossem
levantados os requisitos que o mesmo julgava importante ou indispensável para o
desenvolvimento do sistema. Por fim, foi constatada a viabilidade para
desenvolvimento do mesmo, e que o ideal para o momento seria um aplicativo
mobile, visando a praticidade e a adaptação com o mercado atual.

A fim de documentar e arquitetar o software em questão, utilizou-se a Linguagem de


Modelagem Unificada (UML), onde foi possível apresentar os diagramas de Caso de
Uso e o Diagrama de Classes. Os diagramas citados, possuem o objetivo de
modelar e estruturar como deve ser o comportamento do aplicativo, além de nortear
o desenvolvedor.

Um protótipo UI foi criado com auxílio da ferramenta de prototipagem Adobe XD,


possibilitando o cliente obter uma noção já na tela de seu smartphone, de como
seria o aplicativo em funcionamento. Através desse protótipo, foi possível obter
feedbacks do proprietário, e correções de alguns detalhes puderam ser feitas. Esse
tipo de protótipo, com os feedbacks acatados, possibilita o desenvolvedor gráfico
trabalhar também no design UX do aplicativo, que atualmente tem sido um fator
fundamental para antecipar a satisfação do cliente ao ter acesso a uma determinada
aplicação após sua implementação.

Após trabalhar na aprovação do design, deu-se início a implementação do software


e todas as telas criadas e testadas foram importadas para o ambiente de
desenvolvimento integrado, o Android Studio. Através disso, gerou-se um protótipo
já com algumas funcionalidades implementadas, que nos deu a possibilidade de
realizar alguns pequenos testes e corrigir alguns detalhes que foram julgados
necessários.
25

3.1 FERRAMENTAS TECNOLÓGICAS

As seguintes ferramentas tecnológicas foram utilizadas para o desenvolvimento do


aplicativo:

• Adobe XD CC: Ferramenta de criação de design e prototipagem UI/UX para


aplicações mobile e/ou web.
• Android Studio: IDE (Ambiente de Desenvolvimento Integrado), para
desenvolvimentos de aplicações mobile.
• MySQL: Sistema de gerenciamento de banco de dados.
• Java: Linguagem de programação orientada a objetos que permite o
desenvolvedor implementar e executar operações necessárias para o
desenvolvimento do aplicativo.
• Apache: Servidor web livre.
• PHP: Linguagem de script open source de uso geral.
• JSON: Formato para transferência e intercâmbio de dados.
• Sublime Text: Software de edição de textos.
• Android SDK: Software Development Kit (Pacote de Desenvolvimento de
Software) para Android, que nos permite ter acesso a diversas funcionalidades
indispensáveis para o desenvolvimento na plataforma.
26

4 DOCUMENTAÇÃO DO SOFTWARE

Neste capítulo será exibida a análise do software e sua arquitetura, das quais foram
usadas como pilar para o desenvolvimento do trabalho.

4.1 REQUISITOS DO SISTEMA

Os requisitos funcionais são comportamentos que representam o resultado das


ações dos usuários mediante ao uso do software. Já os requisitos não funcionais,
servem para quantificar alguns aspectos do comportamento dos requisitos
funcionais (FILHO, 2000). Os requisitos mencionados foram levantados com auxílio
do proprietário de uma açaiteria e foi possível obter o seguinte resultado (Tabela 1 e
Tabela 2).

Tabela 1 - Requisitos Funcionais.


REQUISITO DESCRIÇÃO PRIORIDADE DEPENDÊNCIA
RF01 O cliente deve ser capaz de se Alta
cadastrar no aplicativo.
RF02 O cliente deve ser capaz de manter Média RF01
dados pessoais.
RF03 O cliente deve ser capaz de efetuar Alta RF01
um pedido no aplicativo.
RF04 O cliente deve informar a forma de Alta RF03
pagamento.
RF05 O aplicativo deve informar ao Alta RF04
cliente, após a inserção da forma
de pagamento, os dados referentes
ao seu pedido.
RF06 O cliente deve ser capaz de Alta RF05
finalizar pedido.
RF07 O cliente deve ser capaz de Alta RF05
cancelar pedido.
RF08 O cliente deve ser capaz de Alta RF03
consultar pedido.
RF09 O vendedor deve ser capaz de Alta RF03
consultar pedido.
RF10 O vendedor deve ser capaz de Alta RF04
consultar a forma de pagamento.
RF11 O vendedor deve ser capaz de Alta RF03, RF11
alterar o status do pedido.
Fonte: os autores (2018).
27

Tabela 2 - Requisitos não Funcionais


REQUISITO DESCRIÇÃO PRIORIDADE DEPENDÊNCIA
RNF01 O aplicativo deve possuir uma Alta
interface limpa (sem anúncios) e
de fácil compreensão, norteando
os princípios da usabilidade.
RNF02 O aplicativo será acessado através Alta
de um login previamente
cadastrado.
RNF03 O aplicativo deve ser desenvolvido Alta
na plataforma android.
RNF04 O aplicativo deve ser desenvolvido Média
na linguagem de programação
Java.
RNF05 O aplicativo deve utilizar o SGBD Média
MySQL para persistência dos dado
dados.
Fonte: os autores (2018).

4.2 DIAGRAMA DE CASO DE USO

Guedes (2014) nos informa, que o diagrama de casos de uso, tem o objetivo de
mostrar o comportamento externo do sistema de forma simples, através da
representação das funcionalidades, além de mostrar quais são os usuários que
poderão ter acesso a tal funcionalidade. O diagrama de caso de uso foi
representado da seguinte maneira (Figura 6):
28

Figura 6 – Diagrama de Casos de Uso

Fonte: os autores (2018).

4.3 DIAGRAMA DE CLASSE

De acordo com Guedes (2014, p. 57), “O diagrama de classes é um dos mais


importantes e utilizados da UML.” O principal objetivo do diagrama de classes é
realizar a demonstração das classes que devem fazer parte do sistema, juntamente
com seus respectivos atributos e métodos e mostrar como deve funcionar o
relacionamento entre elas. “Esse diagrama apresenta uma visão estática de como
as classes estão organizadas, preocupando-se em como definir a estrutura lógica
das mesmas” (GUEDES, 2014, p. 57). O seguinte resultado foi obtido (Figura 7):
29

Figura 7 – Diagrama de Classes.

Fonte: os autores (2018).

4.4 MODELO LÓGICO DO BANCO DE DADOS

Martins (2007, p. 425) afirma que: “O modelo lógico pode ser criado a partir do
modelo de classes e objetos, considerando somente[...] as classes que precisam ser
armazenadas em um banco de dados”. A Figura 8 relata como ficou o modelo lógico
do banco de dados do sistema utilizado para desenvolvimento do aplicativo.
30

Figura 8 – Modelo Lógico do Banco de Dados.

Fonte: os autores (2018).


31

5 PROTÓTIPO DO APLICATIVO

Neste capítulo iremos mostrar um protótipo do aplicativo utilizando as funções de


“Nova Conta”, para realizar um novo cadastro e também da função de “Login”, onde
serão verificadas e validadas as informações do usuário, retornando mensagens de
acordo com o resultado da inserção dos dados. Serão apresentadas as telas finais
da parte interna do aplicativo, tanto do lado do cliente, como do vendedor, bem
como uma simulação a respeito do comportamento de suas ações. Para isso, foram
criadas a base de dados e as páginas necessárias em “.php” e hospedadas no site
“https://www.000webhost.com/” que se trata de um servidor para hospedagens
gratuitas de sites e base de dados. Através da hospedagem das páginas, o mesmo
nos retornou um domínio, tal qual será usado para acesso na aplicação para que
seja possível fazermos a requisição de cadastro e login. A aplicação necessita do
uso de um webservice, pois sem ela não seria possível realizar a consulta dos dados
inseridos do cliente, pelo vendedor, para que o mesmo possa gerenciar e
confeccionar o produto. Portanto, o teste do nosso aplicativo foi realizado através do
uso de um smartphone, de modelo ASUS Zenfone 5, com Android 5.0. O mesmo
apresentou-se da seguinte maneira (Figura 9):
Figura 9 – Tela de login.

Fonte: os autores (2018).


32

Ao inserirmos um login e uma senha qualquer que não consta um cadastro no


banco, a seguinte mensagem é retornada para o usuário (Figura 10):

Figura 10 – Teste de login com cadastro inexistente.

Fonte: os autores (2018).

Após isso, com a ação do click do botão “Nova Conta” no extremo inferior da tela, a
seguinte tela foi apresentada (Figura 11):
33

Figura 11 – Tela de cadastro.

Fonte: os autores (2018).

Após isso, inserimos os dados nos campos e clicamos no botão “Criar”, com a ação
do click, obtivemos o seguinte resultado (Figura 12).
34

Figura 12 – Teste da função cadastrar.

Fonte: os autores (2018).

Criado o cadastro, voltamos a tela de “login” através da ação do botão “Já possuo
uma conta”, inserimos os dados novamente e obtivemos o resultado apresentado na
Figura 13.
35

Figura 13 – Tela principal do aplicativo.

.
Fonte: os autores (2018).

Na tela inicial, já com o login efetivado, fizemos o teste nos “checkbox” (Figura 14)
para escolha dos produtos. Após isso, testamos a ação do botão “Pedir”, que deverá
nos apresentar a tela de “carrinho” (Figura 15). No carrinho, deverá ser verificada e
informada a quantidade de produto que se deseja. Após a verificação, o usuário
deverá acionar o botão “Confirmar” e então será exibida a tela para o usuário
selecionar quais complementos deseja ao seu produto (Figura 16).
36

Figura 14 – Seleção dos produtos.

Fonte: os autores (2018).


37

Figura 15 – Carrinho.

Fonte: os autores (2018).


38

Figura 16 – Tela de seleção dos acompanhamentos.

Fonte: os autores (2018).

Selecionados os complementos e clicando no botão finalizar, será exibida a tela em


que o usuário deverá informar os dados necessários para que o produto seja
entregue (Figura 17).
39

Figura 17 – Tela de inserção de endereço para entrega.

Fonte: os autores (2018).

Por fim, após a inserção dos dados e acionando o botão “Finalizar” o cliente será
direcionado para a tela, onde poderá ser feita a verificação do status do pedido
(Figura 18) de acordo com a atualização do vendedor. O pedido será enviado para a
tela de gerência de pedidos que poderá ser acessada pelo vendedor, através do uso
de um login restrito que será fornecido para o mesmo.
40

Figura 18 – Status de pedido.

Fonte: os autores (2018).

Já na parte do vendedor, será apresentada uma tela, onde o mesmo poderá


selecionar um dos pedidos listados (Figura 19). Clicando no botão visualizar, será
exibido os dados do pedido (Figura 20), onde o responsável pelo gerenciamento do
produto, poderá alterar o status atual do pedido, que por padrão ao ser recebido,
estará com a descrição de: “Em confecção”. Esse status é representado pelo
símbolo de “carregamento” em destaque na cor amarela. Os pedidos que se
encontrarem com status alterado para “Saiu para entrega”, que é representado pelo
símbolo de uma motocicleta na cor vermelha, deverão se encontrar na tela principal,
juntamente com os pedidos que estiverem “Em confecção”. Por fim, os pedidos
marcados como “Entregue”, isto é, aqueles que já tiverem sido entregues ao seu
destino final, deverão ser listados em uma tela separada dos demais e poderão ser
visualizados futuramente, bastando que o vendedor dê um click no botão que se
encontra na barra de navegação do aplicativo com o nome de “Finalizados”(Figura
21).
41

Figura 19 – Gerenciamento dos pedidos.

Fonte: os autores (2018).

Figura 20 – Tela de alteração do status do pedido.

Fonte: os autores (2018).


42

Figura 21 – Lista de pedidos entregues.

Fonte: os autores (2018).


43

6 CONCLUSÃO

Por fim, um protótipo do aplicativo foi apresentado. As telas de realização dos


pedidos do cliente, bem como as telas de gerenciamento dos pedidos por parte do
vendedor foram apresentadas. O aplicativo ainda não se encontra funcionando
corretamente, encontrando-se, portanto, incapaz de realizar e administrar os pedidos
do realizados. O aplicativo se encontra hospedado em um servidor web gratuito,
tornando possível a realização de novos cadastros e a validação dos mesmos,
criados a partir de uma comunicação realizada com o banco de dados. O aplicativo
ainda não se encontra disponível para downloads no Google Play e deverá ser
publicado após o término de sua implementação.
44

REFERÊNCIAS

ADOBE XD CC. Adobe. Disponível em:


<https://www.adobe.com/br/products/xd/details.html?promoid=599F8RK9&mv=other
> Acesso em: 29 out. 2018.

BRASIL, Encompass. “O mercado de reparo de celulares não para de crescer”.


[S.l], 2017. Disponível em: <http://www.encompassbrasil.com.br/o-mercado-de-
reparo-de-celulares-nao-para-de-crescer/>. Acesso em:02 mai. 2018.

BRIGATTO, Gustavo. “Mercado de smartphones volta a crescer no Brasil após 2


anos de queda”. [S.l], 2018. Disponível em:
<http://www.valor.com.br/empresas/5409615/mercado-de-smartphones-volta-
crescer-no-brasil-apos-2-anos-de-queda>. Acesso em:02 mai. 2018.

BURTON, Michael; FELKER, Donn. Desenvolvimento de aplicativos Android


para leigos. 1. ed. Rio de Janeiro - RJ: Alta Books, 2014.

CAELUM, Java e Orientação a Objetos. Disponível em:


<https://www.caelum.com.br/apostila-java-orientacao-objetos/> Acesso em: 27 out.
2018.

CANAL TECH. iFood. Disponível em: <https://canaltech.com.br/empresa/ifood/>


Acesso em: 28 out. 2018.

DAMIANI, B. Edgard. Programação de Jogos Android: Crie seu próprio game


engine. 2. ed. São Paulo - SP: Novatec Editora, 2016.

DA SILVA, L. M; PEREIRA, O. C. L. Android para Desenvolvedores. 1. ed. Rio de


Janeiro - RJ: Brasport, 2009.

DEITEL, Abbey; DEITEL, Paul; DEITEL, Harvey. Android: Como programar. 2. ed.
Bookman Editora, 2015.

DEITEL, Paul; DEITEL, Harvey; WALD, A. Android 6 para Programadores: Uma


Abordagem Baseada em Aplicativos. 3. ed. Bookman Editora, 2016.

DULU. O Android Studio Revelado. 2. ed. Clube dos Autores, 2016.

ELMANSY, Rafiq. Como Criar um Protótipo de UI Usando Adobe XD. 23 mai. 2016.
Envato Tuts+. Disponível em: <https://webdesign.tutsplus.com/pt/tutorials/how-to-
create-a-ui-prototype-using-adobe-xd--cms-26585> Acesso em: 29 out. 2018.

FILHO, P. P. Wilson. Engenharia de Software: fundamentos, métodos e padrões.


mar. 2000. Disponível em: <http://aulasprof.6te.net/Arquivos_Aulas/07-
Proces_Desen_Soft/Livro_Eng_Soft_Fund_Met_Padroes.pdf> Acesso em: 01 out.
2018.
45

GUEDES, A. T. Gilleanes. UML 2 – Guia Prático. 2. ed. São Paulo - SP: Novatec
Editora, 2014.
HAMANN, Renan. Android: Entenda a diferença entre o ART e o Dalvik. 08 mai.
2014. Tecmundo. Disponível em: <https://www.tecmundo.com.br/android/54387-
android-entenda-diferencas-entre-art-o-dalvik.htm> Acesso em: 27 out. 2018.

HORSTMANN, Cay. Conceitos de computação com Java. 5. ed. Porto Alegre -


RS: Bookman Editora, 2009.

LECHETA, R. R. Android Essencial: Edição resumida do livro Google Android. 1.


ed. São Paulo - SP: Novatec Editora, 2016.

LECHETA, R. R. Google Android – Aprenda a criar aplicações para dispositivos


móveis com Android SDK. 3. ed. São Paulo - SP: Novatec Editora, 2013.

MATEUS, Geraldo; LOUREIRO, Antonio. “Introdução à Computação Móvel”. [S.l],


1998. Disponível em:
<http://homepages.dcc.ufmg.br/~loureiro/cm/docs/cm_livro_1e.pdf>. Acesso em:30
abr. 2018.

MONTEIRO, B. João. Google Android: Crie aplicativos para celulares e tablets.


Casa do Código, 2014.

MILANI, André. MySQL – Guia do Programador. São Paulo - SP: Novatec Editora,
2007.

MARTINS, J. C. Cordeiro. Técnicas Para Gerenciamento de Projetos de


Software. 1. ed. Rio de Janeiro - RJ: Brasport, 2007.

NIEDERAUER, Juliano. Integrando PHP 5 com MySQL. 2. ed. São Paulo - SP:
Novatec Editora, 2008.

RESENDE, Kassiano. Kotlin com Android: Crie aplicativos de maneira fácil e


divertida. São Paulo - SP: Editora Casa do Código, 2018.

SIX, Jeff. Segurança de Aplicativos Android. 1. ed. São Paulo - SP: Novatec
Editora, 2012

SANTANA, Flávio. O futuro do design de interfaces com o Adobe XD. 06 jun. 2016.
Design Culture. Disponível em: <https://designculture.com.br/o-futuro-do-design-de-
interfaces-com-o-adobe-xd> Acesso em: 29 out. 2018.

SISTEMA DELIVERY. Ecomanda: Automação comercial em nuvem. Disponível em:


< http://www.ecomanda.com.br/cardapio-digital> Acesso em: 29 out. 2018.

Você também pode gostar