Você está na página 1de 55

CENTRO UNIVERSITÁRIO ANHANGUERA BELENZINHO

CURSO DE TADS/SISTEMAS DE INFORMAÇÃO – 5º Sem


DISCIPLINA DE PROJETO INTER. APL. A TEC. EM ANÁLISE E
DESENV. DE SIST. V

BRENO VIEIRA – TADS 5º


IGOR CESAR – TADS 5º
MAILANE FERNANDES – TADS 5º
WALLACE VIEIRA – TADS 5º

APP DE PEDIDOS
PizzaWay

SÃO PAULO-SP
2016
BRENO VIEIRA RA: 8410119227
IGOR CESAR RA: 9902005834
MAILANE FERNANDES RA: 1299274012
WALLACE VIEIRA RA: 8409152923

APP DE PEDIDOS
PizzaWay

Trabalho apresentado ao Centro Universitário Anhanguera


de São Paulo, como requisito para avaliação bimestral da
disciplina de Projeto Inter. Apl. a Tec. em Análise e Desenv.
de Sist. V do 5º sem., período Noturno do curso de
TADS/Sistemas de Informação.

Orientador: Fernanda Pereira Caetano

SÃO PAULO-SP
2016
Sumário
Resumo................................................................................................................................................ 4
Abstract ............................................................................................................................................... 5
1. Introdução ................................................................................................................................... 6
1.1 Tema .................................................................................................................................... 6
1.2. Problemática ............................................................................................................................ 6
1.3. Hipóteses .................................................................................................................................. 7
1.4. Objetivo do projeto .................................................................................................................. 7
1.4.1 Objetivo do projeto ............................................................................................................ 7
1.5. Justificativa e relevância........................................................................................................... 8
1.6 Metodologia .............................................................................................................................. 9
2. Referencial teórico .................................................................................................................... 10
2.1. Conhecendo o ramo de pizzaria ............................................................................................. 10
2.2. Sobre Pizza e Pizzarias ........................................................................................................... 11
2.2.1. Como surgiu a pizza e de onde ela vem .......................................................................... 12
2.2.2. O porquê do significado do nome ‘pizza’ ........................................................................ 12
2.2.3. Como surgiram as pizzarias ............................................................................................. 13
2.2.4. Curiosidades sobre pizza/pizzarias .................................................................................. 13
2.3. Definição da linguagem de programação .............................................................................. 14
3. Desenvolvimento ...................................................................................................................... 15
3.1. Analise .................................................................................................................................... 16
3.1.1. Sintaxe de entrevistas ..................................................................................................... 16
3.1.2. Necessidade do cliente.................................................................................................... 17
3.1.3 Levantamento de requisitos............................................................................................. 18
3.1.3.1 Requisitos funcionais ............................................................................................. . 18
3.1.3.2 Requisitos não funcionais ...................................................................................... . 20
3.2. Desenhos do sistema ............................................................................................................. 20
3.2.1. Fluxogramas .................................................................................................................... 20
3.2.2. Casos de uso .................................................................................................................... 23
3.2.3. Diagrama de Classe ......................................................................................................... 28
3.3. Banco de dados ...................................................................................................................... 30
3.3.1. Modelo logico de dados .................................................................................................. 30
3.3.2. Tabelas do banco de dados ............................................................................................. 31
3.4. Modelagem de arquitetura do Sistema ................................................................................. 34
3.4.1. Projeto de interface do Sistema ...................................................................................... 34
3.4.2 Conexão com banco de dados ......................................................................................... 38
3.4.3 Desenvolvimento de interface ......................................................................................... 44
3.4.4. Desenvolvimento do sistema .......................................................................................... 47
3.4.5 Documentação do Sistema............................................................................................... 52
4. Conclusão .................................................................................................................................. 53
4.1. Resposta das hipóteses .......................................................................................................... 53
4.2 Considerações finais ................................................................................................................ 53
4.3 Trabalhos Futuros.................................................................................................................... 53
5. Referencias bibliográficas ......................................................................................................... 54
Resumo

Este projeto tem o objetivo de viabilizar a implantação de um aplicativo de realização de


pedidos para determinada pizzaria e observar suas vantagens ante ao modo convencional.
Para conhecer a fundo este “universo”, este projeto mostra como se deu o surgimento da
pizza e das pizzarias. Foram realizadas entrevistas com estabelecimentos para conhecer o
funcionamento de uma pizzaria. Para a documentação do projeto, envolveu-se a utilização
de técnicas de análise estruturada, como: fluxogramas, casos de uso e diagrama de classes.
Devido ao projeto estar em seu estágio documental, não houve ainda a programação do
sistema, a fim de saber suas vantagens.

Palavras Chave: Pizzaria, Análise, Aplicativo, Requisitos.

4
Abstract

The content of this project was about an implantation of an order fulfillment application to
a particular pizzeria with the purpose of observing its advantages compared to the
conventional mode. To fully understand the background of this "universe", this project will
show how the emergence of pizzerias and the pizza itself occurred. Interviews were
conducted with establishments to know how a pizzeria works. For the project
documentation, it was involved the use of structured analysis techniques, such as language
setting, flow charts, use cases and class diagram.

And in conclusion it is demonstrated their implantation phase of testing and completion


showing the final result and its codification.

Keywords: Pizzeria, Analysis, Application, Requirements, Android.

5
1. Introdução

Este projeto contém 4 capítulos. O primeiro capítulo irá abordar escolha do tema, a
problemática, objetivo principal e específicos, bem como demonstrar a metodologia que
será utilizada para a resolução do problema. O segundo é referente a abordar o ambiente de
uma pizzaria, seu funcionamento baseado em pesquisas com diversos estabelecimentos,
também abordará as origens das pizzas e pizzarias, sobre como se originou esse termo
“pizza” e da linguagem de programação utilizada para a criação do aplicativo PizzaWay. O
terceiro capítulo se refere ao desenvolvimento prático, isto é, as técnicas para se fazer a
análise estruturada, enfim, todo o levantamento da documentação. O quarto e último
capítulo se referem a verificar se as hipóteses de certa foram de certa forma, respondidas.
Também possuindo as considerações finais e os trabalhos futuros que serão desenvolvidos.

1.1 Tema

O projeto terá como base o estudo de um ou mais estabelecimentos através de


entrevistas e, em partes, algumas observações sob a perspectiva de um cliente/consumidor
de uma pizzaria em particular, em que se tinha a visão de muitos de seus processos, em
especial o de expedição de pedidos.

O estudo visa estabelecimentos do tipo delivery, sejam eles de pequeno, médio ou


grande porte. Onde que há justificativa para informatização do processo de pedidos e
permitir que o consumidor possa fazer pedidos de onde ele estiver.

1.2. Problemática

6
A necessidade de informatização de pedidos se dá exclusivamente pela forma
arcaica de se anotá-los. A pizzaria em questão utiliza papeis/post its para anotá-los.
Dependendo do grau de demanda desses pedidos, pode haver sobrecarga de tarefas e
possíveis problemas administrativos. Outra questão a ressaltar é que a pizzaria deseja aderir
a tendência dos smartphones

1.3. Hipóteses

A hipótese diz respeito, especificamente a optimização do entendimento,


melhorando tanto de parte do estabelecimento como da parte do consumidor. O
estabelecimento que atua exclusivamente na parte delivery, teria uma redução de seu
quadro de funcionários, uma vez que não seriam necessários atendentes, pois na pizzaria
PizzaWay muitas vezes o proprietário atende os clientes. O consumidor por sua vez faria o
pedido em seu dispositivo móvel sem se deparar com linhas ocupadas e etc.

1.4. Objetivo do projeto

Informatizar o processo de pedidos de uma pizzaria. Objetivos específicos

1.4.1 Objetivo do projeto

• Eliminar a figura do atendente

Este objetivo, visa a economia em despesas com salários e/ou acumulo de funções, eliminar
o atendente pode ser uma boa economia. Em estabelecimentos que não são exclusivamente
delivery, o responsável pelo atendimento muitas vezes tinha outras funções além desta.
Enfim, eliminação de cargos, e por consequência economia.

7
• O cliente ser responsável pelos dados de entrega (endereço).

O cliente irá definir os produtos, endereço de entrega. Eventuais erros e equívocos, serão
unicamente erro dele, eximindo o estabelecimento.

• O cliente ter acesso ao cardápio atualizado (os panfletos não seriam mais tão
necessários).

Hoje em dia não adianta guardar panfletos e ligar, sendo que valores e produtos
mudam, constantemente. O cardápio será acessado pelo app e o cliente terá acesso a valores
e produtos atualizados.

1.5. Justificativa e relevância

O estudo desse trabalho tem como proposta ajudar um empreendedor, dono de uma
pizzaria, a trazer eficácia para seu comércio a fim de melhorar o atendimento para sua
clientela, através de dispositivos móveis. Com o estudo de mercado, observou-se o quão
importante é ter o cliente satisfeito com o produto e saber da qualidade do mesmo.
Confiamos neste projeto porque, primeiramente, também somos clientes e podemos notar
quando algo possui qualidade. Sempre estaremos receptivos a novos produtos de
determinado comércio.

Por mais que a criação de apenas um novo software possa não ser algo visto como
novidades pelos clientes, sabemos que isso dará qualidade e agilidade aos olhos do
proprietário da pizzaria. Com isso, a demanda de pedidos pode aumentar e isso poderá
trazer bons frutos para ele e gratificação ao cliente em ser mais bem atendido e ter a

8
qualidade de ter seu produto entregue com muita confiança. (JOBS, 2005) “A única forma
de estar verdadeiramente satisfeito é fazer o que você acredita que seja um bom trabalho”.

1.6 Metodologia

Serão utilizados métodos de análise estruturada, sendo que, inicialmente houve


entrevistas a alguns estabelecimentos, para entendimento do funcionamento do mesmo.
Determinados focos no que se refere a expedição de pedidos. As técnicas de análise
estruturada, são algumas oriundas da UML, como casos de uso e de classes. Outros tipos de
diagramas como: fluxo de dados e fluxogramas. Além de levantamento de requisitos (tanto
os funcionais como os não funcionais). Todas estas técnicas, visam a correta documentação
do que é necessário, para que fosse completamente correta a implementação do módulo de
pedidos. E pôr fim a parte de desenvolvimento do mesmo ressaltando os resultados que se
deu a criação do aplicativo de realização de pedidos PizzaWay.

9
2. Referencial teórico

Neste capítulo será relatado sobre o funcionamento de uma pizzaria, relativamente


sobre a rotina das mesmas. Será relatado sobre as origens da pizza e das pizzarias, como se
deu o seu surgimento e o porquê de possuir este nome. Referente às pizzarias, serão
mostradas também como se deu a origem das mesmas, além de algumas curiosidades. E
referente as linguagens de programação que foram consideradas e a escolhida para a
implementação deste projeto.

2.1. Conhecendo o ramo de pizzaria

Uma pesquisa de mercado tem como objetivo prover uma base para ajudar na
tomada de decisões de um empreendedor, que anseia abrir seu negócio. Isto significa que a
pesquisa deve ser aplicada somente quando os seus resultados contribuírem para diminuir a
incerteza e/ou influenciar decisões.

Neste projeto o empreendimento já existe, o que facilita essa pesquisa. No caso,


necessita-se que a mesma ajude o cliente a encontrar maneiras de elevar a venda de seus
produtos, e saber a qualidade do produto que ele vende, pensando de acordo com os
“olhos” do cliente no estabelecimento. Houve estudos com uma série de pizzarias, visando
saber o quanto elas necessitam de mudanças no que se refere ao negócio em si, o que elas
precisam mudar para contornar as críticas dos atuais clientes e/ou aqueles que já
frequentaram o estabelecimento.

Baseando-se nos estudos dos estabelecimentos, percebeu-se que certos comércios,


um ao lado do outro, podem de fato causar algum tipo de desconforto por conta da conduta
do concorrente, no que diz respeito à intenção de prejudicar o estabelecimento, com trotes
telefônicos, fingindo ser cliente do estabelecimento, a fim de depreciar o

10
atendimento/qualidade dos produtos. Porém, nem todos tem essa atitude, sendo que muitos
se unem em prol da categoria.

Todas as pizzarias possuem um frigorifico e um estoque para estocar os produtos


comprados para o preparo das pizzas. Esta preparação precisa ser vista pelo público porque
com isso mostra a qualidade do serviço, e não abre dúvidas sobre questões sobre
determinada falta de higiene. Geralmente, os principais funcionários da pizzaria ganham
em torno de R$1000,00 até R$1500,00. Uma pizzaria de pequeno porte possui em média
cinco funcionários, na medida em que modificações forem feitas, sempre é bom estar
contratando ou valorizando aqueles que já trabalham na pizzaria. Aos olhos da clientela,
eles desejam um serviço de qualidade, em que se saiba o que vai gastar e que irá sair
satisfeito com o produto.

Geralmente, começar no ramo de pizzaria se gasta em torno de R$150.000,00 se


todos os equipamentos forem de alta qualidade. Infelizmente, hoje em dia, não compensa
abrir uma pizzaria porque a falta de informações no ramo fez muitos dos estabelecimentos
nos últimos anos a desistirem do negócio. Isso se dá pelo simples fato de ter alguma renda
extra e quererem adentrar no ramo achando que um estabelecimento vai dar lucros de
imediato. Antes de qualquer coisa, as pessoas precisam realizar esse estudo de mercado,
peça fundamental em qualquer ramo comercial, porque se não será um desperdício de
dinheiro, além de ser tempo perdido.

2.2. Sobre Pizza e Pizzarias

Neste tópico será abordado a origem das pizzas e pizzarias, como surgiu o termo
“pizza”, além de curiosidades diversas sobre a mesma.

11
2.2.1. Como surgiu a pizza e de onde ela vem

Segundo a autora Carol Helstosky, em seu livro “Pizza: A Global History


(HELSTOSKY, 2008, p. 20) a pizza teve sua origem no século 18 na cidade de Napoli, mas
que ela só foi descoberta no resto do mundo depois da Segunda Guerra Mundial, em que os
americanos experimentaram a sua receita durante a guerra e levaram ao seu território, onde
é considerado o segundo país a saber da existência da pizza. Os italianos proclamam que
foram os inventores da pizza, utilizando uma combinação misturando água, farinha
constituída por grãos de cereais moídos, e em seguida, assar essa massa sobre uma pedra,
resultando em um alimento a qual seria capaz de saciar a fome e proporcionar ao homem
bastante energia

A difusão da pizza ocorreu na Itália, onde ela foi acrescida com outros ingredientes,
como o tomate, em que sua base na Itália a autora Carol Helstosky (HELSTOSKY, 2008, p.
22) reitera que na antiga Roma, onde era somente uma fruta simples pouca usada em seus
alimentos, alguns vendedores experimentaram colocar queijo em cima da massa e do molho
feito da base de tomate. Com isso, surgiu a tradicional pizza de mussarela, bastante
conhecida ao redor do mundo. Grande parte do sucesso da pizza hoje se deve aos povos
mais necessitados da Itália no século 18, onde era uma receita simples e que muitas famílias
necessitadas comiam para se alimentar de algo durante os dias. Em suma, podemos dizer
que a pizza ganhou destaque na Itália. Entretanto, ideias de povos distintos contribuíram
para o surgimento desse alimento tão conhecido e apreciado hoje em dia.

2.2.2. O porquê do significado do nome ‘pizza’

Ainda segundo a autora (HELSTOSKY, 2008, p. 20), o termo pizza vem de um


termo similar de “torta”. Em italiano, “picea”, pela primeira vez esse termo foi ouvido na

12
capital, Roma. Outra palavra que influenciou a escrita e o jeito como se pronuncia foi a
palavra “pitta”, palavra já existente desde o século 16 na Itália. Com isso, hoje possuímos a
palavra pizza e sabemos como nós a pronunciamos.

Há ainda outras definições para esse termo. Alguns afirmam que vem do grego
“pita” (pão achatado). Outros dizem que veio da antiga palavra alemã “bizzopizzo”, que no
alemão de hoje seria “bissen”, de onde é derivado um dos verbos em inglês “to bite”
(morder).

Já na cidade de Gaeta, a palavra “pizzo” referia-se ao pão pita. Enfim, são muitas as
definições, o que não se sabe ao certo qual delas está correta. O que sabemos é que hoje a
chamamos de pizza napolitana.

2.2.3. Como surgiram as pizzarias

Ainda de acordo com a autora (HELSTOSKY, 2008, p. 22), as primeiras “pizzarias”


de fato eram ambulantes que vendiam seu produto aos trabalhadores no século 18, junto
com outros alimentos, como a fogazza, por exemplo. Vários estabelecimentos que já
existiam na Itália antiga se adaptaram para tornar a pizza mais famosa e entrar no paladar
dos povos que possuíam uma condição financeira melhor. Mas segundo pesquisadores, a
primeira pizzaria surgiu na Itália no ano de 1780, criada por Pietro Colicchio em Salita S.
Anna di Palazzo, próximo do palácio de Nápoles. Esta pizzaria era mais conhecida como
“Pietro e Basta Cosi”. Ela surgiu basicamente em virtude de a pizza ser muito apreciada
pelos napolitanos e, inclusive, por povos com baixo poder aquisitivo. Anos depois, a
pizzaria passou a se chamar de Enrico Brandi.

2.2.4. Curiosidades sobre pizza/pizzarias

13
A publicação da autora (HELSTOSKY, 2008, p. 91 e 92) exibe vários tipos de
curiosidades envolvendo a pizza, não necessariamente ao seu processo de criação, mas
alguns fatos curiosos sobre como ela se encaixa perfeitamente em determinadas situações.
Por exemplo, o fundador do vídeo game Atari, Nolan K. Bushnell, oferecia pizza aos seus
desenvolvedores e seus clientes para recepcioná-los caso ele estivesse em reunião.

Em 1954 foi aberta a primeira rede da famosa pizzaria que hoje tem milhares de
franquias no mundo inteiro, a “Pizza Hut”, fundada pelos irmãos Kansas, Dan e Frank
Caney.

Pizza também faz parte da infância de muita gente, não só por ser extremamente
saborosa, mas por poder ser apreciada com a leitura e outras formas de entretenimento,
como jogos e filmes. “As tartarugas ninjas”, nas histórias em quadrinhos, suas aventuras se
passam em Nova York, onde é a cidade em que mais se aprecia pizza ao redor do mundo.

Pizza tem costumes diferentes ao redor do mundo. A pizza mexicana, por exemplo;
em algumas localidades do país é feita em cima da famosa “tortilha”. Na Turquia e na
Armênia, ela tem um nome totalmente diferente: “lahmacun”, e no Japão ela é denominada
como um tipo de panqueca chamada “Okonomiyaki”.

2.3. Definição da linguagem de programação

Em 2005, a Google desejava lançar serviços de localização para usuários das suas
tecnologias, entretanto em virtude de não ter plataforma para isso adquiriu em julho do
mesmo ano uma empresa da Califórnia a Android Inc que já possuía o sistema operacional
também chamado Android, porém em fase de desenvolvimento.

Em 2007 a Google articulou uma aliança comercial (CITAÇÃO)“a Open Handset


Alliance - um consórcio composto inicialmente de 34 empresas e agora contando com 81
“. O objetivo da união dessas grandes empresas era utilizar essa plataforma em dispositivos
móveis para melhorar a experiência com os usuários e reduzir custos impulsionando a
inovação da tecnologia.

14
No ano seguinte a mesma plataforma transformou-se na Open-Source, ou seja,
qualquer pessoa conhecedora da linguagem poderá programar em tal plataforma. (Android
para programadores p.04)

O Android é um sistema operacional para dispositivos móveis baseado em um outro


S.O o Linux composto por diversas funções, como GPS, musicas, jogos, acesso à internet,
dentre outras. (P.22 e 23)

Uma das grandes vantagens do Android é possuir plataforma livre e código aberto,
possibilitando que cada fabricante realize suas próprias alterações no código-fonte para
personalizar os seus produtos e ainda sem a necessidade de compartilhar tais informações.
Além disso, a plataforma Android é totalmente gratuita, o que torna um sistema
amplamente acessível a diversas classes sociais. (p. 24)

A vantagem de possuir código aberto contribui ainda para que tal plataforma seja
aperfeiçoada, pois vários desenvolvedores podem inserir novas funcionalidades e até
mesmo corrigir falhas. É de conhecimento geral que o Android se tornou uma das
plataformas mais usadas no mundo, e que suas funcionalidades são aperfeiçoadas
constantemente.

3. Desenvolvimento

Capitulo onde será mostrado como foi a criação do aplicativo de pedidos PizzaWay.

15
3.1. Analise

A partir de agora será feita passo a passo a descrição e a criação do aplicativo com
as criações de diversos diagramas e fluxogramas para melhor o cliente possa melhor
entendê-lo o aplicativo em si, também conterá o banco de dados que foi criado para a
aplicação junto com as tabelas criadas, o web service criado para fazer a conexão entre
cliente e o estabelecimento, e por fim o código do programa em linguagem Android.

3.1.1. Sintaxe de entrevistas

Uma pesquisa de mercado tem como objetivo prover uma base para ajudar na
tomada de decisões de um empreendedor, que anseia abrir seu negócio. Isto significa que a
pesquisa deve ser aplicada somente quando os seus resultados contribuírem para diminuir a
incerteza e/ou influenciar decisões. Com isso fizemos algumas entrevistas com vários
estabelecimentos do ramo e consultamos os criadores do site “fórum de pizzas” em prol de
sanar algumas dúvidas sobre pizzarias e saber a necessidade tecnologia que esses
estabelecimentos necessitam.

Neste projeto o tipo de empreendedorismo já existe, o que facilita essa pesquisa. No


caso, necessita-se que a mesma ajude o cliente a encontrar maneiras de elevar a venda de
seus produtos, e saber a qualidade do produto que ele vende, pensando de acordo com os
“olhos” do cliente no estabelecimento. Houve estudos com uma série de pizzarias, visando
saber o quanto elas necessitam de mudanças no que se refere ao negócio em si, o que elas
precisam mudar para contornar as críticas dos atuais clientes e/ou aqueles que já
frequentaram o estabelecimento.

Baseando-se nos estudos dos estabelecimentos, percebeu-se que certos comércios,


um ao lado do outro, podem de fato causar algum tipo de desconforto por conta da conduta
do concorrente, no que diz respeito à intenção de prejudicar o estabelecimento, com trotes
telefônicos, fingindo ser cliente do estabelecimento, a fim de depreciar o
atendimento/qualidade dos produtos. Porém, nem todos tem essa atitude, sendo que muitos
se unem em prol da categoria.

Todas as pizzarias possuem um frigorifico e um estoque para estocar os produtos


comprados para o preparo das pizzas. Esta preparação precisa ser vista pelo público porque
com isso mostra a qualidade do serviço, e não abre dúvidas sobre questões sobre

16
determinada falta de higiene. Geralmente, os principais funcionários da pizzaria ganham
em torno de R$1000,00 até R$1500,00. Uma pizzaria de pequeno porte possui em média
cinco funcionários, na medida em que modificações forem feitas, sempre é bom estar
contratando ou valorizando aqueles que já trabalham na pizzaria. Aos olhos da clientela,
eles desejam um serviço de qualidade, em que se saiba o que vai gastar e que irá sair
satisfeito com o produto.

Geralmente, começar no ramo de pizzaria se gasta em torno de R$150.000,00 se


todos os equipamentos forem de alta qualidade. Infelizmente, hoje em dia, não compensa
abrir uma pizzaria porque a falta de informações no ramo fez muitos dos estabelecimentos
nos últimos anos a desistirem do negócio. Isso se dá pelo simples fato de ter alguma renda
extra e quererem adentrar no ramo achando que um estabelecimento vai dar lucros de
imediato. Antes de qualquer coisa, as pessoas precisam realizar esse estudo de mercado,
peça fundamental em qualquer ramo comercial, porque se não será um desperdício de
dinheiro, além de ser tempo perdido.

3.1.2. Necessidade do cliente

Através de uma pesquisa de negócio pode-se verificar a grande necessidade de


criação de um aplicativo voltado para cadastro de pedidos, visto que a pizzaria se encontra
com diversos problemas, os principais é o excesso de funções e a demora no atendimento,
visto que a mesma utiliza papel para realização do cadastro, o que acarreta uma série de
imperfeições, uma das mais comuns é a falta de controle de qual cliente fez o pedido
primeiro. Entende-se que a criação desse sistema pode gerar soluções eficazes para
problemas encontrados nesse ramo de negócio.

Por meio desse estudo foi notado que a pizzaria não possuía se quer um sistema.
Assim, para sanar tais problemas, houve a necessidade da criação de um software capaz de
elaborar o cadastro de pedidos com eficiência, onde o cliente terá total controle do seu
pedido.

Compreende-se então que o projeto apresenta alta possibilidade de um bom


funcionamento. Uma das maiores vantagens do projeto é que o gasto feito para a
implementação será rapidamente revertido, incluindo a geração de grandes lucros, pois um

17
sistema como este irá trazer uma gama de benefícios essenciais para o funcionamento e
crescimento econômico da pizzaria.

3.1.3 Levantamento de requisitos

Nesse capitulo foi realizado o levantamento de requisitos do nosso aplicativo


levantamos dados que interessa particularmente o cliente e aqueles que nós analistas
pensamos que será de grande ajuda ao aplicativo.

3.1.3.1 Requisitos funcionais

Requisitos funcionais têm como características declarar as funções de como um


sistema deverá reagir com suas especificações completa e consistente com as entradas de
informações, na sua maneira de se comportar entre o sistema e seu ambiente. Com base no
estudo acima, realizamos o levantamento de requisitos funcionais do sistema.

Tabela 1 - Lista de requisitos funcionais

Nome Efetuar cadastro para acesso as funcionalidades RF

O cliente precisa possuir um único cadastro válido e autenticado para


Descrição
acesso as funcionalidades.

Nome Confirmar pedido RF

18
É necessária a confirmação do cliente que os dados do pedido são
Descrição corretos

Nome Verificar status RF

Antes de se fazer um pedido, é necessário verificar se a pizzaria


Descrição
encontra se em funcionamento.

Nome Acompanhar pedido RF

O sistema deve possibilitar que o cliente possa verificar o status de do


Descrição
seu pedido.

Nome Efetuar cadastro RF

O sistema tem de solicitar ao cliente que efetue o devido cadastro


Descrição com nome telefone e no mínimo dois endereços.

3.1.3.2 Requisitos não funcionais

Refere-se à política e procedimentos entre cliente e desenvolvedor a fatores externos


do sistema e seu processo de criação e no comportamento do produto. Com base nos
estudos acima, realizamos o processo de requisitos não funcionais de nosso futuro sistema.

19
Tabela 2 - Lista de requisitos Não funcionais

Nome Armazenar dados de cadastro RNF

O estabelecimento tem de armazenar os dados do cadastro dos clientes


Descrição

Nome O cadastro deve utilizar senhas RNF

Os pedidos só devem ser efetuados utilizando senha fornecida pelo


Descrição usuário.

Fonte: Acervo próprio (2016).

3.2. Desenhos do sistema

Abaixo será mostrado como irá funcionar o sistema por meio de desenhos como
Fluxogramas, Casos de uso e Diagrama de classe.

3.2.1. Fluxogramas

20
Fluxograma tem como base uma representação de um processo que utiliza símbolos
gráficos para descrever passo a passo a natureza e o fluxo deste processo. A seguir iremos
mostrar como nosso sistema funcionará com base nos nossos fluxogramas criados.

 Fluxograma de Pedido

 Fluxograma de cadastrar item

21
 Fluxograma de cadastrar endereço

22
3.2.2. Casos de uso

23
O Diagrama de Casos de Uso tem o objetivo de auxiliar a comunicação entre os
analistas e o cliente. Será mostrado casos de uso do aplicativo PizzaWay mostrando as
interações entre os atores cliente e o sistema da aplicação.

 Caso de uso: Pedido

 Casos de uso: Cadastro cliente

24
 Casos de uso: Endereço

 Casos de uso: APP ADMIN

25
 Caso de uso: Sistema Completo

26
27
3.2.3. Diagrama de Classe

Um diagrama de classe UML descreve o objeto e informações de estruturas usadas


pelo seu aplicativo, internamente e comunicação com seus usuários. Ele descreve as
informações sem referência a qualquer implementação específica. Suas classes e relações
podem ser implementadas de várias maneiras, como tabelas de banco de dados, nós XML
ou composições de objetos de software. Nosso projeto terá dois digramas um focado para o
aplicativo disponível ao público (Delivery) e o outro referente ao uso da pizzaria no dia a
dia (ADMIN).

 Diagrama de classe: Delivery

28
 Diagrama de classe: ADMIN

29
3.3. Banco de dados

Aqui falaremos como foi criado e como irá funcionar o banco de dados do
aplicativo

3.3.1. Modelo logico de dados

O conceito de modelo relacional vem da teoria de conjuntos (álgebra relacional)


atrelado a ideia de que não é relevante ao usuário saber onde os dados estão ou como eles
se encontram, representado por uma coleção de tabelas (entidade/relação) é um conjunto de
linhas (tuplas) uma lista de valores de atributos.

Abaixo será mostrado o modelo relacional de nosso banco de dados mostrando sua
funcionalidade desde a chamada do cliente a finalização de seu processo.

Todos os atributos em azul são as chaves primarias de cada entidade as brancas se


refere aos outros dados da tabela, entretanto não serão todas as entidades que irão estar no
banco de dados como tabela.

30
3.3.2. Tabelas do banco de dados

Abaixo será mostrado as tabelas utilizadas no banco de dados do aplicativo.

 Tabela Cardápio

Dados referentes aos dados referentes ao cardápio

CREATE TABLE tbl_cardapio(

id INT PRIMARY KEY AUTO_INCREMENT,

categoria VARCHAR(16),

produto VARCHAR(24),

descricao VARCHAR(128),

preoc_unit DOUBLE)

INSERT INTO tbl_cardapio VALUES (0, '', '', '', 0.00)

UPDATE tbl_cardapio SET categoria = '', produto = '', descricao = '', preco_unit = 0.00
WHERE id = 0

SELECT * FROM tbl_cardapio WHERE produto = ''

DELETE FROM tbl_cardapio WHERE id = 0

31
SELECT * FROM tbl_cardapio

SELECT * FROM tbl_cardapio WHERE categoria=''

SELECT * FROM tbl_cardapio WHERE categoria='' AND produto LIKE %''%

 Tabela itens

Tabela referente aos dados de itens do cardápio

create table tbl_Itens(

idPedido INT (5),

descricao VARCHAR (100) ,

precoUnit Double,

quantiItens int (5)

);

INSERT INTO tbl_itens VALUES (0, '', '', '', 0.00)

DELETE FROM tbl_itens WHERE id = 0

 Tabela Pedido

Tabela referente aos dados dos pedidos

create table tbl_Pedido(

idPedido INT (5),

32
enderecoCliente VARCHAR (160) ,

numeroEndereco int(7) ,

itensPedido Varchar (100) ,

quantiItens int (5) ,

valTotal double,

observacoes VARCHAR(30),

nomeClient VARCHAR (100)

);

INSERT INTO tbl_itens VALUES (0, '', '', '', 0.00)

UPDATE tbl_itens SET itens = '', produto = '', descricao = '', preco_unit = 0.00 WHERE
id = 0

DELETE FROM tbl_itens WHERE id = 0

33
3.4. Modelagem de arquitetura do Sistema

Nesse capitulo iremos falar como se deu a modelagem do sistema envolvendo o


aplicativo PizzaWay começando pela interface e por fim mostrando trechos do código do
aplicativo.

3.4.1. Projeto de interface do Sistema

A interface do sistema consiste em dar facilidade ao usuário de ambos aplicativos


tanto o do cliente quanto a aplicação do funcionário que irá realizar o manuseio do cardápio
via aplicativo, com suas cores básicas como a cor de fundo branca com as textos referentes
a cada composição de campo da aplicação com a cor preta e a parte superior da tela coma
cor preta com o logo com cores amarela e com detalhes pretos, já no aplicativo de delivery
ficará basicamente o mesmo apenas mudando o detalhe da parte superior onde o logo será
preto e com os detalhes amarelos.

Ambos aplicativos terão botões básicos e as entradas de dados do usuário também simples e
sem case sensitiva.

Iremos abordar como ficaram determinadas telas dos nosso aplicativos a princípio
iremos mostrar apenas as telas do aplicativo de cardápio criado para uso exclusivo dos
funcionários do estabelecimento.

34
 Tela do aplicativo cardápio admin inserindo produto:

35
 Tela do aplicativo admin cardápio listando o cardápio:

36
 Tela do aplicativo admin cardápio tela principal:

37
3.4.2 Conexão com banco de dados

Nessa parte mostraremos a parte do codigo a qual se refere a conexão da aplicação


PizzaWay com o banco de dados.

public class CardapioDAO {

public boolean inserirProduto (Cardapio produto){

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

String queryInserir = "INSERT INTO tbl_cardapio VALUES (null, ?, ?, ?, ?)";

PreparedStatement ppStm = conn.prepareStatement(queryInserir);

ppStm.setString(1, produto.getCategoria());

ppStm.setString(2, produto.getProduto());

ppStm.setString(3, produto.getDescricao());

ppStm.setDouble(4, produto.getPreco_unit());

ppStm.executeUpdate();

conn.close();

} catch(SQLException e){

System.out.println("inserirProduto - Banco não conectado");

return false;

return true;

38
public boolean atualizarProduto(Cardapio produto){

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

String queryAtualizar = "UPDATE tbl_cardapio SET categoria = ?, produto = ?,


descricao = ?, preco_unit = ? WHERE id = ?";

PreparedStatement ppStm=conn.prepareStatement(queryAtualizar);

ppStm.setString(1, produto.getCategoria());

ppStm.setString(2, produto.getProduto());

ppStm.setString(3, produto.getDescricao());

ppStm.setDouble(4, produto.getPreco_unit());

ppStm.setInt(5, produto.get_id());

ppStm.executeUpdate();

conn.close();

} catch(SQLException e){

System.out.println("atualizarProduto - Banco não conectado");

return false;

return true;

public Cardapio buscaEspecifico(String v_prod){

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

String queryBuscaEspecifico = "SELECT * FROM tbl_cardapio WHERE produto = ?";

PreparedStatement ppStm=conn.prepareStatement(queryBuscaEspecifico);

ppStm.setString(1, v_prod);

39
Cardapio produto=null;

ResultSet rSet = ppStm.executeQuery();

if(rSet.next()){

Cardapio prod = new Cardapio();

prod.set_id(rSet.getInt(1));

prod.setCategoria(rSet.getString(2));

prod.setProduto(rSet.getString(3));

prod.setDescricao(rSet.getString(4));

prod.setPreco_unit(rSet.getFloat(5));

produto=prod;

conn.close();

return produto;

}catch(SQLException e){

System.out.println("buscaEspecifico - Banco não conectado");

return null;

public boolean excluirProdutoObj(Cardapio produto){

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

String queryAtualizar = "DELETE FROM tbl_cardapio WHERE id = ?";

PreparedStatement ppStm=conn.prepareStatement(queryAtualizar);

ppStm.setInt(1, produto.get_id());

ppStm.executeUpdate();

conn.close();

40
} catch(SQLException e){

System.out.println("excluirProdutoObj - Banco não conectado");

return false;

return true;

public boolean excluirProduto(int id){

return excluirProdutoObj(new Cardapio(id, "", "", "", 0));

public ArrayList<Cardapio> listarProdutos(){

ArrayList<Cardapio> listaCardapio = new ArrayList<Cardapio>();

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

String queryListar = "SELECT * FROM tbl_cardapio";

PreparedStatement ppStm = conn.prepareStatement(queryListar);

ResultSet rSet = ppStm.executeQuery();

while(rSet.next()){

Cardapio prod = new Cardapio();

prod.set_id(rSet.getInt(1));

prod.setCategoria(rSet.getString(2));

prod.setProduto(rSet.getString(3));

prod.setDescricao(rSet.getString(4));

prod.setPreco_unit(rSet.getFloat(5));

listaCardapio.add(prod);

conn.close();

41
}catch(Exception e){

System.out.println("listarProodutos - Banco não conectado");

return listaCardapio;

public ArrayList<Cardapio> listarProdutosComFiltros(String cat, String palavra_chave){

ArrayList<Cardapio> listaCardapioFiltrada = new ArrayList<Cardapio>();

String queryListarFiltros="";

if(palavra_chave.equals("")){

queryListarFiltros = "SELECT * FROM tbl_cardapio WHERE categoria=?";

else{

queryListarFiltros = "SELECT * FROM tbl_cardapio WHERE categoria=? AND


produto LIKE ?";

try{

Connection conn = ConectaBdPizzaWay.obtemConexao();

PreparedStatement ppStm = conn.prepareStatement(queryListarFiltros);

ppStm.setString(1, cat);

if(queryListarFiltros.equals("SELECT * FROM tbl_cardapio WHERE categoria=? AND


produto LIKE ?")){

//Se palavra chave estiver vazia esse campo nao será utilizado

ppStm.setString(2, "%"+palavra_chave+"%");

ResultSet rSet = ppStm.executeQuery();

while(rSet.next()){

42
Cardapio prod = new Cardapio();

prod.set_id(rSet.getInt(1));

prod.setCategoria(rSet.getString(2));

prod.setProduto(rSet.getString(3));

prod.setDescricao(rSet.getString(4));

prod.setPreco_unit(rSet.getFloat(5));

listaCardapioFiltrada.add(prod);

conn.close();

}catch(Exception e){

System.out.println("listarProodutosFiltros - Erro na query");

return listaCardapioFiltrada;

A conexão do banco com a aplicativo passará por um web service local dentro da
rede da pizzaria com isso os dados recebidos dos pedidos efetuados passará dentro da
aplicação web service e armazenado no banco de dados e pós o pedido do cliente sendo
entregue os dados do pedido irá ser apagado da base de dados do banco para melhor uso e
não conter excesso de dados desnecessários.

43
3.4.3 Desenvolvimento de interface

Nesse capitulo falaremos as funcionalidades do aplicativo como um passo a passo


para mostrar a como irá funcionar algumas telas do aplicativo de delivery PizzaWay.

 Logo PizzaWay:

Logo com as inicias PW que faz referencia ao nome da pizzaria.

44
 Tela de menu:

A tela de menu funcionaria com 3 botões um para adicionar os dados do cliente


como nome e numero de celular, o segundo botão funciona como cadastro de endereço para
entrega do pedido e o terceiro botão e para ver a lista de cardápio da pizzaria.

 Tela de cadastro de endereço:

45
Essa tela terá campos a serem preenchidos pelo cliente com detalhes da entrega do
produto ao seu local contendo os campos (Logradouro, numero, complemento, cep, bairro e
cidade) e dois botões uma para limpar os campos preenchidos caso tenha algum erro e o
outro de salvar os dados digitados.

46
3.4.4. Desenvolvimento do sistema

Nesse capitulo será mostrado algumas das principais telas do aplicativo em sua
codificação em linguagem Android entretanto como a aplicação tem inúmeras linhas de
código grande parte do código será colocado em CD e disponibilizado no encarte desse
documento.

 Classe principal Menu do aplicativo PizzaWay:

package br.com.bggimw.projetopiav_apppizzaway;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ImageButton;

public class ActivityMenuPizzaWay extends Activity {

ImageButton nomes;

ImageButton enderecos;

ImageButton pedidos;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

47
setContentView(R.layout.layout_menu_pizza_way);

nomes = (ImageButton) findViewById(R.id.ibtn_Nomes);

enderecos = (ImageButton) findViewById(R.id.ibtnEndereco);

pedidos = (ImageButton) findViewById(R.id.ibtnPedidos);

nomes.setOnClickListener(onClickListener);

enderecos.setOnClickListener(onClickListener);

pedidos.setOnClickListener(onClickListener);

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.menu_pizza_way, menu);

return true;

@Override

public boolean onOptionsItemSelected(MenuItem item) {

// Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

if (id == R.id.action_settings) {

return true;

return super.onOptionsItemSelected(item);

48
private OnClickListener onClickListener = new OnClickListener(){

@Override

public void onClick(View v){

switch(v.getId()){

case R.id.ibtn_Nomes:

//breve tela de cadastro

break;

case R.id.ibtnEndereco:

Intent it2 = new Intent(ActivityMenuPizzaWay.this,


AcitivityCadastroEndereco.class);

startActivity(it2);

break;

}//fecha switch

}//fecha onClick

};//fecha private OnClickListener

49
 Classe de inserção de produtos aplicativo PizzaWay:

package br.com.bggimw.projetopiav_apppizzaway;

public class ItemProduto {


private String nomeProduto;
private int quantidade;
private double valor;

public String getNomeProduto() {


return nomeProduto;
}
public void setNomeProduto(String nomeProduto) {
this.nomeProduto = nomeProduto;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}

public int getQuantidade() {


return quantidade;
}
public void setQuantidade(int qtd) {
this.quantidade = qtd;
}
}

50
 Classe de pedido do aplicativo PizzaWay

package br.com.bggimw.projetopiav_apppizzaway;

public class Pedido {


private String nomeCliente;
private String telefoneCliente;
private String enderecoCliente;
private Itens itensPedido;
private double valTotal;

public Pedido(String nomeCliente, String telefoneCliente, String enderecoCliente,


Itens itensPedido, double valTotal) {
this.nomeCliente = nomeCliente;
this.telefoneCliente = telefoneCliente;
this.enderecoCliente = enderecoCliente;
this.itensPedido = itensPedido;
this.valTotal = valTotal;
}

public String getNomeCliente() {


return nomeCliente;
}

public void setNomeCliente(String nomeCliente) {


this.nomeCliente = nomeCliente;
}

public String getTelefoneCliente() {


return telefoneCliente;
}

public void setTelefoneCliente(String telefoneCliente) {


this.telefoneCliente = telefoneCliente;
}

public String getEnderecoCliente() {


return enderecoCliente;
}

public void setEnderecoCliente(String enderecoCliente) {


this.enderecoCliente = enderecoCliente;
}

public Itens getItensPedido() {


return itensPedido;
}

public void setItensPedido(Itens itensPedido) {


this.itensPedido = itensPedido;
}

public double getValTotal() {


return valTotal;
}

public void setValTotal(double valTotal) {

51
this.valTotal = valTotal;
}
}

3.4.5 Documentação do Sistema

Nesse capitulo será destinado aos funcionários da pizzaria Way a documentação


para manuseio do aplicativo responsável de administrar o cardápio da pizzaria para
facilitar e conhecer a ferramenta que irá ser utilizada no dia a dia.

O sistema PizzaWay cardápio admin será de grande importância para o bom


funcionamento do aplicativo PizzaWay delivery, ele será implantado em um celular do
dono/responsável da pizzaria onde este irá realizar comunicação entre o aplicativo delivery
para efetuar todas as tarefas pertinentes a gerencia de cardápio tais como, adicionar, editar e
remover itens, além de controlar e encaminhar o status do pedido para o cliente.

No processo de envio de status do pedido, o sistema irá receber os pedidos


encaminhados pelo aplicativo PizzaWay delivery, avaliará se o endereço para entrega se
encontra na área de cobertura, se não ele encaminha um aviso para o cliente informado que
o mesmo foi recusado, caso contrário, ele sendo aceito passará pelo processo de produção e
por fim entrega do mesmo, assim o cliente ficará informado de como está o andamento do
seu pedido.

Na parte de gerencia, o admin realizará a administração de todo o cardápio, este


adicionará itens ao cardápio quando necessário excluirá aqueles que não forem mais
utilizados, além de edita-los quando for preciso.

Em resumo, compreende-se que o sistema PizzaWay cardápio admin será o


responsável por realizar qualquer tarefa que envolva a gerencia do cardápio criado e
controlado pela pizzaria.

52
4. Conclusão

Nesse capitulo iremos responder algumas perguntas feitas lá no inicio do trabalho


no capitulo de hipóteses, falar sobre as considerações finais e os trabalhos futuros.

4.1. Resposta das hipóteses

Saímos satisfeitos com o resultado apresentado ao final do projeto o tempo médio


entre cliente e estabelecimento ficou menor com o aplicativo funcionando e elogiado por
alguns clientes antigos pelo fato de não se utilizar o telefone fixo em casa para pedir sua
encomenda além do fato de perder tempo utilizando o mesmo para realizar um pedido onde
com o aplicativo a pessoa em alguns cliques e em qualquer lugar onde quer que o cliente
esteja possa estar realizar o seu pedido.

4.2 Considerações finais

Produto entregue e pronto para uso, aguardando feedback para atualizações futuras
do aplicativo.

4.3 Trabalhos Futuros

Portar o aplicativo para outras linguagens como Windows Phone e Iphone;. Há


planos de estender a aplicação para outros estabelecimentos.

53
5. Referencias bibliográficas

DEITEL, H. M. et al. C# - Como programar. 1ª. ed. São Paulo: Pearson Education,
2003.

DEITEL, P. J.; DEITEL, H. M. Java Como Programar. 8ª. ed. São Paulo: Pearson
Education, 2010.

HELSTOSKY, C. Pizza - A Global History. 1a. ed. Londres: Reaktion Books Ltd,
2008.

JOBS, S. Frases e Pensamentos. Pensador, 2005. Disponivel em:


<http://pensador.uol.com.br/frase/NTYzODMy/>. Acesso em: 21 ago. 2015.

54

Você também pode gostar