Você está na página 1de 55

INSTITUTO FEDERAL DO ESPÍRITO SANTO

CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE


SISTEMAS

VINICIUS DA COSTA JEVEAUX

SOPED - SOFTWARE DE GERENCIAMENTO DE PEDIDOS PARA LANCHONETE


KIMEL DE ALEGRE-ES

Alegre
2022
VINICIUS DA COSTA JEVEAUX

SOPED - SOFTWARE DE GERENCIAMENTO DE PEDIDOS PARA LANCHONETE


KIMEL DE ALEGRE-ES

Proposta de Trabalho de conclusão de curso


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

Orientador: Carlos Alexandre Siqueira da


Silva

Alegre
2022
Dados Internacionais de Catalogação-na-Publicação (CIP)
Biblioteca Monsenhor José Bellotti – IFES campus de Alegre

Jeveaux, Vinicius da Costa


J58s Soped – Software de gerenciamento de pedidos para lanchonete
Kimel de Alegre-ES / Vinicius da Costa Jeveaux – 2022.
44 f. : il.

Orientador: Prof. Carlos Alexandre Siqueira da Silva

Monografia (Graduação) – Instituto Federal de Educação, Ciência e


Tecnologia do Espírito Santo. Curso Superior de Tecnologia em Análise
e Desenvolvimento de Sistemas, 2022.

1. Software - Desenvolvimento. 2. Aplicações Web. 3. PHP


(Linguagem de programação de computador). 4 Laravel (Estrutura de
software). I. Silva, Carlos Alexandre Siqueira da. II. Título. III. Instituto
Federal do Espírito Santo.

CDD 23: 005.1

Elaborado por Felipe Fernandes Klajn – CRB6-ES 984


DECLARAÇÃO DO AUTOR

Declaro, para fins de pesquisa acadêmica, didática e técnico-científica, que este Trabalho de
Conclusão de Curso pode ser parcialmente utilizado, desde que se faça referência à fonte e ao
autor.

Alegre, 12 de Dezembro de 2022

Vinicius da Costa Jeveaux


AGRADECIMENTOS

Aos meus pais e minha irmã Daniela, pelo incentivo e apoio incondicional que
serviram de alicerce para as minhas realizações.
A minha filha Alana e minha noiva Camila, que acima de tudo são minhas melhores
amigas, sempre me incentivaram a seguir meus sonhos, dando apoio em todas as etapas desta
jornada, e sempre me compreendendo nos momentos mais difíceis e entendendo as renúncias
que precisei fazer durante este período.
A todos os professores e amigos que tive durante a graduação, agradeço por todos os
ensinamentos transmitidos e pelas grandes amizades que foram feitas.Em especial ao meu
orientador Carlos Alexandre e ao professor Cleziel, por nunca desistirem de mim, mesmo
quando até eu pensei em desistir, eles me trouxeram de volta, e por isso serei eternamente
grato.
Aos colegas de trabalho da JCOM Software, por todo apoio recebido nas fases finais
da confecção deste trabalho.
Por fim, agradeço a todos que de alguma forma contribuíram para meu crescimento
pessoal e profissional, muito obrigado!
RESUMO
Este trabalho propõe uma solução de atendimento para um estabelecimento do setor
gastronômico, permitindo uma maior agilidade e segurança nos processos que envolvem a
venda para o cliente. Para este trabalho propõe-se desenvolver uma aplicação web para
gerenciar os pedidos dos clientes, trazendo um melhor acompanhamento por parte da equipe e
evitando transtornos para os clientes. Foi desenvolvido um software em PHP, juntamente com
o framework Laravel e hospedado na nuvem, garantindo que as informações estarão
disponíveis em qualquer lugar e por qualquer dispositivo com conexão à internet.

Palavras-chave: Desenvolvimento. Website. Laravel. Pedidos.


ABSTRACT
This work proposes a service solution for an establishment in the gastronomic sector, allowing
greater agility and safety in the processes that involve the sale to the customer. For this work,
it is proposed to develop a web application to manage customer orders, bringing better
monitoring by the team and avoiding inconvenience to customers. A software was developed
in PHP, along with the Laravel framework and hosted in the cloud, ensuring that the
information will be available anywhere and on any device with an internet connection.

Keywords: Development. Laravel Website. Order.


LISTA DE ILUSTRAÇÕES

Figura 1 – Modelo MVC 10


Figura 2 – Microsoft Visual Studio Code 15
Figura 3 – Tela Principal do Sistema Consumer 18
Figura 4 – Tela de Produtos do Sistema Consumer 18
Figura 5 – Tela de mesas/comandas do Sistema Consumer 19
Figura 6 – Tela de Seleção de Mesa do Sistema Consumere 19
Figura 7 – Tela de Pedido do Sistema Consumer 20
Figura 8 –Tela de Listagem de Produtos disponíveis para inclusão ao pedido 20
Figura 9 – Tela de Adicionar Produto ao pedido do Sistema Consumer 21
Figura 10 – Exemplos de Impressão de conta e pedidos para cozicasosnha 21
Figura 11 – Tela de pagamentos do sistema Consumer 22
Figura 12 – Diagrama de casos de uso 23
Figura 13 – Diagrama de classes 24
Figura 14 – Diagrama de banco de dados 25
Figura 15 – Migrations no laravel 26
Figura 16 – Model de Pedido no laravel 27
Figura 17 – Tela de login 28
Figura 18 – Tela de Mesas 28
Figura 19 – Tela de mesas no formato mobile. 29
Figura 20 – Trecho código-fonte controller classe Mesa 29
Figura 21 – Tela de adicionar produtos ao pedido 30
Figura 22 – Tela de adicionar produtos ao pedido formato mobile. 30
Figura 23 – Trecho código-fonte controller classe Pedido 31
Figura 24 – Tela de gerenciamento de pedidos 32
Figura 25 – Tela de alterar status 32
Figura 26 – Tela de informar pagamento 33
Figura 27 – Modelo de Pedido impresso 33
Figura 28 – Mapa do site 34
LISTA DE TABELAS

Tabela 1 – Comparação entre aplicação proposta e aplicação Consumer 22


LISTA DE ABREVIATURAS, SIGLAS

ERP Enterprise Resource Planning


HTML Hypertext Markup Language
HTTP Hypertext Transfer Protocol
IDE Integrated Development Environment
MVC Modelo, Visão e Controle
ORM Object Relational Mapping Mapeador Relacional de Objetos
PHP Hypertext Preprocessor
PHP-FIG PHP Framework Interoperability Group
PSR PHP Standard Recommendation
PDV Sistema de frente de caixa(Ponto de venda)
SGBD Sistema de Gerenciamento de Banco de Dados
SQL Structured Query Language
TI Tecnologia da Informação
UML Unified Modeling Language
VSCode Microsoft Visual Studio Code
XAMPP Cross-Platform (X), Apache, MariaDB, PHP and Perl.
SUMÁRIO

1 INTRODUÇÃO.......................................................................................................................3
1.1 ORGANIZAÇÃO DO DOCUMENTO....................................................................4
1.1 OBJETIVOS.............................................................................................................5
1.2.1 Objetivo geral.........................................................................................................5
1.2.2 Objetivos Específicos ............................................................................................5
1.3 JUSTIFICATIVA.......................................................................................................6
1.4 METODOLOGIA.....................................................................................................8
2 REFERENCIAL TEÓRICO....................................................................................................9
2.1 PHP……...................................................................................................................9
2.2 HTML.......................................................................................................................9
2.3 MySQL......................................................................................................................9
2.4 MVC........................................................................................................................10
2.5 LARAVEL...............................................................................................................11
2.5.1 Laravel Authentication.........................................................................................11
2.5.2 Blade Engine........................................................................................................12
2.5.3 Eloquent...............................................................................................................12
2.6 XAMPP...................................................................................................................13
2.7 FIG..........................................................................................................................13
2.8 PSR.........................................................................................................................13
2.8.1 PSR-1.......................................................................................................13
2.8.2 PSR-12.....................................................................................................14
2.9 MICROSOFT VISUAL STUDIO CODE...............................................................14
2.10 ERP........................................................................................................................15
2.11 PDV.......................................................................................................................16
2.12 TRABALHOS CORRELATOS............................................................................17
2.12.1 Comparação entre a aplicação proposta e o aplicativo relacionado.......22
3 MODELAGEM DE SOFTWARE.........................................................................................23
3.1 DIAGRAMA DE CASOS DE USO.......................................................................23
3.2 DIAGRAMA DE CLASSES..................................................................................24
3.3 DIAGRAMA DE BANCO DE DADOS................................................................23
4 RESULTADOS......................................................................................................................26
5 CONSIDERAÇÕES FINAIS.................................................................................................35
5.1 TRABALHOS FUTUROS…………….…...…………………………………….36
6 REFERÊNCIAS…………...………………………………………………………………..37
7 APÊNDICE A - Descrição de casos de uso…………….…………………………………..40
3

1 INTRODUÇÃO

Estamos vivendo um período de inovação tecnológica e de informatização de


processos, a tecnologia está cada vez mais presente em nosso dia a dia. Com isso as empresas
que não se adequam às mudanças acabam ficando para trás, nas lanchonetes isto não é
diferente, automatizar os procedimentos é importante para trazer mais agilidade e
competitividade.

De acordo com Turban e Volonino(2013), a informação é o centro de todo o processo,


é fundamental saber usá-la de forma estratégica, pois o sucesso de um empreendimento está
diretamente ligado à capacidade da organização em administrar sua base de informação e
aproveitar as oportunidades de diferenciação que a tecnologia da informação oferece.

Corroborando com essa ideia Oliveira(2014) afirma que é preciso promover


automatização dos processos, para melhorar a qualidade dos processos e serviços prestados,
pois com isso conseguimos promover transparência, definir responsabilidades entre os atores,
padronizar a comunicação, organização e compreensão de cada atividade, monitorar as
tarefas, evitar retrabalho e diminuir a incidência de erros.

Como solução a informatização e automatização de processos surgiu nos anos 90 o


termo ERP – Enterprise Resource Planning ou, como são chamados no Brasil, os SIGE –
Sistemas Integrados de Gestão Empresarial. Esta solução visa dar às empresas mais controle e
gestão sobre suas divisões corporativas. A utilização deste é um grande passo em busca da
automatização de processos dentro de uma empresa, e que traz consigo vantagens e
desvantagens, mas possuem barreiras de entrada em microempresas devido ao alto custo de
implantação, relação custo/benefício e a morosidade do processo.

As micro empresas do Brasil alcançam a cada ano uma maior participação na


economia. No Brasil existem 6,4 milhões de estabelecimentos. Desse total, 99% são micro e
pequenas empresas (MPE). As MPEs respondem por 52% dos empregos com carteira
assinada no setor privado (16,1 milhões),(SEBRAE 2016).

Com base no que foi situado acima, podemos observar que a informatização é de
extrema importância nas empresas, e nas micro e pequenas empresas não é diferente. Muitas
delas não conhecem os benefícios que a tecnologia da informação pode trazer para o seu
negócio, principalmente nas empresas do ramo de serviços alimentícios, que em sua grande
4

maioria não possuem estrutura e nem capital para poder adquirir um sistema de
gerenciamento mais robusto.

Para estes pequenos comerciantes o mais importante geralmente é saber o quanto é


vendido e poder comparar este dados com outros períodos, oferecer um sistema que digitalize
suas comandas e realizar o fechamento da conta do pedido, com isto já é possível facilitar sua
rotina e embasar suas tomadas de decisão.

Este trabalho apresenta uma ferramenta que pode ser a porta de entrada para a
informatização destas microempresas, visto que possui fácil implantação, funciona de forma
autônoma e possui possibilidades de em uma futura necessidade, se integrar a um ERP e
funcionar de forma conjunta a ele.

A aplicação que foi desenvolvida tem por objetivo informatizar todos os


procedimentos que envolvem o atendimento de um cliente, desde a realização do seu pedido,
indo ao preparo e ao encerramento da conta.

1.1 ORGANIZAÇÃO DO DOCUMENTO

Este trabalho está dividido em 5 capítulos. O capítulo 1 traz o leitor para o cenário no
qual este trabalho está envolvido, abordando os conceitos básicos que serão explicados
posteriormente, a justificativa pela escolha do tema e os métodos que foram seguidos para se
concluir este projeto.

O capítulo 2 será responsável por trazer todo o referencial teórico que foi levantado
acerca do tema, dos processos e ferramentas que foram utilizadas no desenvolvimento.

No capítulo 3 foi apresentado o resultado da modelagem de software, apresentando o


diagrama de casos de uso, diagrama de classes e Modelo Entidade Relacionamento

O capítulo 4 apresenta os resultados alcançados, que é o software desenvolvido, traz


uma apresentação de trechos de código-fonte responsáveis pelo processamento e renderização
das principais telas e funcionalidades que compõem o sistema e uma breve descrição de cada
uma destas.

Por fim, o capítulo 5 faz uma reflexão dos resultados obtidos e se os objetivos e
requisitos foram atendidos e a sugestão de trabalhos futuros que podem ser realizados a fim
5

de enriquecer o trabalho desenvolvido.

1.2 OBJETIVOS
A seguir serão apresentados os objetivos do trabalho.

1.2.1 Objetivo Geral

O objetivo geral deste trabalho é desenvolver uma aplicação web utilizando a


linguagem de programação PHP e o framework Laravel, com a finalidade de gerenciar os
pedidos realizados para a lanchonete Kimel situada na cidade de Alegre-ES.

1.2.2 Objetivos Específicos

A aplicação web desenvolvida terá toda a sua arquitetura detalhada, contado com um
back-end e front-end, a seguir temos as demandas do projeto:

● Realizar o levantamento e análise de requisitos para a criação de um sistema de


gerenciamento de pedidos para uma lanchonete;

● Desenvolver uma ferramenta para informatizar a realização de pedidos, automatizar o


fechamento de conta e realizar gerenciamento de pedidos;

● Fazer a modelagem do sistema e do banco de dados;

● Criar as páginas web que sejam responsivas e multiplataforma, onde seja possível
utilizar de um Smartphone até um desktop.
6

1.3 JUSTIFICATIVA

As empresas vêm buscando várias formas de se tornarem competitivas e conquistar


um espaço maior no mercado, maximizando seus lucros. Segundo Stair(2015), a informação é
de grande importância para tomadores de decisão, e isso não é exclusividade de grandes
empresas, independentemente do tamanho, a informatização é importante, dentre seus
benefícios podemos listar como a automatização de tarefas essenciais, redução do tempo e dos
custos, melhoria do processo produtivo, maior produtividade; auxilia na tomada de decisões;
disponibiliza a informação em tempo oportuno; aprimora o controle interno (GONZALEZ
JUNIOR; REIS; SANTOS, 2016).

Não obstante, as empresas têm percebido as vantagens de trocar procedimentos


burocráticos pela tecnologia. Entretanto, os pequenos empresários ainda resistem em dar a
devida atenção ao potencial que o uso da TI pode proporcionar às suas empresas. Em razão de
a TI contribuir para a redução da mortalidade precoce das pequenas empresas, a
informatização não deve ser vista como um custo pelo empresário, mas como um
investimento que traz muitos benefícios para a empresa (FELL; DORNELAS, 2013).

A introdução da Tecnologia da Informação (TI) nas Micros e Pequenas Empresas


(MPE’s), perpassa por algumas razões, tais como: manter ou aumentar a capacidade de
inovação, aumentar a sobrevivência das empresas ou obter crescimento, e pela pressão
imposta pelo ambiente. Acrescenta-se a isto o fato de que em pequenas empresas a taxa de
adoção de tecnologias é tradicionalmente baixa e a taxa de insucesso alta (EIRIZ;
BARBOSA; FERREIRA, 2016).

As micro empresas do Brasil alcançam a cada ano uma maior participação na


economia. No Brasil existem 6,4 milhões de estabelecimentos. Desse total, 99% são micro e
pequenas empresas (MPE). As MPEs respondem por 52% dos empregos com carteira
assinada no setor privado (16,1 milhões),(SEBRAE 2016).

O mercado de alimentos e bebidas representa 10,1% do PIB nacional. A Abrasel


estima que a alimentação fora do lar, também conhecida como food service, seja 2,7% desse
montante. Com isso, o mercado de restaurantes movimenta mais de 30% do perfil dos
comércios no Brasil, segundo a pesquisa do Panorama das Micro e Pequenas Empresas no
Brasil de 2018. No Brasil, estima-se que existam em torno de 1 milhão de negócios, ao
considerar bares, restaurantes, lanchonetes, etc. Desses, 650 mil ainda são informais e cerca
7

de 93,4% são micro e pequenos negócios.

O IFB (Instituto Foodservice Brasil) demonstrou que no ano de 2021, 37% da


população brasileira fez suas refeições fora de casa ou comprou alimentos prontos para levar.
Esse setor movimentou em torno de R$ 170 bilhões e atendeu cerca de 80 milhões de
consumidores a cada mês, tendo alta de 12% em relação a 2020.

Nos últimos anos as refeições fora de casa cresceram 140% no Brasil. O setor de
alimentação fora de casa, isto é, bares e restaurantes gera cerca de 450 mil novos empregos
por ano segundo a Associação Brasileira de Bares e Restaurantes (Abrasel), sendo o maior
empregador dentro da indústria brasileira. São 6 milhões de empregos. (BUYCO 2020)

O autor deste trabalho de conclusão de curso, trabalha a mais de 10 anos em uma


lanchonete familiar, com isso se tem conhecimento dos pontos críticos que precisam de maior
atenção, de forma a tornar o procedimento mais ágil sem complicá-lo a ponto de se tornar
algo complexo e difícil de se realizar.

Hoje basicamente uma lanchonete funciona da seguinte forma: O cliente chega, o


garçom toma o pedido a papel e caneta, vai andando até a cozinha, o pendura numa parede
com os pedidos em ordem e depois de pronto ele retira o pedido na cozinha, leva até o cliente
e depois devolve a comanda ao caixa.

Durante o processo de pedido alguns erros são comuns ocorrerem, como: engano no
pedido gerado por problemas de caligrafia; ordenação incorreta de pedidos gerando
transtornos com os clientes, pedidos sendo realizados e não indo para a cozinha para serem
produzidos e isso sendo percebido muito tempo depois, pedidos perdidos e erros de cálculo no
fechamento de conta.

Analisando este cenário, o projeto apresenta um sistema que automatiza os pedidos de


lanchonetes e restaurantes para maior praticidade e qualidade do serviço.
8

1.4 METODOLOGIA

Para o desenvolvimento deste projeto será utilizado um computador com acesso à


internet, com os seguintes softwares e serviços instados: Visual Studio Code, Composer,
Pacote Office, MySQL, MySQL workbench, Astah Community e XAMPP. Para implantar o
software será necessário hospedar a aplicação em um servidor web, e se utilizará de
Smartphones para acessar a interface de pedidos e 1 computador com impressora térmica e
acesso à internet para acessar a interface de execução e gerenciamento de pedidos.

O trabalho começou através de pesquisas na internet e em livros acerca do problema a


ser solucionado e das alternativas já implementadas para se ter uma melhor referência sobre o
cenário envolvido neste trabalho. Para o desenvolvimento da aplicação foi escolhido a
linguagem de programação web PHP, juntamente com o framework Laravel e para
persistência de dados o MySQL e a IDE escolhida foi o Visual Studio Code,

Para realizar a automatização destes processos, foi desenvolvido uma aplicação web
em PHP para gerenciar os pedidos, cuidando das etapas desde realizar o pedido, execução
pela cozinha, até o pagamento do pedido pelo cliente.

Após o levantamento bibliográfico, foi realizado um levantamento de requisitos, que


descreve tudo que o sistema deverá fazer e quais aspectos de qualidade deverá atender;
seguido pela especificação de casos de uso e modelagem de banco de dados.

O processo de elaboração do pedido com o sistema implantado, deve ser realizado a


seguinte forma: o pedido é feito ao garçom que digita o pedido diretamente no seu
smartphone, que depois de realizado aparecerá em um monitor de pedidos na cozinha,
evitando que o garçom tenha que ir colocar o pedido pessoalmente, e que também evita erros
como má interpretação da letra do garçom, quantidades anotadas errado, perda de comandas e
erro na ordenação dos pedidos. O funcionário responsável pelo caixa terá em suas mãos a
informação das mesas em aberto, poderá incluir itens nos pedidos e realizar o fechamento de
contas.

A implementação do software foi realizada seguindo as recomendações da PSR-12,


que são as práticas de codificação elaboradas pelo PHP Framework Interop Group
(PHP-FIG) , que é um grupo formado por desenvolvedores da comunidade PHP.
9

2 REFERENCIAL TEÓRICO

2.1 PHP

De acordo com Melo e Nascimento(2007), PHP é a abreviação de Hypertext


Preprocessor, que em tradução direta significa “Pré-processador de Hipertexto”, que possui
como seu principal objetivo geração de conteúdos dinâmicos para páginas web. Foi escolhido
utilizar esta linguagem devido a ela ser de código aberto, não possuir nenhum custo com
licenças de software, ser orientada a objeto e rodar do lado do servidor, garantido um pouco
mais de eficiência na parte de segurança, porque o usuário não tem acesso às regras de
negócio, somente ao HTML resultante.

2.2 HTML

HTML (Hypertext Markup Language) ou, em português, Linguagem de Marcação de


HiperTexto; é uma linguagem de marcação criada em 1991 para ser o padrão de comunicação
e troca de documentos na Web. A linguagem utiliza conteúdo multimídia (texto, imagens,
vídeo e áudio) para criar páginas da web e transmitir determinadas informações (MOURA;
Beatriz 2016).

O HTML é formado por um conjunto de elementos chamado de hipertexto, eles se


conectam entre si e formam a página. Os elementos HTML ou também chamados de tags
HTML, são utilizados para informar ao navegador que tipo de estrutura é essa que está sendo
construída, podendo ser títulos, parágrafos, imagens, links, entre outros. (MOURA; Beatriz
2016).

Para a representação do conteúdo de uma página construída utilizando HTML é


necessário o uso de um navegador, que tem a função de interpretar e exibir o conteúdo
presente no código.

2.3 MySQL
Para o armazenamento dos dados foi utilizado o MySQL, que é um Sistema de
Gerenciamento de Banco de Dados (SGBD) da linguagem SQL – Structured Query
Language, que significa linguagem de consulta estruturada. A escolha se deu ao fato do
MySQL ser o mais popular banco de dados open source do mundo, tendo alta performance,
confiabilidade e de fácil uso; sem contar pela facilidade de integração com o PHP. Ele é um
10

SGBD bem robusto e possui as principais funcionalidades esperadas deste tipo de serviço,
incluindo: integridade referencial, stored procedures, triggers e views.

2.4 MVC

Segundo Luciano e Alves (2011), o padrão MVC surgiu na década de 80 e se


popularizou no desenvolvimento de aplicações web. Ele é composto por 3 pilares, que são: o
controlador que é para onde vão todas as requisições do sistema, ele acessa a camada do
modelo para lidar com essas requisições e usa views para exibir os resultados. Com isso é
possível serem criadas diferentes views para um mesmo modelo, sem a necessidade de
modificá-lo, que é uma grande vantagem na construção de aplicações para web, que podem
ser acessadas por diferentes tipos de dispositivos, que possuem diferentes tipos de
necessidade na interface da aplicação.

Figura 1 – Modelo MVC.

Fonte:Desconhecida.

● Modelo(Model): Representa dados empresariais e regras de negócio que controlam a


atualização desses dados. Frequentemente o modelo funciona como a aproximação de
um processo do mundo real;
● Visão (View): Acessa o modelo e determina a forma como o mesmo deve ser
apresentado, sendo também a camada responsável por manter a consistência entre a
apresentação podendo, para o tal, aplicar uma das estratégias seguintes: Cadastrar-se
junto ao modelo para receber notificações de mudanças, ou; Solicitar ao modelo o seu
11

estado atual quando for necessário representá-lo;


● Controlador(Controller): Traduz interações com a visão em ações que devem ser
desempenhadas em cima do modelo. O controlador tem dentre suas funções: Ativar
processos de negócio; Mudar o estado do modelo; Escolher a visão apropriada de
acordo com as ações dos usuários e com os resultados das mudanças no modelo.

2.5 Laravel

O Laravel é um framework open-source PHP criado por Taylor Otwell em junho de


2011, é um dos mais utilizados do mundo, estruturado em MVC (Modelo, Visão e Controle)
e atualmente está na versão 7.x, sendo um dos mais utilizados no mundo e ainda em grande
crescimento, graças à enorme quantidade de recursos e funcionalidades disponibilizadas, bem
como pela otimização oferecida aos desenvolvedores em seus projetos de aplicações e web
services.

O Laravel fornece poderosas ferramentas nativas a fim de facilitar tarefas comuns na


maioria dos projetos web, como o sistema de rotas (que mapeia as requisições HTTP do
sistema para as áreas responsáveis por tratá-las); O Laravel Authentication, que é um módulo
completo de autenticação de usuários; o Blade Engine, que é um sistema de templates
responsável pela padronização da parte visual da aplicação, e o Eloquent, seu ORM padrão.
Ele simplifica as interações e manipulações da aplicação com o banco de dados (AMARAL;
TIAGO, 2018).

2.5.1 Laravel Authentication

Laravel faz a implementação de autenticação de maneira muito simples. Quase tudo


está previamente configurado. O arquivo de configuração da autenticação está localizado no
diretório config/auth.php, o qual contém muitas opções bem documentadas para adequar o
comportamento dos serviços de autenticação. Este pacote possui todos os Models, Views e
Controllers responsáveis pelo controle de usuários, desde a criação, alteração, lembretes de
senhas, gerenciamento de sessões e níveis de acesso.

A classe “User” criada pelo Authentication e vem previamente configurada para se


comunicar com o Eloquent, ela possui por padrão os campos email, password e
12

remember_token, esta última será usada para armazenar um token de sessões "Lembrar-me"
que são mantidas pela sua aplicação. Contudo é possível customizar esta classe adicionando
ou alterando campos de acordo com sua necessidade.

2.5.2 Blade Engine

Os frameworks web atuais trabalham com um sistema de templates que ajuda a não
usar a duplicação de código, o que muitas vezes acontece no desenvolvimento de aplicações
para manter a padronização das páginas. O uso de templates também auxilia quando é
necessário fazer alterações em partes fixas da aplicação, onde as alterações devem ser feitas
em todas as páginas que utilizam o padrão, reduzindo o risco de erros (MENDES, 2019).

Blade Engine é o sistema de templates do Laravel, e diferente de outros sistemas de


templates em PHP, ele não restringe o uso desta linguagem em suas páginas. Outra diferença é
que as visualizações são compiladas e armazenadas em cache até serem alteradas, tornando os
modelos mais leves. Suas visualizações usam a extensão de arquivo .blade.php e geralmente
são armazenadas no diretório resources/views(MENDES, 2019).

2.5.3 Eloquent

Eloquent, este é um Object Relational Mapping (ORM) ou Mapeador Relacional de


Objetos, ele já vem incluído por padrão no Laravel. ORM nada mais é do que uma tecnologia
projetada para reduzir o tempo de desenvolvimento, porque ele cuida de toda a abstração e
comunicação com o banco de dados, e utiliza os Models para interagir com as tabelas.
(VASCONCELOS, 2017).

Algumas de convenções impostas pelo Eloquent são:

● Os nomes de tabelas são padronizados para o plural da classe que estiver associada.
Exemplo: Classe “Pedido” possui a tabela “Pedidos”.
● As Primary Keys são sempre vinculadas à coluna id
● Toda tabela possui colunas timestamp mostrando sua data e hora de criação
(created_at) e data e hora de atualização (updated_at).
● As configurações de conexão devem ficar no arquivo padrão do Laravel,
“config/database.php”.
13

2.6 XAMPP

XAMPP é uma distribuição apache pequena e leve, que é independente de plataforma,


software livre, que consiste principalmente na base de dados MySQL, o servidor web Apache
e os interpretadores para linguagens de script: PHP e Perl. O seu tamanho reduzido e
portabilidade o fazem ser a ferramenta ideal para um ambiente de desenvolvimento e teste. O
nome provém da abreviação de X (para qualquer dos diferentes sistemas operativos), Apache,
MySQL, PHP, Perl. (APACHE FRIENDS, 2011)

2.7 FIG

FIG significa Framework Interoperability Group, ele é formado por representantes de


grandes projetos PHP (CakePHP, Drupal, PEAR, Phalcon, Symfony, Zend Framework 2 etc.).
Criado em 2009, possui o objetivo de criar padrões que todos esses projetos citados possam
adotar. Tais padrões podem quando adotados, trazem grandes benefícios, tais como: código
legível; facilidade de dar manutenção; interoperabilidade (componentes de um framework ou
pessoa podem ser facilmente integrados em outro).

2.8 PSR

As PSR’s (PHP Standard Recommendation) ou Recomendação padrão do PHP, são


especificações de projetos sugeridas e votadas por meio do grupo PHP-FIG. Estas
especificações são voltadas para a codificação PHP de uma maneira geral, desde um simples
espaçamento após um “IF”, até padrão de utilização de interfaces para ‘Log’s’. Vale salientar
que nenhuma PSR é uma imposição, elas são tratadas apenas como sugestões.(ALMEIDA;
Dhyogo, 2018)

Neste trabalho foi adotado a PSR-1 e a PSR-12, que estão relacionadas aos padrões de
escrita do código em PHP, A primeira discute a padronização básica do nosso código e a
segunda discute sobre o estilo de como o código é escrito. O PSR-12 substituiu e estendeu o
PSR-2, que teve que ser modificado devido aos avanços na linguagem de programação PHP.

2.8.1 PSR-1

A PSR-1 possui os padrões básicos de codificação, nela temos a descrição de como


organizar os arquivos; nomes de variáveis, métodos, classes e namespaces; e codificação de
caracteres.
14

A seguir, temos a visão geral deste padrão:

● Os arquivos devem usar somente <?php e <?= tags.


● Os arquivos devem usar apenas UTF-8 sem BOM para código PHP.
● Os arquivos devem declarar símbolos (classes, funções, constantes, etc.) ou causar
efeitos colaterais (por exemplo, gerar saída, alterar configurações .ini, etc.), mas não
devem fazer as duas coisas.
● Namespaces e classes devem seguir um PSR "autoloading": [ PSR-0 , PSR-4 ].
● Os nomes das classes devem ser declarados em StudlyCaps.
● As constantes de classe devem ser declaradas em letras maiúsculas com separadores
de sublinhado.
● Os nomes dos métodos devem ser declarados em camelCase.

2.8.2 PSR-12

Esta especificação estende e substitui o guia de estilo de codificação PSR-2 e requer


adesão ao padrão básico de codificação PSR-1. Assim como o PSR-2, o objetivo desta
especificação é reduzir o atrito cognitivo ao ler código de diferentes autores. Ele faz isso
enumerando um conjunto compartilhado de regras e expectativas sobre como o código PHP
deve ser formatado. Este PSR visa fornecer uma maneira definida de implementação de
ferramentas de estilo de codificação, projetos podem declarar conformidade e
desenvolvedores podem facilmente fazer conexões entre diferentes projetos. Quando vários
autores estão colaborando em vários projetos, pode ser útil ter um conjunto de diretrizes que
possam ser usadas em todos esses projetos. Portanto, o benefício deste guia não está nas
regras em si, mas em compartilhá-las.

2.9 MICROSOFT VISUAL STUDIO CODE

O Microsoft Visual Studio Code ou VSCode é um editor de código fonte livre


publicado pela Microsoft em 2015, que segundo a mesma, teve o intuito inicial de apresentar
de forma mais simples e prático o ambiente de desenvolvimento semelhante a Integrated
Development Environment (IDE) Visual Studio, possui uma enorme biblioteca de extensões
criadas pela comunidade, e isso permite que ele seja usado para desenvolver aplicativos para
15

diversas linguagens de programação.(MICROSOFT, 2022) (RASK et al., 2021)

O VSCode possui seu código-fonte disponibilizado no GitHub, o que permite à


comunidade técnica contribuir com seu desenvolvimento e facilitando a criação de extensões
e novas funcionalidades, fazendo com seja adaptável a maiorias das tecnologias existentes.

Figura 2 – Microsoft Visual Studio Code.

Fonte: O autor (2022).

2.10 ERP

A sigla ERP significa Enterprise Resource Planning, que traduzido de forma literal
significa: planejamento de recursos da empresa. Este tipo de sistema busca simplificar,
organizar, gerenciar e estruturar os processos de uma empresa, procurando centralizar todos
os processos em uma única base de dados. Em alguns casos, também pode ser apresentados
como um sistema modular, podendo ser utilizado para controle de estoque, compra de
insumos, desenvolvimento de produtos, acompanhamento de processos produtivos e até
mesmo para troca de informações entre clientes e fornecedores.(BRUM, 2016)

Este sistemas são projetados para serem implantados em qualquer tipo de plataforma,
seu principal objetivo é facilitar a troca de informações entre os setores da empresa,
automatizando e padronizando processos, evitando redundância e melhorando o fluxo de
informações; assim aumentando a produtividade, reduzindo o tempo gasto na realização de
16

tais tarefas. A implantação deste tipo de sistema pode acarretar também numa mudança
organizacional, na qual todos os utilizadores deverão estar envolvidos. (BRUM, 2016)

2.11 PDV

O sistema PDV (ou sistema de frente de caixa), é responsável por interligar diversos
serviços com a finalidade de realizar e finalizar uma venda dentro de um estabelecimento.Na
hora de finalizar a compra em um caixa, muitas transações são realizadas e processadas, de
acordo com Leal(2020) dentre destas estão:

● Identificar método de pagamento;


● Registrar quantidade, preço e descontos;
● Dar baixa no estoque;
● Cálculo de impostos;
● Atribuir comissões;
● Enviar informações ao Sefaz do Estado;
● Mediar transações entre autorizadoras de cartões;
● Exportar informações das vendas ao ERP;

Na prática os sistemas frente de caixa (PDV) funcionam da mesma forma que outros
softwares corporativos, que é controlado pelo funcionário de caixa via computador ou
dispositivo móvel como em alguns sistemas. Assim, quando um cliente chega para finalizar a
venda o sistema faz praticamente tudo: desde registrar a venda até emitir nota fiscal. (TOTVS
2022)
17

2.12 TRABALHOS CORRELATOS

Com a finalidade de realizar um comparativo com alguma solução já existente para


este ramo, abordaremos brevemente o módulo de Pedidos e Vendas do ecossistema da
empresa Consumer, ele tem a finalidade de automatizar as comandas de restaurantes e
lanchonetes.

O Consumer é uma aplicação Desktop que possui alguns módulos, o acesso a estes
módulos estão disponíveis tanto dentro do Painel de controle da aplicação, como também em
páginas web ou por aplicativos mobile, e que podem estar disponíveis para os gestores,
funcionários internos e/ou clientes do estabelecimento, de acordo com a especificidade de
cada módulo.

Os principais modelos que compõem a solução são: Mesas, comandas e PDV;


MenuDino Site e App Delivery; Agendamento de Pedidos; App para Entregador; Smart
Delivery; Consumer Ads; Cardápio QRCode na Mesa; Monitor de Preparo KDS; Emissão de
Cupom Fiscal e TEF; Controle de Estoque e Ficha Técnica; Connect Relatórios
Online;Cupons e Programa de Fidelidade.

Dentre os módulos mencionados acima, daremos o foco no “mesas, comandas e


PDV”, que é o módulo que se assemelha a aplicação proposta neste trabalho.Ele é
recomendado para estabelecimentos que trabalham com atendimento presencial, separando as
contas por mesas ou números de comanda.Fornecendo o completo gerenciamento de mesas e
pedidos, a parte de gerenciamento está disponível somente como aplicação desktop e a parte
de tomada de pedidos está disponível tanto na aplicação desktop quanto na mobile.

Na figura 3 temos a tela principal do Consumer, nela é possível ter acesso as


principais funcionalidades que são: abrir/fechar caixa; mesas/comandas; pedidos delivery;
pedidos no caixa; cardápio online; lista de clientes.
18

Figura 3 – Tela Principal do Sistema Consumer

Fonte: CONSUMER 2022.

Na figura 4 temos a tela de gerenciamento de produtos, onde é possível cadastrar os


produtos principais, complementos, observações, categorias, tipos e tamanhos, insumos,
alterar estoque, consultar históricos, e gerar relatórios.
Figura 4 – Tela de Produtos do Sistema Consumer

Fonte: CONSUMER 2022.


19

Na figura 5 temos a tela de mesas/comandas, nela é possível visualizar todos os


pedidos abertos tendo opção de alterá-los, e abrir novos pedidos.
Figura 5 – Tela de mesas/comandas do Sistema Consumer

Fonte: CONSUMER 2022.

Na figura 6 temos a tela de seleção de mesa, nelas temos a listagem de mesas, as que
estão disponíveis estão verdes e ocupadas em vermelho.
Figura 6 – Tela de Seleção de Mesa do Sistema Consumer

Fonte: CONSUMER 2022.

Na figura 7 temos a tela de pedido, nela temos os todos os detalhes a respeito do


pedido na lateral esquerda e no centro a listagem de itens que já foram incluídos, no topo a
opção de incluir novos itens ou editar algum existente e ao final a opção de imprimir e realizar
pagamento. Posteriormente na figura 8 temos a listagem de produtos disponíveis para serem
incluídas no pedido. E por fim na figura 9 a tela onde é possível inserir a quantidade desejada,
20

observações, complementos ou retirada de ingredientes.


Figura 7 – Tela de Pedido do Sistema Consumer

Fonte: CONSUMER 2022.

Figura 8 – Tela de Listagem de Produtos disponíveis para inclusão ao pedido do Sistema


Consumer

Fonte: CONSUMER 2022.


21

Figura 9 – Tela de Adicionar Produto ao pedido do Sistema Consumer

Fonte: CONSUMER 2022.

Na figura 10 temos um exemplo a esquerda da impressão de uma conta e mais a


direita a cópia do pedido que será enviado para preparo na cozinha.
Figura 10 – Exemplos de Impressão de conta e pedidos para cozinha

Fonte: CONSUMER 2022.


22

Na figura 11 temos a tela de pagamento, nela temos a listagem de itens do pedido, e as


opções de pagamento disponíveis.
Figura 11 – Tela de pagamentos do sistema Consumer

Fonte: CONSUMER 2022.

2.12.1 Comparação entre a aplicação proposta e o aplicativo relacionado.


Tabela 1 – Comparação entre aplicação proposta e aplicação Consumer
Funcionalidades Aplicação Proposta Consumer

Digitação de pedidos x x

Gerenciamento de produtos x x

Gerenciamento de estoque - x

Pedidos de delivery - x

Disponibilidade Rede local e nuvem. Rede local.

Gerenciamento de Pedidos Em qualquer dispositivo. Somente pela aplicação


desktop.

Custo da licença - R$54,90/mês plano anual.

Fonte: O autor (2022).


23

3 MODELAGEM DE SOFTWARE

3.1 DIAGRAMA DE CASOS DE USO

O diagrama de casos de uso descreve as funcionalidades propostas para o sistema


proposto, é uma ferramenta para levantamento e descrição dos requisitos funcionais do
sistema e sua relação com os atores que compõem o sistema.

Na Figura 12 temos o diagrama de casos de uso deste projeto, onde é possível


observar o ator Garçom que interagem com os casos de uso Login e Realizar Pedido; o ator
Caixa que herda todas as interações do Garçom e também acessa: Imprimir Pedido,Alterar
Status e Fechar conta; por fim o ator Administrador herda todas as permissões do caixa e
interage com: Manter produtos, Manter categorias e Manter usuários.
Figura 12 – Diagrama de casos de uso.

Fonte: O autor (2022).


24

3.2 DIAGRAMA DE CLASSES

Um diagrama de classes é uma representação dos componentes estruturais dos


sistemas computacionais, eles são decorrentes do processo de abstração que identifica os
objetos relacionados ao sistema e seus relacionamentos. Cada classe no diagrama consiste em
atributos (valores que são anexados a uma instância da classe) e métodos/funções(que são
operações realizadas por uma instância da classe).(LAZZARETTI, 2012)

Na Figura 13 temos o diagrama de classes que compõem este projeto, no centro temos
a principal classe que é a de Pedido e suas interações com as demais classes.
Figura 13 – Diagrama de classes

Fonte: O autor (2022).


25

3.3 DIAGRAMA DE BANCO DE DADOS

Na Figura 14 temos o diagrama de banco de dados, que demonstra como as classes


estão armazenadas no banco de dados e como se relacionam entre si. Por convenção do
framework laravel, os nomes de tabelas são padronizados para o plural da classe que estiver
associada, por exemplo a Classe “Pedido” possui a tabela “Pedidos”, e possuem colunas
timestamp mostrando sua data e hora de criação (created_at), data e hora de atualização
(updated_at) e data e hora de exclusão(deleted_at).

Figura 14 – Diagrama de banco de dados

Fonte: O autor (2022).


26

4 RESULTADOS
Nesta seção serão apresentados o diagrama de mapa de site, principais trechos do
código-fonte; e descrição das telas e suas principais funcionalidades.
Nas Figuras 15 e 16 trago alguns trechos responsáveis para construir o modelo e
realizar a interação com o banco de dados com a classe ‘Pedido’.
Na figura 15 temos o trecho responsável por realizar as migrations de algumas das
classes do sistema, que nada mais é que a criação da tabela e seus campos.
Irei detalhar a classe pedido, nela podemos observar que o campo id_pedido é um
campo do tipo ‘auto incremento’(que é um campo do tipo inteiro, e que seu número irá
subindo de acordo com cada nova inserção), também se observa a conexão com outras tabelas
através de chaves estrangeiras, como ocorre no campo id_mesa que é uma chave para a chave
primária id_mesa da tabela mesas; por últimos temos a criação dos campos de data hora,
utilizando a função timestamps.

Figura 15 – Migrations no laravel.

Fonte: O autor (2022).


27

Na figura 16 temos o trecho responsável por realizar a configuração do Modelo da


classe Pedido e como ela se relaciona com os demais modelos do sistema.

● $fillable - Lista os campos que a classe possui;


● $primaryKey - Informa qual campo é a chave primária da classe, que será
utilizada nos métodos de busca do Eloquent;
● mesa() - Retorna que o registro da classe mesa que está associada ao pedido;
● item_pedido() - Retorna a coleção de itens de pedido que estão associados ao
pedido;
● pagamento() - Retorna o registro de pagamento associado ao pedido.

Figura 16 – Model de Pedido no laravel.

Fonte: O autor (2022).


28

A tela representada pela figura 17 é responsável por fazer o login na plataforma, nela
possui o campo de email e senha, a opção de lembrar as credenciais de acesso e evitar repetir
o processo na próxima vez que for acessar e por um último botão ser direcionado para página
de registro de novos usuários.

Figura 17 – Tela de login

Fonte: O autor (2022).

As figuras 18 e 19 demonstram a tela de listagem de mesas, uma quando aberta em um


navegador desktop e outra na tela de um smartphone, nelas podemos perceber um menu na
lateral esquerda que dá acesso a principais funcionalidades do sistema, este menu é padrão e
será exibido em todas telas. No centro observa-se a listagem de mesas, onde a cor verde
significa que a mesa está livre e a laranja com clientes e pedidos realizados.
Dentro de cada mesa é possível observar quando ocupada: o status do pedido, a
listagem de itens e a opção de inserir novos; quando vazia é possível iniciar um novo pedido.

Figura 18 – Tela de Mesas

Fonte: O autor (2022).


29

Figura 19 – Tela de mesas no formato mobile.

Fonte: O autor (2022).

Na figura 20 temos um trecho do controlador da classe mesa, nele temos a função de


construtor que é executado toda vez que o controlador é chamado, nele é criado uma instância
da classe mesa e a função index obtém a coleção de todas as mesas ordenadas pelo campo
‘numero_mesa’ e retorna a view Mesas com a coleção de mesas que é exibido nas figuras 18 e
19.
Figura 20 –Trecho código-fonte controller classe Mesa.

Fonte: O autor (2022).


30

Nas figuras 21 e 22 podemos observar a listagem de produtos disponíveis para serem


inseridas no pedido, cada produto possui sua imagem, código, nome e descrição detalhada.

Figura 21 – Tela de adicionar produtos ao pedido.

Fonte: O autor (2022).

Figura 22 – Tela de adicionar produtos ao pedido.

Fonte: O autor (2022).


31

Na figura 23 temos o trecho do código-fonte do controlador da classe pedido


responsável por criar um novo pedido e inserir itens nele. A função 'NovoPedido' é
responsável por criar um novo pedido com o status ‘Aberto’, associá-lo a mesa
correspondente, salvar no banco de dados e chamar a função ‘addProduto’ que irá obter a lista
de Produtos disponíveis e retornar a view que renderizar a tela vista nas figuras 21 e 22.

Figura 23 – Trecho código-fonte controller classe Pedido.

Fonte: O autor (2022).


32

Na figura 24 é apresentada a tela de gerenciamento de pedido, nela é possível observar


todas informações referentes ao pedido e os itens que o compõem, sendo possível realizar
inclusão/alteração neste itens, alterar status, imprimir pedido, fechar conta e liberar a mesa
para novos clientes.

Figura 24 – Tela de gerenciamento de pedidos.

Fonte: O autor (2022).

Na figura 25 é exibido a tela de alterar status do pedido, os pedidos podem ter os


seguintes estados:
● Realizado - é o pedido assim que foi digitado e ainda não foi para a cozinha
● Em preparo - depois de imprimir o pedido na cozinha, ele entra
automaticamente neste status.
● Entregue - este status é associado quando o pedido está pronto e foi levado até
o cliente.
● Pago - este status é quando o pedido não possui pagamento pendente, é
automaticamente atribuído ao informar o pagamento total da conta.

Figura 25 – Tela de alterar status.

Fonte: O autor (2022).


33

Na figura 26 temos a tela de informar pagamento, onde o usuário seleciona a forma de


pagamento e o valor pago.

Figura 26 – Tela de informar pagamento.

Fonte: O autor (2022).

Na figura 27 temos um exemplo da impressão de pedidos, ele é utilizado para cozinha


e no momento de fechamento da conta.
● Versão cozinha - é utilizada durante o preparo do pedido, ao enviar para o
cozinha não é exibido os campos de valores, ao invés disso é exibido o campo
observação digitado pelo garçom
● Versão conta - é utilizada para enviar ao cliente antes de realizar o pagamento
● Versão comprovante - é utilizada depois do pagamento realizado, trazendo
consigo informações a respeito do valor pago e forma de pagamento.

Figura 27 – Modelo de Pedido impresso

Fonte: O autor (2022).


34

Na figura 28 temos o mapa do site, demonstrado como é a navegação entre todas as


telas do sistema.
Figura 28 – Mapa do site

Fonte: O autor (2022).


35

5 – CONSIDERAÇÕES FINAIS

A proposta deste trabalho foi de desenvolver uma aplicação que sirva como porta de
entrada na automatização de microempresas. Para isso foi desenvolvido uma aplicação web
que pode ser acessada por qualquer dispositivo e com opção de rodar localmente em um
computador ou hospedada na web.

Durante a confecção deste trabalho foi aperfeiçoado o conhecimento adquirido durante


a graduação, principalmente na parte de projetar e modelagem de software, quando no
desenvolvimento web.

Este trabalho como contribuição traz uma visão de como é importante que
microempresas sejam informatizadas, abordando alguns dos benefícios que esta
automatização traz.

Após analisar os resultados obtidos, foi possível verificar que a solução proposta
atende todos os requisitos inicialmente levantados e que atendeu o principal objetivo que é
automatizar o processo de emissão de pedidos, sem alterar muito a rotina de como já vem
sendo realizado nos últimos anos, com investimento baixo em equipamentos, baixo custo de
manutenção, reduzindo erros de escrita e fechamento de conta e garantindo um melhor
acompanhamento dos pedidos.

5.1 TRABALHOS FUTUROS

Como trabalhos futuros, temos alguns pontos que serão interessantes de serem
trabalhados, como os apontados abaixo:

● Permitir que o usuário adicione/remova os itens que compõem um produto durante a


digitação de pedido, e esta edição alterar o valor final do produto escolhido pelo
cliente.
● Permitir a criação de políticas comerciais diversas como: combos, promoções e
programas de fidelidade
● Adicionar um módulo para o cliente realizar o próprio pedido na mesa, sem interação
de um atendente.
● Adicionar um novo módulo de entregas, onde seria possível criar uma interface para
cada cliente solicitar um novo pedido ou integração com outras soluções já disponíveis
no mercado.
36

● Adicionar um módulo de controle de estoque


● Adicionar um módulo de controle de caixa e faturamento.
● Adicionar um módulo de inteligência empresarial, que seria responsável por gerar
relatórios que auxiliam na tomada de decisões dentro da empresa, como os seguintes:
produtos mais vendidos, relação entre venda de produto x horário, venda de produtos
x dias da semana, tempo médio de produção, dentre outros.
37

6 REFERÊNCIAS

ALMEIDA, Dhyogo. PSR — Padrões necessários para ter um código de qualidade. 28 de Set
de 2018 . Disponível em:
https://medium.com/@dhyogoalmeida/psr-padr%C3%B5es-necess%C3%A1rios-para-ter-um-
c%C3%B3digo-de-qualidade-92b5d81f70fe. Acesso em 25/08/2022.

AMARAL, Tiago. Por que Laravel é uma das melhores opções para quem trabalha com PHP.
9 de Jul de 2018 . Disponível em:
https://configr.com/blog/por-que-laravel-se-tornou-uma-das-melhores-opcoes-para-quem-trab
alha-com-aplicacoes-em-php. Acesso em 21/07/2020.

APACHE FRIENDS. XAMPP. Disponível em: http://www.apachefriends.org. Acesso em


29/08/2022.

BRUM, P. Sistemas ERP na gestão da cadeia de suprimentos. Revista Organização Sistêmica,


[S. l.], v. 7, n. 4, p. 79–94, 2016. Disponível em:
https://www.revistasuninter.com/revistaorganizacaosistemica/index.php/organizacaoSistemica
/article/view/346. Acesso em: 9 dez. 2022.

BUYCO. Mercado de restaurantes: um setor em crescimento. Disponível em:


https://buyco.com.br/mercado-de-restaurantes. Acesso em 29/08/2022.

EIRIZ, V.; BARBOSA, N.; FERREIRA, V. Motivos da adoção de tecnologias pelas micro e
pequenas empresas distribuidoras de produtos alimentares. Revista Brasileira de Gestão e
Inovação, v.4, n.1, Setembro/Dezembro – 2016.

FELL, A. F. A.; DORNELAS, J. S. Obstáculos ao Uso da Tecnologia da Informação para a


Gestão do Conhecimento: um Estudo de Casos Múltiplos. Revista Gestão.Org, v. 11, n. 3,
2013.

GONZALEZ JUNIOR, I. P.; REIS, L. S. B.; SANTOS, V. A. V. O uso da tecnologia de


informação nas micro e pequenas empresas familiares de Cachoeira-BA. REAVI-Revista
Eletrônica do Alto Vale do Itajaí, v. 4, n. 5, p. 77-89, 2016.

LAZZARETTI, Alexandre Tagliari. Csdc–uma ferramenta de conversão de script sql em


diagrama de classes uml. 2012.
38

LEAL, Maicon. Modelo de implantação de sistemas PDV, 2020 Trabalho de conclusão de


curso (Curso Superior de Tecnologia em Segurança da Informação) - Faculdade de Tecnologia
de Americana, Americana, 2020

LUCIANO, J.; ALVES, W. J. B. Padrão de arquitetura mvc: Model-view-controller. p. 6,


2011. Disponível em:
https://unifafibe.com.br/revistasonline/arquivos/revistaepeqfafibe/sumario/20/1611201114224
9.pdf. Acesso em 22/08/2022.

Melo, Alexandre Altair de e NASCIMENTO, Maurício G. F. PHP profissional: aprenda a


desenvolver sistemas profissionais orientados a objetos com padrões de projeto.SP: Novatec,
2007.

MENDES, Taysa. Utilização de Blade Engine: sistema de template em Laravel. 7 de Ago de


2019 . Disponível em:
https://imasters.com.br/back-end/como-criar-as-models-do-seu-projeto-com-eloquent-no-lara
vel. Acesso em 22/08/2022.

MILANI, A. Construindo Aplicações Web com PHP e MySQL. Novatec, 2010.

MILANI, A. MySQL - Guia do Programador. Novatec, 2007

MOURA, Beatriz.O que é o HTML e suas tags? Parte 1: estrutura básica. Disponível em:
https://www.alura.com.br/artigos/o-que-e-html-suas-tags-parte-1-estrutura-basica. Acesso em
29/08/2022.

OLIVEIRA,Wallace. A importância de estabelecer processos de qualidade. 04 de Nov de


2014. Disponível em: https://www.venki.com.br/blog/processos-de-qualidade. Acesso em
28/08/2022.

PSR-1_ Basic Coding Standard - PHP-FIG. Disponível em: https://www.php-fig.org/psr/psr-1.


Acesso em 21/07/2020.

PSR-12_ Extended Coding Style - PHP-FIG. Disponível em:


https://www.php-fig.org/psr/psr-12. Acesso em 21/07/2020.

Release Notes - Laravel - The PHP Framework For Web Artisans. Disponível em:
https://netbeans.org/kb/index.html. Acesso em 21/07/2020.
39

SEBRAE. Panorama dos Pequenos Negócios 2018. Disponível em:


https://www.sebrae.com.br/Sebrae/Portal%20Sebrae/UFs/SP/Pesquisas/Panorama_dos_Peque
nos_Negocios_2018_AF.pdf. Acesso em 29/08/2022.

SILVA, Jorge Cleber Pereira; AMARAL , Maria Fernanda Brito; NASCIMENTO, Anderson
Lopes; FELIX, Iana Celia. O impacto da Tecnologia da Informação na Gestão de Pequenas
Empresas. Revista Formadores - Vivências e Estudos, Cachoeira - Bahia, v. 12, n. 6, p. 47-60,
out. 2019.

STAIR, Ralph M.. Princípios de sistemas de informação / Ralph M. Stair ,George W.


Reynolds. Tradução Noveritis do Brasil. Revisão técnica Tânia Fátima Calvi Tait. – 11ª ed
.São Paulo: Cengage Learning, 2015.

TURBAN, Efraim; VOLONINO, Linda. Tecnologia da Informação para Gestão-: Em Busca


de um Melhor Desempenho Estratégico e Operacional. Bookman Editora, 2013.

TOTVS. PDV: O que é, principais funções e vantagens de investir 2022. Disponível em:
https://elevesuasvendas.com.br/blog/vendas/sistema-de-frente-de-caixa-pdv. Acesso em
09/12/2022.

VASCONCELOS, Felipe M. de. Como criar as Models do seu projeto com Eloquent no
Laravel. 24 de Nov de 2017 . Disponível em:
https://imasters.com.br/back-end/como-criar-as-models-do-seu-projeto-com-eloquent-no-lara
vel. Acesso em 25/08/2022.
40

APÊNDICE A - Descrição de casos de uso

Tabela 1 – Descrição caso de uso Login

Caso de Uso: Login


Identificador: UC1
Atores: Garçom, Caixa e Administrador
Pré-condições: Possuir cadastro prévio.
Fluxo Normal:
1. Usuário abre o Navegador e digita a url de acesso ao site.
2. Informar seu usuário e senha
3. Usuário é redirecionado a sua página de uso:
● Garçom abre a lista de mesas;
● Administrador e Caixa abrem o painel de administração do sistema.
Fluxo Alternativo 1:
Ao informar usuário ou senha incorreta é retornada a mensagem “Usuário e senha
incorretos”, favor contactar o administrador do sistema”.
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).

Tabela 2 – Caso de Uso: Cadastrar categorias de produtos


Caso de Uso: Cadastrar categorias de produtos
Identificador: UC2
Ator: Administrador
Pré-condições: Estar logado no sistema (UC1).
Fluxo Normal:
1. Usuário abre o menu principal e seleciona a aba de gerenciamento de categorias
2. Selecionar opção de adicionar nova categoria e informar o seu devido nome
3. Clicar sobre o botão cadastrar para finalizar o procedimento.
Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).
41

Tabela 3 – Caso de Uso: Cadastrar produtos.

Caso de Uso: Cadastrar produtos


Identificador: UC3
Ator: Administrador
Pré-condições: Estar logado no sistema (UC1).
Sistema já possuir uma categoria cadastrada (UC2)
Fluxo Normal:
1. Usuário abre o menu principal e seleciona a aba de gerenciamento de produtos
2. Selecionar opção de adicionar novo produto
3. Informar código, nome, descrição, valor, selecionar categoria pertencente e enviar a
imagem do produto.
4. Clicar sobre o botão cadastrar para finalizar o procedimento.
Fluxo Alternativo 1: Ao informar um código de produto já existente, o sistema retorna um
erro e solicita a correção.
Fluxo Alternativo 2: Ao deixar algum campo em branco, o sistema não aceita enviar o
cadastro e exige o seu preenchimento.
Fluxo Alternativo 3:
Fonte: O autor (2022).

Tabela 4 – Caso de Uso: Autorizar usuários.


Caso de Uso: Autorizar usuários
Identificador: UC4
Ator: Administrador
Pré-condições: Estar logado no sistema (UC1).
Fluxo Normal:
1. Administrador abre o menu principal e seleciona a aba de gerenciamento de usuários.
2. Selecionar qual usuário deseja dar acesso e clicar no botão editar.
3. Na aba de edição é possível alterar todos os dados e existirá um campo para confirmar
que o usuário está ativo no sistema.
4. Clicar sobre o botão “finalizar” para concluir o procedimento.
Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).
42

Tabela 5 – Caso de Uso: realizar pedido.


Caso de Uso: Realizar pedido
Identificador: UC5
Atores: Garçom, Caixa e Administrador
Pré-condições: Estar logado no sistema (UC1).
Fluxo Normal:
1. Clicar sobre qual mesa será associado o pedido;
2. Selecionar qual item o cliente deseja;
3. Informar quantidade e observações;
4. Após realizar o cadastro de todos os itens, clique sobre o botão “finalizar pedido”.
Fluxo Alternativo 1: Ao informar o pedido sem quantidade, o sistema não aceita finalizar o
procedimento, somente após o preenchimento correto do campo.
Fluxo Alternativo 2:
Fluxo Alternativo 3:

Fonte: O autor (2022).

Tabela 6 – Caso de Uso: imprimir pedido.


Caso de Uso: Imprimir Pedido
Identificador: UC6
Atores: Caixa e Administrador
Pré-condições: Estar logado no sistema (UC1).
Pedido Realizado (UC5)
Fluxo Normal:
1. Selecionar no menu principal a opção de gerenciamento de pedidos
2. Selecionar o pedido a qual deseja imprimir
3. Uma página com o pedido em formato de impressão é aberta e seleciona a impressora e
confirme para realizar a impressão
Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).
43

Tabela 7 – Caso de Uso: alterar status pedido.


Caso de Uso: Alterar Status do pedido
Identificador: UC7
Atores: Caixa e Administrador
Pré-condições: Estar logado no sistema (UC1).
Pedido Realizado (UC5)
Fluxo Normal:
1. Selecionar no menu principal a opção de gerenciamento de pedidos
2. Selecionar o pedido a qual deseja alterar o status
3. Alterar o status que deseja e finalizar o procedimento.
Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).

Tabela 8 – Caso de Uso: fechar conta.


Caso de Uso: Fechar Conta
Identificador: UC8
Atores: Caixa e Administrador
Pré-condições: Estar logado no sistema (UC1).
Pedido Realizado (UC5)
Fluxo Normal:
1. Selecionar no menu principal a opção de gerenciamento de pedidos;
2. Selecionar o pedido a qual deseja finalizar;
3. O resumo dos itens de pedido e o valor total já é exibido em tela;
4. Clicar sobre o botão “Informar pagamento” para colocar a forma de pagamento (“Cartão,
dinheiro ou PicPay”) e o valor Pago.
Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).
44

Tabela 9 – Caso de Uso: imprimir conta.


Caso de Uso: Imprimir Conta
Identificador: UC8
Atore: Caixa e Administrador
Pré-condições: Estar logado no sistema (UC1).
Pedido Realizado (UC5)
Fluxo Normal:
1. Selecionar no menu principal a opção de gerenciamento de pedidos;
2. Selecionar o pedido a qual deseja imprimir;
3. Clicar sobre o botão “imprimir conta” e uma página da conta em formato de impressão é
aberto na tela;
4. Na conta devem conter: Nome da Empresa, CNPJ, número da mesa, horário do pedido,
relação de itens, valor total; caso a conta já tenha sido paga, ainda é exibido: valor pago,
troco, forma de pagamento e horário de pagamento.
4. Selecionar a impressora a qual deseja imprimir e o procedimento é finalizado.

Fluxo Alternativo 1:
Fluxo Alternativo 2:
Fluxo Alternativo 3:
Fonte: O autor (2022).

Você também pode gostar