Escolar Documentos
Profissional Documentos
Cultura Documentos
Autoras: Alíria Mateus dos Santos, 11840 e Maria Rodrigues Francisco Tomé, 11950
Orientador: Cristóvão João Zua, Ph.D.
Autoras: Alíria Mateus dos Santos, 11840 e Maria Rodrigues Francisco Tomé, 11950
COMISSÃO DE JÚRI
_________________________________
(Presidente)
_________________________________
(1º Vogal)
_________________________________
(2º Vogal)
Inserir aqui a citação………………………
Autor.
Inserir aqui a dedicatória …………
Autor.
AGRADECIMENTOS
Inserir aqui os agradecimentos.
Alíria Mateus dos e Maria Francisco R. Tomé
RESUMO
O projecto consiste na criação de uma aplicação web de gestão de atendimento para o
Restaurante & Churrascaria Mambos Gil, localizado na Província de Luanda. A situação
problemática identificada no restaurante é o uso de blocos de papel tradicionais para anotar
pedidos, o que resulta em diversos problemas, como pedidos incorrectos, atendimento
demorado e dificuldades na comunicação com a cozinha. O problema científico central é:
"Como tornar o atendimento do Restaurante & Churrascaria Mambos Gil mais dinâmico e
diferenciado diante da concorrência?" A hipótese formulada sugere que a automatização do
processo de pedidos e entrega de produtos pode reduzir esses problemas, garantindo maior
segurança e rapidez no atendimento. O objectivo geral do projecto inclui o desenvolvimento
da aplicação web de gestão de atendimento, tornando os dados mais consistentes e
acessíveis, proporcionando agilidade, precisão e conferência nos dados, bem como
oferecendo um atendimento diferenciado. Os objectivos específicos incluem a revisão da
literatura sobre sistemas de informação para aplicações web de gestão de atendimento em
restaurantes, o levantamento de dados para compreender as necessidades do restaurante, a
adopção de uma metodologia de desenvolvimento de software adequada e a criação de uma
interface de usuário intuitiva. Com base na hipótese de que a automação pode melhorar o
atendimento, e considerando que os objectivos foram alcançados em 90%, a conclusão
preliminar é que a implementação da aplicação web trouxe melhorias significativas, mas
sugere-se a contínua monitorização e refinamento para atingir plenamente os objectivos
estabelecidos e manter a satisfação dos clientes e funcionários.
Palavras-chave: Aplicação web, Gestão de atendimento, Sistemas de informação.
ABSTRACT
The project consists of creating a web-based customer service management application for
the Mambos Gil Restaurant & Churrascaria, located in the Luanda Province. The identified
problem situation at the restaurant is the use of traditional paper pads to take orders, which
results in various issues such as incorrect orders, slow service, and communication
difficulties with the kitchen. The central scientific problem is: "How to make the customer
service at Mambos Gil Restaurant & Churrascaria more dynamic and distinctive in the face
of competition?" The formulated hypothesis suggests that automating the order and product
delivery process can reduce these problems, ensuring greater security and speed in customer
service. The overall project objective includes developing the web-based customer service
management application, making data more consistent and accessible, providing agility,
accuracy, and data validation, as well as delivering distinctive customer service. Specific
objectives include reviewing the literature on information systems for web-based customer
service management in restaurants, collecting data to understand the restaurant's needs,
adopting an appropriate software development methodology, and creating an intuitive user
interface. Based on the hypothesis that automation can improve customer service, and
considering that the objectives have been achieved to 90%, the preliminary conclusion is
that the implementation of the web application has brought significant improvements.
However, continuous monitoring and refinement are recommended to fully achieve the
established objectives and maintain customer and employee satisfaction.
Keywords: Web application, Customer service management, Information systems.
INDÍCE DE TABELAS
ÍNDICE DE FIGURAS
SIGLAS E ABREVIAÇÕES
INTRODUÇÃO ..................................................................................................................... 1
3.4.2. Sprint........................................................................................................................ 53
Algumas décadas atrás viveu-se a era da agricultura, a sociedade evoluiu para era industrial
e actualmente vivencia-se a era do conhecimento, o que aumentou o grau de importância das
informações. Antes as empresas utilizavam papéis para registar as informações, os
documentos eram armazenados em pastas e guardados em armários, porém, com o advento
dos computadores, a tecnologia chegou nas empresas com o objectivo de melhorar os
processos de trabalho.
O presente projecto apresenta uma visão de solução referente ao problema que o Restaurante
& Churrascaria Mambos Gil enfrenta quanto ao atendimento, que se observou na rotina
diária dentro do estabelecimento. Assim a pretensão é explorar com maior detalhe e cuidado
o campo de investigação que o projecto apresenta, dando um equilíbrio mais sustentado entre
os conhecimentos adquiridos ao longo dos quatro anos de formação académica e a
experiência que se obteve na projecção de softwares com vista a solucionar problemas reais.
E o tema Desenvolvimento de uma aplicação web de atendimento para o Restaurante &
Churrascaria Mambos Gil que o presente projecto apresenta, caracteriza-se como um desafio
à aplicação prática dos conhecimentos e experiência adquiridos.
Situação problemática
O restaurante & churrascaria Mambos Gil ainda utiliza o tradicional bloco de papel para
anotar os pedidos dos clientes, acarretando diversos problemas como: o produto recebido é
diferente do que foi pedido pelo cliente; o atendimento é muito demorado; o papel chega à
cozinha rasurado e ilegível; o garçom precisa obrigatoriamente levar o pedido até a cozinha;
o garçom precisa ter uma boa escrita para que seja entendido pelos cozinheiros.
Estas são algumas situações rotineiras, principalmente em dias de grande movimento.
Problema Científico
Diante das dificuldades acima expostas levaram a formular o seguinte problema científico:
como tornar o atendimento do restaurante & churrascaria Mambos Gil mais dinâmico e
diferenciado diante da concorrência?
1
Objecto de investigação
Para o desenvolvimento do presente projecto o campo de estudo são as Tecnologias de
Informação e Comunicação.
Campo de investigação
Como campo de investigação foi definido o Sistema de Informação aplicado às aplicações
web.
Hipótese
A automatização do processo de pedidos e na entrega dos produtos pode reduzir bastante os
problemas que o restaurante enfrenta, garantindo uma maior segurança e rapidez no
atendimento.
Objectivo Geral
Desenvolver uma aplicação web de gestão de atendimento para o Restaurante &
Churrascaria Mambos Gil, tornando os seus dados mais consistentes, acessíveis de uma
forma mais prática e rápida gerando assim agilidade, precisão e conferência nos dados e um
atendimento diferenciado.
Objectivos específicos
Apresentar um quadro teórico sobre sistemas de informação voltadas às aplicações web
de gestão de atendimento para restaurantes;
Propor aos gestores do Restaurante & Churrascaria Mambos Gil o levantamento de dados
que facilitem o entendimento necessário para a implantação de uma aplicação web de
gestão de atendimento;
Adoptar uma metodologia de desenvolvimento de software que se adapte às necessidades
do serviço;
Apresentar um desenho da interface de usuário para o melhor entendimento das
funcionalidades da aplicação.
Metodologia
Metodologia é a explicação minuciosa, detalhada, rigorosa e exata de toda acção
desenvolvida no método (caminho) do trabalho de pesquisa. É a explicação do tipo de
pesquisa, do instrumental utilizado (questionário, entrevista), do tempo previsto, da equipa
de pesquisadores e da divisão do trabalho, das formas de tabulação e tratamento dos dados,
enfim, de tudo aquilo que se utilizou no trabalho de pesquisa. A metodologia é composta de
2
partes que descrevem o local, os sujeitos, o objecto de estudo, os métodos e técnicas, que
muitas vezes estão descritos como procedimentos da pesquisa, as limitações da pesquisa, o
tratamento de dados, conforme descrito na sinopse apresentada anteriormente (Kauark,
Manhães, & Medeiros, 2010).
Tipos de pesquisa
Classificação quanto à natureza: aplicada
A pesquisa aplicada objectiva gerar conhecimentos para aplicação prática dirigidos à solução
de problemas específicos. Envolve verdades e interesses locais.
Quanto a abordagem: qualitativa
Pela necessidade encontrada em se familiarizar com o ambiente no qual foi delimitado o
estudo, escolheu – se trabalhar com esta pesquisa, visto que a mesma encaixa – se melhor
no dinamismo adoptado para o desenvolvimento do presente projecto.
A pesquisa qualitativa considera que há uma relação dinâmica entre o mundo real e o sujeito,
isto é, um vínculo indissociável entre o mundo objectivo e a subjectividade do sujeito que
não pode ser traduzido em números. A interpretação dos fenómenos e a atribuição de
significados são básicas no processo de pesquisa qualitativa. Não requer o uso de métodos e
técnicas estatísticas. O ambiente natural é a fonte directa para colecta de dados e o
pesquisador é o instrumento-chave. É descritiva. Os pesquisadores tendem a analisar seus
dados indutivamente. O processo e seu significado são os focos principais de abordagem
(Moresi, 2003).
Quanto aos objectivos: exploratória
Optou – se pela pesquisa exploratória com a finalidade de se obter uma visão panorâmica do
facto estudado, já que a hipótese apresentada não é precisa e o tema escolhido é exigiu o
levantamento da literatura para maior subsídio teórico para o estudo. Através da pesquisa
exploratória foi possível a delimitação mais clara do tema.
3
Quanto aos procedimentos/tipos: bibliográfica
O tipo bibliográfico foi necessário como fonte para agregar no trabalho conteúdo literário
para o melhor enquadramento teórico no projecto.
A pesquisa bibliográfica é o estudo sistematizado desenvolvido com base em material
publicado em livros, revistas, jornais, redes electrónicas, isto é, material acessível ao público
em geral. Fornece instrumental analítico para qualquer outro tipo de pesquisa, mas também
pode esgotar-se em si mesma. O material publicado pode ser fonte primária ou secundária.
Por exemplo: o livro Princípios de Administração Científica, de Frederick W. Taylor,
publicado pela Editora Atlas, é fonte primária se cotejado com obras de outros autores que
descrevem ou analisam tais princípios. Estas, por sua vez, são fontes secundárias em relação
ao primeiro por se basearem nele para explicitar outras relações (Moresi, 2003).
Técnicas
Para a elaboração do presente projecto as técnicas impregnadas para o levantamento de
dados foram a observação e a técnica mista de entrevista).
Observação
A observação constitui elemento fundamental para a pesquisa. Desde a formulação do
problema, passando pela construção de hipóteses, colecta, análise e interpretação dos dados,
a observação desempenha papel imprescindível no processo de pesquisa. É, todavia, na fase
de colecta de dados que o seu papel se torna mais evidente. A observação é sempre utilizada
nessa etapa, conjugada a outras técnicas ou utilizada de forma exclusiva. Por ser utilizada,
exclusivamente, para a obtenção de dados em muitas pesquisas, e por estar presente também
em outros momentos da pesquisa, a observação chega mesmo a ser considerada como
método de investigação (Gil, 2008).
A observação nada mais é que o uso dos sentidos com vistas a adquirir os conhecimentos
necessários para o cotidiano. Pode, porém, ser utilizada como procedimento científico, à
medida que:
a) Serve a um objectivo formulado de pesquisa;
b) É sistematicamente planeada;
c) É submetida a verificação e controlos de validade e precisão.
A técnica de observação serviu como base do entendimento do funcionamento da empresa
em estudo e a interacção dos colaboradores com as tecnologias de informação e comunicação
existentes no ambiente da organização. Dessa forma, antes de partir para uma solução
4
genérica, observar a rotina dos colaboradores com os meios tecnológicos, permitiu analisar
qual a solução que se adequa à situação existente.
Entrevista
A entrevista serviu para a colecta de dados relevantes à investigação, através de diálogo e
questionário disponibilizados aos funcionários e ao gerente do referido estabelecimento. A
interacção com os funcionários permitiu colectar dados mais realistas do funcionamento da
empresa e a agilidade que uma aplicação web trará na rotina do estabelecimento.
A entrevista é uma das técnicas de colecta de dados, mais utilizada no âmbito das ciências
sociais. Psicólogos, sociólogos, pedagogos, assistentes sociais e praticamente todos os outros
profissionais que tratam de problemas humanos valem-se dessa técnica, não apenas para
colecta de dados, mas também com objectivos voltados para diagnóstico e orientação (Gil,
2008).
Métodos
Método é o conjunto das actividades sistemáticas e racionais que, com maior segurança e
economia, permite alcançar o objectivo - conhecimentos válidos e verdadeiros, traçando o
caminho a ser seguido, detectando erros e auxiliando as decisões do cientista (Moresi, 2003).
Para o presente projecto foi utilizado o método indutivo.
O método indutivo faz parte desta investigação pelo facto de que as conclusões para a
implantação de uma aplicação web de atendimento ao estabelecimento poderá não trazer a
solução ao problema de partida.
Resultados esperados
Espera-se que a aplicação a que o estudo propõe, possa de facto solucionar os maiores
problemas que o restaurante enfrenta, quanto ao atendimento de pedidos. Além do mais, que
a aplicação traga agilidade, eficiência e inovação ao estabelecimento.
5
Relevância social
O estudo apresenta as seguintes relevâncias:
Valor teórico/metodológico
O valor teórico desse projecto está na contribuição para o conhecimento na interseção entre
tecnologia e restaurantes, enquanto o valor metodológico reside na aplicação de métodos de
desenvolvimento de software e pesquisa empírica para criar e avaliar a aplicação de maneira
eficaz e fundamentada.
Actualidade e novidade
Reconhece-se que muitos projectos existentes no departamento de Ensino e Investigação de
Engenharias e Telecomunicações apresentam temas relacionados ao desenvolvimento de
aplicações web e afins, no entanto, o diferencial deste projecto não é apenas o segmento do
6
negócio, mas a abertura à escalabilidade da futura aplicação segundo a demanda da empresa,
a possibilidade de aplicar tecnologias e framework modernos em qualquer de
desenvolvimento da aplicação, uso de ferramentas de gestão de projecto fora do padrão,
como o Trello, e o Feedback contínuo mesmo após a conclusão do projecto.
Em resumo, a actualidade e novidade do projecto podem ser demonstradas por meio da
incorporação de tecnologias emergentes, abordagens de design centrado no usuário,
preocupações sociais e ambientais, bem como a capacidade de se adaptar às tendências e
demandas actuais do sector de restaurantes.
7
CAPÍTULO I – SISTEMA DE INFORMAÇÃO EM APLICAÇÕES WEB DE
ATENDIMENTO
1.1.1. Dados
O conceito de dados refere-se a informações ou factos brutos que são colectados, registados
ou medidos. Esses dados podem existir em diversas formas, como números, palavras,
imagens, sons, entre outros. No contexto da tecnologia da informação e análise de dados, os
dados geralmente são considerados como o material bruto a partir do qual informações e
conhecimento são extraídos por meio de processos de organização, processamento e análise.
Ou seja, correspondem a um atributo, uma característica, uma propriedade de um objecto
que, sozinho, sem um contexto, não tem significado. Por exemplo, o número 1,95 (Rouse,
2023).
8
1.1.2. Informação
9
a partir de informação interna e externa à mesma. É neste nível quando os sistemas de
informação dirigem informação estratégica para as empresas (Jacobsen, 2014).
De acordo com Ian Sommerville (2011), software é definido como "a aplicação de uma
abordagem sistemática, disciplinada e quantificável para o desenvolvimento, operação e
manutenção do software, ou seja, a aplicação de engenharia de software."
Sommerville enfatiza que o software não é apenas um produto final, mas também um
processo de desenvolvimento contínuo que requer planeamento, design, codificação, teste,
documentação e manutenção. Ele também destaca a importância da qualidade do software,
da colaboração entre a equipe de desenvolvimento e dos processos de gerenciamento de
projectos.
Para Sommerville (2011), engenharia de software é uma disciplina de engenharia cujo foco
está em todos os aspectos da produção de software, desde os estágios iniciais da
especificação do sistema até sua manutenção, quando o sistema já está sendo usado. Há duas
expressões importantes nessa definição:
Disciplina de engenharia. Engenheiros fazem as coisas funcionarem. Eles aplicam
teorias, métodos e ferramentas onde for apropriado. No entanto, eles os usam seletivamente
e sempre tentam descobrir as soluções para os problemas, mesmo quando não há teorias e
métodos aplicáveis. Os engenheiros também reconhecem que devem trabalhar de acordo
com as restrições organizacionais e financeiras, então buscam soluções dentro dessas
restrições.
Todos os aspectos da produção de software. A engenharia de software não se
preocupa apenas com os processos técnicos do desenvolvimento de software. Ela também
10
inclui atividades como gerenciamento de projecto de software e desenvolvimento de
ferramentas, métodos e teorias para apoiar a produção de software.
A engenharia de software tem por objetivo apoiar o desenvolvimento profissional de
software, mais do que a programação individual. Ela inclui técnicas que apoiam
especificação, projecto e evolução de programas, que normalmente não são relevantes para
o desenvolvimento de software pessoal.
Principais conceitos e princípios da engenharia de software
Existem vários conceitos e princípios fundamentais na engenharia de software que ajudam
a guiar as práticas de desenvolvimento de software. Destacam-se alguns dos principais:
qualidade, processo de desenvolvimento, requisitos, projecto de software, teste de Software,
manutenção de software, gerenciamento de configuração, documentação, padrões e padrões
de codificação, gestão de projectos, segurança de software, ciclo de vida do software,
iteração e incremento (Pressman, 2015).
Estes são apenas alguns dos conceitos e princípios fundamentais da engenharia de software.
A disciplina está em constante evolução devido às mudanças tecnológicas e às necessidades
do mercado, e os engenheiros de software devem estar dispostos a adaptar-se a novas práticas
e abordagens à medida que surgem.
11
Modelo em Cascata. Fonte: sieo2014.wordpress.com (Data de acesso: 13/08/2023)
Desenvolvimento Ágil
As metodologias ágeis, como Scrum, Kanban e XP (Extreme Programming), enfatizam a
flexibilidade e a colaboração. O desenvolvimento é dividido em ciclos curtos e interativos
chamados "sprints". A priorização do trabalho, a adaptação a mudanças e o envolvimento
contínuo do cliente são características-chave.
12
Modelo Incremental
O software é desenvolvido em incrementos, ou seja, partes funcionais são construídas e
entregues em etapas. Cada incremento adiciona funcionalidade ao sistema, tornando-o
gradualmente mais completo.
13
Modelo espiral. Fonte: medium.com (Acessado aos 13/08/2023)
RUP (Rational Unified Process)
Uma metodologia que enfatiza a disciplina e a estrutura, dividindo o desenvolvimento em
fases e iterando por meio delas. Inclui orientações detalhadas para cada fase.
14
Modelo RUP. Fonte: voitto.com.br (Acessado aos 13/08/2023)
Cada processo tem as suas vantagens e desvantagens, e a escolha do processo depende do
tipo de projecto, requisitos, equipa e contexto. Muitas equipas e organizações também
adoptam abordagens híbridas que combinam elementos de diferentes processos para atender
às suas necessidades específicas.
1.3.2. Requisitos
15
Os requisitos de software podem ser divididos em diferentes categorias:
Requisitos Funcionais: descrevem as funcionalidades específicas que o software deve
fornecer. Eles definem as acções que o sistema deve realizar em resposta às entradas dos
usuários ou outros sistemas. Exemplos de requisitos funcionais incluem:
"O sistema deve permitir que os usuários façam login e acessem suas contas pessoais."
"O sistema deve permitir que os usuários adicionem itens ao carrinho de compras e efetuem
pedidos."
Requisitos Não Funcionais: descrevem as características do sistema que não estão
relacionadas a funcionalidades específicas, mas afectam a sua qualidade e desempenho. Isso
inclui requisitos de desempenho, segurança, usabilidade e outros aspectos. Exemplos de
requisitos não funcionais incluem:
"O sistema deve suportar pelo menos 1000 usuários simultâneos sem degradação de
desempenho."
"As senhas dos usuários devem ser armazenadas de forma segura, utilizando criptografia
forte."
Requisitos de Interface: descrevem como o sistema interage com outros sistemas, hardware
ou componentes externos. Isso pode incluir interfaces de usuário, integrações com sistemas
legados e comunicação com dispositivos externos.
Requisitos de Usuário: refletem as expectativas e necessidades dos usuários finais em
relação ao sistema. Eles podem incluir cenários de uso, fluxos de trabalho e preferências de
interface.
Requisitos de Sistema: descrevem as características e restrições do ambiente de
implantação, incluindo requisitos de hardware, software e infraestrutura.
Requisitos de Desempenho: especificam critérios de desempenho que o sistema deve
atender, como tempo de resposta, tempo de carregamento e capacidade de processamento.
Requisitos de Qualidade: descrevem os padrões de qualidade que o software deve atender,
incluindo confiabilidade, disponibilidade e manutenibilidade.
Requisitos de Segurança: definem medidas de segurança que o sistema deve implementar
para proteger dados sensíveis e prevenir acessos não autorizados.
Requisitos de Testes: especificam critérios e cenários de teste que serão usados para validar
o software em relação aos requisitos.
Restrições e Limitações: incluem quaisquer restrições de orçamento, prazo, recursos ou
outros factores que possam impactar o desenvolvimento do software.
16
A documentação adequada dos requisitos é crucial para o sucesso do projecto de software.
Os requisitos devem ser claros, concisos, não ambíguos e compreensíveis por todas as partes
envolvidas no projecto. A colaboração entre desenvolvedores, analistas de negócios e
stakeholders é fundamental para garantir que os requisitos sejam abordados de forma
abrangente e precisa.
1.3.3. Design
17
Testabilidade: projectar o software de forma que seja fácil de testar e depurar, incorporando
características como modularidade e injeção de dependência.
Documentação: fornecer documentação clara e abrangente para ajudar os desenvolvedores
a entenderem o design e a funcionalidade do software.
Padrões de codificação: definir directrizes de codificação e convenções para garantir
consistência e qualidade no código-fonte.
Gerenciamento de dados: projectar a estrutura de armazenamento de dados, incluindo base
de dados, esquemas e modelos de acesso a dados.
Gerenciamento de erros e excepções: planear como o software irá lidar com erros e
excepções para garantir a robustez e a confiabilidade do sistema.
18
1.3.4. Codificação
19
Versionamento: usar sistemas de controlo de versão para gerenciar o código-fonte,
facilitando a colaboração e o rastreamento de alterações.
A codificação é uma etapa essencial, mas apenas uma parte do processo de desenvolvimento
de software. Uma vez que o código é escrito, ele passa por testes rigorosos para identificar
defeitos e garantir que o software funcione conforme o planeado. A colaboração e a
comunicação eficazes entre a equipa de desenvolvimento são cruciais para garantir que a
codificação seja bem-sucedida e resulte em um software funcional e de alta qualidade.
1.3.5. Testes
20
Testes de integração: verificam a interacção e a integração entre diferentes módulos ou
componentes do sistema. O objectivo é garantir que as partes funcionem juntas conforme o
planeado.
Testes de aceitação do cliente: também conhecidos como testes de aceitação do usuário,
esses testes envolvem os usuários finais ou stakeholders validando se o software atende aos
requisitos e expectativas.
Testes de regressão: são realizados para garantir que novas alterações no código não afetem
negativamente as funcionalidades existentes. Evitam que correcções introduzam novos
problemas.
Testes funcionais: avaliam se o software está de acordo com os requisitos funcionais
especificados, garantindo que ele execute as funções planeadas.
Testes de usabilidade: avaliam a experiência do usuário, a facilidade de uso e a
navegabilidade do software.
Testes de desempenho: avaliam o desempenho do software em diferentes condições, como
carga pesada, tráfego intenso e picos de uso.
Testes de segurança: verificam se o software é resistente a ataques, como injeções de código
(SQL Injection), ataques de força bruta e outras vulnerabilidades.
Testes de compatibilidade: avaliam se o software funciona correctamente em diferentes
plataformas, navegadores e dispositivos.
Testes de estresse: testam os limites do software, expondo-o a condições extremas para
verificar o seu comportamento em situações adversas.
Testes de localização e internacionalização: verificam se o software funciona
correctamente em diferentes idiomas, regiões e culturas.
Testes de acessibilidade: avaliam se o software é acessível para pessoas com deficiência,
seguindo as directrizes de acessibilidade.
21
Execução: executar os casos de teste conforme o planeado, registando resultados e
identificando defeitos.
Relatório: documentar os resultados dos testes, incluindo defeitos encontrados e métricas
de desempenho.
Correcção e reteste: os defeitos encontrados são corrigidos pelos desenvolvedores e, em
seguida, os testes são reexecutados para verificar a correcção.
Validação: verificar se os requisitos foram atendidos e se o software está pronto para ser
lançado.
Avaliação: avaliar o processo de testes, identificar áreas de melhoria e fazer ajustes para
futuros projectos.
Os testes de software são contínuos e devem ser realizados ao longo de todo o ciclo de vida
do desenvolvimento para garantir a qualidade e a confiabilidade do software. Eles
desempenham um papel crucial na identificação e correção de problemas, assegurando que
o software atenda aos requisitos e expectativas dos usuários finais.
22
1.3.6. Implantação e manutenção
Para Sommerville (2011) a implantação e manutenção de software são etapas críticas que
ocorrem após o desenvolvimento do software e visam disponibilizar o produto aos usuários
finais, garantir a sua operação eficaz e realizar actualizações e melhorias contínuas ao longo
do tempo. Essas fases são fundamentais para garantir que o software seja utilizado com
sucesso, atendendo às necessidades dos usuários e mantendo-se actualizado e funcional.
Implantação de Software:
Planeamento de implantação: definir uma estratégia de implantação que inclua a selecção
de ambientes de implantação, hardware necessário e cronograma de lançamento.
Preparação: preparar o ambiente de implantação, configurando servidores, bases de dados,
redes e outros recursos necessários para a execução do software.
Testes pré-implantação: realizar testes finais no ambiente de produção simulado para
garantir que tudo esteja funcionando correctamente antes do lançamento.
Implantação real: colocar o software em produção, tornando-o acessível aos usuários finais.
Monitoramento inicial: monitorar de perto o software após a implantação para identificar
problemas imediatos e garantir que a transição para a produção seja bem-sucedida.
Treinamento do usuário: fornecer treinamento aos usuários finais para garantir que eles
entendam como usar o software de maneira eficaz.
24
usuário, manuais técnicos, testes, APIs e muito mais. A documentação ajuda a compreender,
colaborar e manter o software ao longo do tempo. Ela beneficia equipas de desenvolvimento,
usuários finais e stakeholders, oferecendo transparência, suporte a manutenção,
conformidade, transferência de conhecimento e treinamento. A documentação precisa ser
clara, actualizada e diversificada, podendo ser em formatos impressos ou electrónicos, como
documentos, wikis, vídeos e tutoriais (Pressman, 2015).
Tipos de documentação de software:
1. Documentação de Requisitos
2. Documentação de Design
3. Documentação de Código
4. Manuais do Usuário
5. Manuais Técnicos
6. Documentação de Testes
7. Documentação de APIs e SDKs
8. Documentação de Base de Dados
9. Documentação de Processos
10. Documentação de Segurança
Benefícios da documentação de software:
1. Compreensão e Colaboração
2. Facilitação da Manutenção
3. Transparência e Conformidade
4. Transferência de Conhecimento
5. Suporte a Treinamento
6. Redução de Riscos
7. Integração e implementação simplificadas
1.3.9. Qualidade de Software
25
Aspectos da qualidade de software:
Funcionalidade: o software deve executar todas as funções e operações conforme definido
nos requisitos. Ele deve fornecer as funcionalidades esperadas sem erros ou falhas.
Desempenho: o software deve atender aos requisitos de desempenho, como tempo de
resposta, capacidade de carga e eficiência.
Usabilidade: o software deve ser fácil de usar, intuitivo e amigável para os usuários,
garantindo uma boa experiência do usuário.
Confiabilidade: o software deve ser confiável e estável, evitando falhas e comportamentos
inesperados durante o uso normal.
Manutenibilidade: o software deve ser de fácil manutenção, permitindo que actualizações,
correcções e melhorias sejam feitas com eficiência.
Portabilidade: o software deve ser capaz de ser executado em diferentes plataformas e
ambientes sem grandes modificações.
Segurança: o software deve proteger os dados e as informações dos usuários, prevenindo
vulnerabilidades e ataques.
Documentação: o software deve ser bem documentado, fornecendo informações claras
sobre a sua funcionalidade, design e uso.
Testabilidade: o software deve ser projetado para facilitar testes abrangentes e eficazes.
Padrões de codificação: o software deve aderir a padrões de codificação para garantir
consistência, legibilidade e manutenção.
Escalabilidade: o software deve ser capaz de lidar com aumento de carga e demanda,
escalando conforme necessário.
Reusabilidade: componentes do software devem ser projetados de forma a serem
reutilizáveis em diferentes partes do sistema.
26
Processos de desenvolvimento: adoptar metodologias de desenvolvimento ágeis e boas
práticas de engenharia de software.
Automatização: utilizar ferramentas de automação para testes, integração contínua e entrega
contínua.
Acompanhamento e melhoria contínua: monitorar e avaliar constantemente a qualidade
do software e implementar melhorias conforme necessário.
Colaboração e comunicação: promover a colaboração eficaz entre equipas e stakeholders
para garantir que todos tenham uma compreensão clara dos requisitos e expectativas.
A busca pela qualidade de software é essencial para garantir que os sistemas sejam
confiáveis, eficazes e satisfaçam as necessidades dos usuários. Ela requer um compromisso
contínuo com as melhores práticas, aprimoramento constante e atenção aos detalhes em
todas as fases do ciclo de vida do desenvolvimento de software.
28
de técnicas, ferramentas e habilidades interpessoais para gerenciar com eficácia recursos,
riscos e expectativas ao longo de todo o ciclo de vida do projecto.
1.3.11. Melhoria contínua
Uma aplicação web é um software que é acessado por meio de um navegador web em um
dispositivo cliente e executado em um servidor remoto. As aplicações web são projectadas
para serem usadas pela Internet e, geralmente, são escritas em linguagens de programação
como HTML, CSS, JavaScript e PHP.
De acordo com Roger S. Pressman (2015), em seu livro "Engenharia de Software: uma
abordagem profissional", as aplicações web são caracterizadas por três componentes
principais: o servidor web, que hospeda e executa a aplicação; o cliente web, que acessa a
29
aplicação por meio de um navegador web; e a rede, que permite a comunicação entre o
cliente e o servidor.
Pressman enfatiza que o desenvolvimento de aplicações web envolve desafios específicos,
como a segurança na comunicação de dados, o gerenciamento de sessões do usuário e a
escalabilidade do sistema.
30
Ferramentas de Gerenciamento de Pacotes: Gerenciadores de pacotes como npm
(Node.js), pip (Python) ou Composer (PHP) ajudam a instalar e gerenciar bibliotecas de
terceiros.
Ferramentas de Controlo de Versão: Ferramentas como Git e sistemas de hospedagem
como GitHub, GitLab ou Bitbucket para controlo de versão e colaboração em equipa.
Ferramentas de Implantação: Ferramentas para automatizar a implantação de aplicações
em servidores, como Docker e Kubernetes.
Ferramentas de Optimização e Monitoramento: Ferramentas para optimizar o
desempenho da aplicação e monitorar o seu comportamento em produção, como Google
PageSpeed Insights, New Relic e Grafana.
31
Autenticação e Autorização: Bibliotecas como JWT (JSON Web Tokens) e OAuth são
usadas para gerenciar o acesso seguro aos recursos da aplicação.
Essas tecnologias são selecionadas com base nas necessidades e requisitos específicos de
cada projecto e são escolhidas para fornecer soluções eficazes e eficientes para o
desenvolvimento e operação de aplicações web (Robbins, 2012).
Aplicações web para gestão de restaurantes são sistemas baseados na web desenvolvidos
para ajudar os proprietários e gerentes de restaurantes a administrar e optimizar diversas
actividades e processos relacionados às operações diárias de um restaurante. Essas
aplicações são projectadas para melhorar a eficiência, organização, tomada de decisões e
experiência do cliente em estabelecimentos gastronómicos. Elas podem abranger uma ampla
variedade de funcionalidades e módulos, dependendo das necessidades específicas do
restaurante. Algumas características comuns incluem:
Gestão de Pedidos: acompanhamento de pedidos, integração com cozinha e monitoramento
em tempo real do status dos pedidos.
Reservas e Gerenciamento de Mesas: possibilidade de fazer reservas online, designação
de mesas, gerenciamento de ocupação e otimização de fluxo de clientes.
Cardápio Digital: exibição de cardápio online, personalização de pedidos e informações
sobre ingredientes e alergias.
32
Gestão de Funcionários: acompanhamento de horários de trabalho, atribuições de tarefas e
comunicação interna.
Gestão de Eventos: planeamento, promoção e organização de eventos especiais ou reservas
para grupos.
Integração de Terceiros: integração com serviços de entrega, aplicativos de entrega de
alimentos e sistemas de reservas externos.
Essas aplicações web para gestão de restaurantes visam melhorar a experiência tanto para os
clientes quanto para a equipa, ao automatizar processos e fornecer ferramentas de análise
para tomar decisões informadas. Elas também são particularmente úteis para optimizar
operações e se adaptar às demandas em constante mudança da indústria de restaurantes
(Brown, 2014).
1.7.1. Exemplo de aplicações web para gestão de atendimento em restaurantes
Aqui estão alguns exemplos de aplicações web para gestão de restaurantes que são populares
e amplamente utilizados na indústria:
Toast: o Toast é uma plataforma completa de gestão de restaurantes que abrange desde
pedidos e pagamentos até relatórios e análises de dados. Ele oferece soluções para
restaurantes de todos os tamanhos e tipos, incluindo gerenciamento de pedidos, reservas de
mesas, processamento de pagamentos e integração com aplicativos de entrega de alimentos.
OpenTable: o OpenTable é uma plataforma de reservas e gestão de mesas que permite que
os clientes façam reservas online em restaurantes. Ele também oferece recursos de
gerenciamento de ocupação e avaliações, permitindo que os restaurantes optimizem o fluxo
de clientes e melhorem a experiência do cliente.
Square for Restaurants: A Square oferece uma variedade de soluções para empresas,
incluindo uma plataforma de gestão de restaurantes que abrange pedidos, pagamentos,
reservas e relatórios. Ela também se integra a outras ferramentas da Square, como
processamento de pagamentos e gestão de estoque.
TouchBistro: especializado em restaurantes, bares e cafés, o TouchBistro oferece um
sistema de ponto de venda (POS) baseado em iPad que inclui recursos de gestão de pedidos,
gerenciamento de mesas, divisão de contas e análises de desempenho.
Lightspeed Restaurant: o Lightspeed Restaurant oferece um sistema de POS projetado para
restaurantes, bares e cafés. Ele abrange pedidos, gestão de mesas, integração com entregas
de alimentos, fidelidade do cliente e relatórios avançados.
33
Upserve: anteriormente conhecido como Breadcrumb, o Upserve oferece uma plataforma
completa de gestão de restaurantes, incluindo POS, análises de vendas, gerenciamento de
cardápio e integração com reservas e entrega.
GloriaFood: especializado em delivery e restaurantes que oferecem serviço de takeaway, o
GloriaFood oferece um sistema de pedidos online, cardápio digital e ferramentas de
gerenciamento de pedidos.
Resy: o Resy é uma plataforma de reservas e gestão de restaurantes que permite que os
clientes façam reservas em restaurantes populares. Ele também oferece recursos de
gerenciamento de mesas e lista de espera.
Bookatable: semelhante ao Resy, o Bookatable é uma plataforma de reservas online que
conecta os clientes aos restaurantes e oferece recursos de gerenciamento de mesas e
relatórios.
ChowNow: o ChowNow é focado em pedidos e entregas de alimentos. Ele oferece um
sistema de pedidos online para restaurantes que desejam oferecer opções de delivery ou
retirada.
No Brasil, Portugal e Angola, algumas das aplicações web para gestão de restaurantes que
podem ser mais usadas incluem:
Brasil:
iFood: embora seja mais conhecido como um aplicativo de entrega de alimentos, o iFood
também oferece soluções de gestão para restaurantes, como pedidos online, gestão de
entregas e cardápio digital.
Aiqfome: similar ao iFood, o Aiqfome é outro aplicativo que oferece recursos de pedidos
online e delivery para restaurantes, especialmente em cidades do interior.
Goomer: o Goomer fornece soluções de cardápio digital e pedidos por meio de dispositivos
móveis para restaurantes, permitindo que os clientes façam pedidos directamente dos seus
smartphones.
Portugal:
Zomato: além de ser uma plataforma popular para busca de restaurantes e avaliações de
clientes, o Zomato também oferece serviços de reservas e entrega em algumas cidades de
Portugal.
TheFork: conhecido anteriormente como "Fork," o TheFork é uma plataforma de reservas
online para restaurantes que permite aos clientes fazer reservas directamente.
34
Uber Eats: embora seja um aplicativo de entrega de alimentos, o Uber Eats também oferece
soluções para restaurantes parceiros, como pedidos online e entrega.
Angola:
Kapten Delivery: um aplicativo de entrega de alimentos que também pode oferecer soluções
para restaurantes locais em Angola.
Comer Em Angola: um site que oferece informações sobre restaurantes, incluindo
avaliações de clientes e reservas.
Aiky: outro aplicativo de entrega de alimentos que pode oferecer opções de pedidos online
e delivery para restaurantes locais.
4 Rest – Gestão de Restaurante: Este é um software certo para as grandes e melhores
Restaurantes, Snack Bares, Lanchonetes, Pizzarias e outros estabelecimentos da área de
restauração. Composto por um front-end moderno e muito fácil de se usar. Com
possibilidade de atendimento de várias mesas em simultâneo.
Esses são alguns exemplos de aplicações web para gestão de restaurantes. Cada uma delas
possui características e recursos específicos para atender às necessidades variadas dos
restaurantes e as suas operações.
35
Validação de Dados e Entradas: validar todas as entradas de dados dos usuários para evitar
ataques de injeção, como SQL Injection e Cross-Site Scripting (XSS). Isso envolve filtrar e
escapar dados para garantir que não sejam executados códigos maliciosos.
Controlo de Sessão: gerenciar as sessões de usuário de forma segura, usando tokens de
sessão, expiração de sessões inativas e prevenção de ataques de sessão.
Proteção contra-ataques: implementar protecções contra-ataques comuns, como Cross-
Site Request Forgery (CSRF), Cross-Site Script Inclusion (XSSI) e outros tipos de
exploração de vulnerabilidades.
Actualizações de Software: manter todos os componentes da aplicação actualizados,
incluindo sistemas operacionais, servidores web, bibliotecas e frameworks, para evitar
explorações de vulnerabilidades conhecidas.
Gestão de Erros e Registos: tratar os erros de forma segura, sem expor informações
sensíveis, e manter registos de actividades para rastreamento de eventos suspeitos.
Testes de Segurança: realizar testes de segurança regulares, como testes de penetração e
avaliações de vulnerabilidades, para identificar possíveis pontos fracos na aplicação.
Princípio do Menor Privilégio: atribuir apenas as permissões necessárias a usuários e
processos, minimizando o risco de comprometimento de dados.
Educação e Treinamento: fornecer treinamento em segurança para a equipe de
desenvolvimento e conscientização sobre as melhores práticas de segurança.
36
Cross-Site Scripting (XSS): permite que um invasor injete scripts maliciosos em páginas
da web exibidas para outros usuários, podendo roubar informações de sessão ou redirecionar
para sites falsos.
Injection Attacks: isso ocorre quando entradas não confiáveis são directamente
interpretadas como código. Exemplos incluem SQL Injection e Command Injection.
Cross-Site Request Forgery (CSRF): permite que um invasor force um usuário a realizar
acções indesejadas em uma aplicação em que o usuário está autenticado.
Autenticação e Gestão de Sessão Insegura: uso inadequado de autenticação e controlo de
sessão, levando a roubo de credenciais e acesso não autorizado.
Exposição de Dados Sensíveis: falha em proteger informações sensíveis, como senhas,
informações de cartão de crédito e dados pessoais.
XML External Entity (XXE) Attack: explora vulnerabilidades em processamento XML,
permitindo que invasores leiam arquivos do sistema ou executem ações não autorizadas.
Security Misconfiguration: configurações inadequadas de segurança em servidores,
frameworks, bancos de dados e outras partes da infraestrutura.
Deserialização insegura: explorações em processos de deserialização, permitindo que
invasores executem códigos arbitrários.
Insegurança em Componentes: uso de componentes com vulnerabilidades conhecidas,
como bibliotecas desactualizadas ou com problemas de segurança.
Falta de Monitoramento e Registos de Segurança: falta de detecção e registo de
actividades suspeitas ou eventos de segurança. Melhores práticas no desenvolvimento de
aplicações web para restaurantes.
Desenvolver aplicações web para restaurantes requer considerações específicas para garantir
que a aplicação seja segura, eficiente e atenda às necessidades do setor de restaurantes. Aqui
estão algumas melhores práticas a serem seguidas no desenvolvimento de aplicações web
para restaurantes:
Segurança da Informação:
Implementar medidas robustas de segurança, como autenticação forte e criptografia de
dados.
Proteger contra vulnerabilidades comuns, como XSS, SQL Injection e CSRF.
Manter sistemas e bibliotecas actualizados para evitar vulnerabilidades conhecidas.
37
Realizar testes de penetração e avaliações de segurança regularmente.
Design Responsivo:
Desenvolver uma interface responsiva que se adapte a diferentes tamanhos de tela, incluindo
smartphones e tablets.
Garantir uma experiência de usuário consistente em todas as plataformas.
Cardápio Digital Interativo:
Criar um cardápio digital fácil de navegar e actualizar.
Incluir imagens e descrições detalhadas dos pratos para atrair os clientes.
Considerar adicionar recursos interativos, como filtros de busca e opções de personalização.
Gestão de Pedidos e Reservas:
Implementar um sistema eficiente para gerenciamento de pedidos e reservas.
Fornecer confirmações instantâneas de pedidos e reservas aos clientes.
Integrar notificações em tempo real para actualizações de status dos pedidos.
Integração de Pagamentos Online:
Oferecer várias opções de pagamento online seguras e confiáveis.
Certificar-se de que os processos de pagamento sejam intuitivos e protegidos.
Integração com Redes Sociais:
Integrar a aplicação com as redes sociais para permitir que os clientes compartilhem
experiências e avaliações.
Considerar a possibilidade de permitir que os clientes façam login usando contas de redes
sociais.
Feedback e avaliações:
Incluir um sistema de feedback e avaliações para que os clientes possam compartilhar
feedback.
Monitorar e responder às avaliações para melhorar o atendimento ao cliente.
Programas de fidelidade e promoções:
Integrar programas de fidelidade para incentivar os clientes a retornarem.
Oferecer promoções especiais, descontos ou ofertas exclusivas para clientes frequentes.
Performance e velocidade:
Optimização de desempenho para garantir tempos de carregamento rápidos.
Minimizar o uso de recursos e optimizar imagens para melhorar a velocidade.
38
Testes e feedback de usuários:
Realizar testes extensivos com usuários reais para identificar problemas de usabilidade e
experiência do cliente.
Estar aberto ao feedback dos usuários e fazer ajustes com base nas sugestões.
Privacidade de dados:
Cumprir as regulamentações de privacidade de dados, como o Regulamento Geral de
Proteção de Dados (GDPR) na União Europeia.
Obter consentimento adequado para colecta e uso de dados pessoais.
Treinamento da equipa:
Fornecer treinamento adequado para a equipa do restaurante sobre como usar e aproveitar a
aplicação.
Garantir que a equipa esteja pronta para lidar com os processos de pedidos, reservas e
interações online.
Lembrar que as melhores práticas podem variar com base nas necessidades específicas do
restaurante e das preferências dos clientes. É importante manter-se actualizado com as
tendências tecnológicas e as necessidades da indústria de restaurantes para criar uma
aplicação web de sucesso (Robbins, 2012).
39
CAPÍTULO II- CARACTERIZAÇÃO DA EMPRESA EM ESTUDO E PLANO DE
GESTÃO DO PROJECTO
O Restaurante & Churrascaria Mambos Gil é um verdadeiro oásis gastronômico que oferece
uma experiência culinária única. Com a sua atmosfera acolhedora e sofisticada, o Mambos
Gil combina o charme de um restaurante clássico com a tradição de um autêntico churrasco.
Os clientes são recebidos por uma equipa calorosa e profissional, pronta para proporcionar
um serviço excepcional. O cardápio diversificado apresenta uma variedade de pratos, desde
suculentos cortes de carne grelhada até opções vegetarianas e pratos de frutos do mar frescos.
Além da excelente comida, o ambiente do Mambos Gil é perfeito para encontros casuais ou
celebrações especiais.
Com uma decoração elegante e uma atmosfera descontraída, este restaurante é o local ideal
para desfrutar de uma refeição memorável com amigos e familiares. O Restaurante &
Churrascaria Mambos Gil se destaca não apenas pela qualidade da sua comida, mas também
pela hospitalidade angolana que proporciona aos seus clientes. É o destino perfeito para
quem busca uma experiência gastronómica autêntica e inesquecível em Luanda, Angola.
2.2. Papel da empresa
2.3. Missão
40
2.4. Visão
2.5. Localização
O Restaurante & Churrascaria Mambos Gil, está localizada na vibrante cidade de Luanda,
na área na província de Luanda, Angola.
Organigrama do restaurante & churrascaria Mambos Gil, 2023. Fonte: Gerente da empresa.
41
também permitirá que os clientes visualizem o menu do restaurante, com fotos e descrições
dos pratos, e possam fazer pedidos online, que serão enviados directamente para a cozinha.
Para os funcionários do restaurante, a aplicação terá um painel de gestão, que permitirá que
eles visualizem todas as reservas e pedidos em tempo real, e possam gerenciar a alocação de
mesas e a preparação dos pratos. O sistema também permitirá que os funcionários monitorem
o tempo de espera dos clientes e possam enviar actualizações sobre o status do pedido.
Além disso, a aplicação contará com um sistema de feedback dos clientes, que poderão
deixar comentários e avaliações sobre a experiência no restaurante, o que ajudará o
restaurante a melhorar os seus serviços e atendimento.
O projecto será desenvolvido com base nas melhores práticas de desenvolvimento de
software e seguirá uma abordagem ágil, com a participação dos usuários finais em todas as
fases do projecto, desde a concepção até a implementação e testes finais. A aplicação será
desenvolvida utilizando tecnologias web modernas e será compatível com todos os
principais navegadores.
42
Visão geral do projecto. Elaborado pelas autoras.
43
2.8. Plano de gestão do projecto
44
o sucesso do projecto. Os riscos serão avaliados regularmente e medidas serão tomadas para
minimizá-los.
6. Comunicação do projecto: A comunicação será fundamental para garantir o sucesso do
projecto. Serão realizadas reuniões regulares com a equipa e os representantes dos
Restaurante & Churrascaria Mambos Gil para manter todos informados sobre o progresso
do projecto, discutir questões e tomar decisões importantes.
7. Testes e qualidade: A qualidade da aplicação será uma prioridade durante todo o projecto.
Testes serão realizados regularmente para garantir que a aplicação esteja funcionando
corretamente e atendendo aos requisitos do cliente.
8. Implementação e treinamento: após a conclusão do desenvolvimento da aplicação, a
equipa será responsável por implementar a aplicação, configurar o ambiente de hospedagem
e treinar os funcionários do restaurante sobre como usar a aplicação.
9. Manutenção e suporte: após a implementação, a equipa será responsável por fornecer
manutenção e suporte contínuos para garantir que a aplicação continue funcionando
corretamente e atendendo às necessidades do cliente.
O plano de gestão do projecto será actualizado regularmente para garantir que o projecto
esteja dentro do prazo, dentro do orçamento e atenda aos requisitos do cliente.
45
que podem ser integrados à aplicação. A equipa do restaurante está disposta a se adaptar à
nova ferramenta e treinar os funcionários para usar a aplicação.
4. Análise de mercado: A análise de mercado mostrou que há uma demanda crescente por
aplicativos de gestão de atendimento para restaurantes, especialmente após a pandemia de
COVID-19 que aumentou a necessidade de serviços online. Além disso, os concorrentes
directos do restaurante já oferecem aplicativos de gestão de atendimento, tornando
necessário que o restaurante acompanhe essa tendência para permanecer competitivo.
5. Análise de risco: foram identificados alguns riscos no projecto, como possíveis atrasos
na implementação e custos adicionais imprevistos. No entanto, medidas serão tomadas para
mitigar esses riscos, incluindo a criação de um cronograma realista e um orçamento
detalhado.
Com base nesse estudo de viabilidade, conclui-se que o projecto de aplicação web de gestão
de atendimento para o restaurante em estudo é viável e tem o potencial de melhorar
significativamente a eficiência e qualidade do atendimento aos clientes.
Para a gestão do projecto de aplicação web de gestão de atendimento para o Restaurante &
Churrascaria Mambos Gil serão utilizadas as seguintes ferramentas:
1. Trello: o Trello é uma ferramenta de gerenciamento de projectos baseada em quadros. Ele
permite que a equipa do projecto crie quadros para cada fase do projecto, adicione tarefas a
cada quadro e atribua tarefas a membros da equipa. Também é possível definir prazos,
adicionar comentários e anexar arquivos aos cartões. O Trello será usado para gerenciar as
tarefas e o progresso do projecto.
2. Google Drive: o Google Drive é uma plataforma de armazenamento em nuvem que
permite armazenar e compartilhar arquivos. Ele será usado para compartilhar documentos
do projecto, como planilhas de orçamento, especificações técnicas e cronogramas. A equipa
do projecto poderá acessar e editar esses documentos em tempo real, facilitando a
colaboração e a comunicação.
3. Slack: o Slack é uma ferramenta de comunicação baseada em mensagens instantâneas.
Ele permitirá que a equipa do projecto se comunique rapidamente e compartilhe informações
importantes. Além disso, o Slack pode ser integrado com outras ferramentas, como o Trello
e o Google Drive, para fornecer notificações automáticas quando ocorrerem alterações no
projecto.
46
4. GitHub: o GitHub é uma plataforma de gerenciamento de código-fonte. Ele será usado
para armazenar e controlar as versões do código-fonte da aplicação web. Isso permitirá que
a equipa do projecto trabalhe em conjunto no código-fonte, controle as alterações feitas e
mantenha um registo de todas as versões do código.
5. Skype ou Zoom: essas ferramentas de videoconferência serão usadas para reuniões online
entre a equipa do projecto e os stakeholders. Eles permitem que as pessoas se comuniquem
de forma eficaz em tempo real, mesmo que estejam em locais diferentes.
Essas ferramentas ajudarão a equipa do projecto a gerenciar efetivamente o projecto e a
manter uma comunicação clara e eficaz entre os membros da equipa e os stakeholders.
47
7. Orçamento: o projecto também exigirá um orçamento adequado para cobrir os custos de
desenvolvimento, hospedagem, testes, marketing e outros custos associados à criação e
lançamento de uma aplicação web de alta qualidade.
8. Feedback do usuário: é importante considerar a opinião dos usuários finais da aplicação
web para garantir que a solução atenda às suas necessidades e expectativas. Isso pode exigir
a realização de pesquisas de mercado, testes de usuário e feedback contínuo durante o
processo de desenvolvimento.
Análise de riscos:
1. Atraso na entrega do projecto: pode ocorrer atraso na entrega do projecto devido a
problemas técnicos ou de comunicação dentro da equipa de desenvolvimento. Isso pode
resultar em uma perda de receita para o Restaurante & Churrascaria Mambos Gil e danificar
a reputação da equipa de desenvolvimento.
2. Problemas de segurança: a aplicação web pode estar vulnerável a ataques de hackers,
resultando em violação de dados de clientes ou roubo de informações sensíveis do
restaurante.
3. Mudança de requisitos: pode ocorrer uma mudança nos requisitos do projecto, o que
pode afetar o cronograma e o orçamento.
4. Problemas de desempenho: a aplicação web pode não funcionar conforme o esperado
devido a problemas de desempenho, resultando em uma experiência ruim do usuário e
danificando a reputação do restaurante.
Plano de contingência:
1. Gerenciamento de projecto: um gerente de projecto será responsável por supervisionar
o desenvolvimento do projecto e garantir que ele esteja em conformidade com o cronograma
e orçamento estabelecidos. O gerente de projecto também garantirá que as informações
sejam compartilhadas de forma eficaz e que a equipa de desenvolvimento esteja trabalhando
de maneira eficiente.
2. Segurança: a equipa de desenvolvimento utilizará boas práticas de segurança, incluindo
a implementação de criptografia de dados e autenticação de usuários. Também serão
realizadas auditorias regulares de segurança para identificar vulnerabilidades e implementar
medidas de protecção adicionais.
48
3. Gerenciamento de requisitos: um processo formal de gerenciamento de mudanças será
implementado para lidar com quaisquer mudanças nos requisitos do projecto. As mudanças
serão avaliadas em relação ao cronograma e orçamento estabelecidos antes de serem
aprovadas.
4. Testes e desempenho: serão realizados testes rigorosos de desempenho para garantir que
a aplicação web esteja funcionando correctamente. Serão implementadas medidas para
monitorar o desempenho da aplicação em tempo real e tomar medidas correctivas se
necessário.
Em caso de falha do projecto, será necessário um plano de recuperação que inclui um
processo formal de revisão de falhas e uma análise dos custos envolvidos na correcção do
problema.
49
5. Gerenciamento de projectos: Este é o custo de gerenciamento do projecto, incluindo o
salário do gerente de projectos, despesas relacionadas a ferramentas de gerenciamento de
projectos e quaisquer custos relacionados a comunicações com o cliente.
O orçamento total do projecto pode ser determinado através da soma dos custos de cada
categoria. Nessa senda o custo previsto é de 1.170.000,00 Kz. É importante lembrar que os
custos podem variar dependendo da complexidade e duração do projecto, e é recomendado
criar uma margem para eventuais imprevistos e contingências.
50
3.2. Definição da aplicação
A aplicação web de gestão de atendimento para o Restaurante & Churrascaria Mambos Gil
é uma solução tecnológica que visa melhorar a experiência dos clientes e a eficiência
operacional do restaurante. Com essa aplicação, os clientes podem fazer pedidos
directamente pela internet, pagar suas contas e verificar o histórico de pedidos anteriores.
Além disso, os funcionários do restaurante têm acesso a ferramentas de gerenciamento de
pedidos, estoque e mesas, o que torna a operação mais eficiente e produtiva.
A aplicação é baseada em um modelo de acesso seguro, onde os usuários precisam se
autenticar antes de acessar as funcionalidades disponíveis. Os clientes podem acessar o menu
do restaurante, fazer pedidos, fazer pagamentos e verificar seus históricos de pedidos. Os
funcionários do restaurante, por sua vez, têm acesso a um painel de controlo que permite o
gerenciamento de pedidos, a aprovação ou rejeição de pedidos, o gerenciamento de estoque,
o gerenciamento de mesas e a comunicação interna.
A aplicação web utiliza tecnologia moderna para garantir uma experiência de usuário
eficiente e intuitiva. Os usuários podem acessar a aplicação de qualquer dispositivo com
acesso à internet, incluindo smartphones, tablets e computadores. Além disso, a aplicação é
projectada para ser fácil de usar e requer apenas uma curva de aprendizado mínima.
Com a aplicação web de gestão de atendimento, o Restaurante & Churrascaria Mambos Gil
poderá oferecer uma experiência aprimorada aos seus clientes e ao mesmo tempo melhorar
a sua eficiência operacional, economizando tempo e recursos. A aplicação permite uma
comunicação mais rápida e eficiente entre os funcionários e os clientes, facilitando a
coordenação e aumentando a satisfação dos clientes.
51
3.4.1. Planeamento
Nesta fase, o Product Owner definiu o backlog do produto, que é uma lista priorizada de
requisitos e funcionalidades da aplicação. A equipa de desenvolvimento definiu o backlog
da sprint, que é uma lista de tarefas a serem realizadas durante a sprint, que foi um período
de tempo fixo de duas a quatro semanas. Essas tarefas que foram apresentadas como história
de usuário formaram os requisitos da aplicação ao longo das sprints. O objectivo foi definir
as tarefas que serão realizadas na próxima sprint. A tabela X representa o Backlog do
produto.
História Usuário Descrição
Garçom
Gerenciar Como um atendente, eu quero poder marcar mesas como ocupadas
disponibilidade de ou livres no sistema para que os clientes possam ser direcionados
mesas adequadamente.
Acesso a pedidos Como um garçom, eu quero ter acesso fácil a informações sobre
especiais pedidos especiais, como alergias alimentares ou solicitações de
preparo diferenciado.
Informações do Como um atendente, eu quero poder acessar informações
Menu detalhadas sobre cada item do menu para fornecer informações
precisas aos clientes.
Atendimento de Como um garçom, eu quero ter a capacidade de registrar os pedidos
Pedidos dos clientes diretamente na aplicação para garantir precisão e
eficiência.
Acesso ao Painel Como um funcionário, eu quero poder fazer login em um painel de
de Controle controle específico para acessar informações relevantes para o meu
papel, como pedidos a serem preparados e mesas a serem atendidas.
Histórico de Como um funcionário, eu quero poder visualizar um histórico de
Atendimentos atendimentos anteriores de um cliente para oferecer um serviço
personalizado e melhorar a experiência.
Notificações de Cozinheiro
Pedidos Como um cozinheiro, eu quero receber notificações em tempo real
sobre novos pedidos para que eu possa iniciar o preparo
imediatamente.
52
Visualização de Host
Reservas Como um host, eu quero poder visualizar todas as reservas
confirmadas para o dia e gerenciar o fluxo de cliente mais eficaz.
Como um host, eu quero poder gerenciar as reservas e o fluxo de
clientes de forma eficaz.
Análise de Dados e Como um gerente, eu quero visualizar métricas-chave para tomar
Relatórios de decisões informadas sobre o negócio.
Desempenho Como um proprietário do restaurante, eu quero ter acesso a
relatórios de desempenho, incluindo vendas, pedidos, avaliações e
tendências.
Reservas e Cliente
Eventos Especiais Como um cliente, eu quero poder reservar uma mesa para uma data
e horário específicos.
3.4.2. Sprint
53
SPRINT 4 (2 Semanas) SPRINT 5 (2 Semanas) SPRINT 6 (2 Semanas)
Cada sprint foi planeada em conjunto com a equipa de desenvolvimento, Product Owner e
demais stakeholders, com base no backlog do produto e nos objectivos de curto prazo. As
sprints permitiram um progresso contínuo entregando valor aos clientes a cada iteração e
permitindo a adaptação a mudança de requisitos ou prioridades ao longo do tempo.
3.4.3. Revisão
54
D
Diagrama de classe
56
Cada reserva está associada a uma mesa específica no restaurante. Portanto, existe
um relacionamento "1 para N" entre a entidade "Reserva" e a entidade "Mesa".
Uma reserva pode resultar em um ou vários pedidos. Portanto, existe um
relacionamento "1 para N" entre a entidade "Reserva" e a entidade "Pedido".
Cada pedido pode conter um ou vários itens de menu. Portanto, existe um
relacionamento "N para M" entre a entidade "Pedido" e a entidade "Item de Menu" (por meio
da entidade associativa "ItemPedido").
Cada item de menu está associado a um produto específico disponível no restaurante.
Portanto, existe um relacionamento "1 para N" entre a entidade "Item de Menu" e a entidade
"Produto".
Cada pedido gera uma fatura que deve ser paga pelo cliente. Portanto, existe um
relacionamento "1 para 1" entre a entidade "Pedido" e a entidade "Fatura".
Cada fatura pode ter um ou vários pagamentos. Portanto, existe um relacionamento
"1 para N" entre a entidade "Fatura" e a entidade "Pagamento".
Cada usuário do sistema tem um papel específico, como funcionário ou
administrador.
Portanto, existe um relacionamento "1 para N" entre a entidade "Usuário" e a
entidade "Papel".
Tela 1 - Login
57
Tela 2 – Home
58
Tela 4-Refeições
Tela 5-Sobremesas
59
Tela 6-Consulta de clientes
60
Tela 8-Pedidos-feitos
61
Tela 11-Consulta de reservas
62
Tela 14-Fatura
63
Existem diversas ferramentas que foram utilizadas para o desenvolvimento da aplicação web
de gestão de atendimento para o Restaurante & Churrascaria Mambos Gil. Algumas das
ferramentas mais comuns são:
1. Linguagem de programação: para o desenvolvimento da aplicação web, foi necessário
escolher uma linguagem de programação que fosse adequada para o projecto. As linguagens
de desenvolvimento usadas foram JavaScript e PHP.
2. Frameworks: Frameworks são ferramentas que fornecem uma estrutura básica para o
desenvolvimento de aplicações web. Os frameworks utilizados para o desenvolvimento da
aplicação web são React, Angular e Vue.js.
3. Base de dados: uma base de dados é fundamental para armazenar os dados da aplicação.
A base de dados utilizado foi o MySQL.
4. Ambiente de desenvolvimento integrado (IDE): uma IDE é uma ferramenta que ajuda os
desenvolvedores a escrever, testar e depurar código. A IDEs popular utilizada para essa
aplicação é o Visual Studio Code.
5. Controlo de versão: para o gerenciamento do código-fonte e colaboração em equipa, foi
usado o GitHub.
6. Ferramentas de comunicação e colaboração: para facilitar a comunicação e colaboração
entre a equipa de desenvolvimento e outros stakeholders do projecto, foram úteis ferramentas
como Slack e Trello.
7. Ferramentas de testes: para garantir a qualidade da aplicação, foi importante utilizar a
seguinte ferramentas de teste Jest, Mocha, Selenium e Cypress.
8. Ferramentas de integração e entrega contínua: para facilitar a integração e entrega de
novas funcionalidades, as ferramentas como Jenkins e CircleCI foram úteis.
É importante ressaltar que a escolha das ferramentas foi baseada nas necessidades
específicas do projecto e da equipa de desenvolvimento.
64
3.8.1. Recursos humanos
65
3.8.2. Recursos materiais
66
adequada e um ambiente silencioso para facilitar
a concentração.
67
3.10. Requisitos necessários para instalação da aplicação
Para instalar e executar a aplicação web de gestão de atendimento para o Restaurante &
Churrascaria Mambos Gil, é necessário atender aos seguintes requisitos mínimos:
3.10.1. Requisitos de equipamentos
68
- Um servidor web compatível com a aplicação, que suporte as linguagens de programação
e bibliotecas utilizadas no desenvolvimento;
- Uma base de dados adequada para a aplicação, que suporte as operações e consultas
necessárias, além de garantir a integridade dos dados;
- Sistema operacional compatível com a aplicação e seus requisitos;
- Configurações de segurança adequadas, incluindo firewalls, sistemas de autenticação e
autorização, e criptografia de dados;
- Configurações de backup e recuperação, para garantir a disponibilidade e integridade dos
dados em caso de falha do sistema;
- Hardware adequado para suportar o processamento e armazenamento necessário,
considerando o número de usuários e a quantidade de dados gerados pela aplicação.
É importante ressaltar que os requisitos de ambiente podem variar de acordo com a
complexidade da aplicação, o número de usuários e outras particularidades do projecto. Por
isso, é fundamental contar com uma equipa técnica especializada para avaliar os requisitos
e garantir que o ambiente esteja adequado para a instalação da aplicação.
Para garantir a segurança da aplicação web de gestão de atendimento para o Restaurante &
Churrascaria Mambos Gil, é importante seguir algumas práticas e requisitos, tais como:
1. Autenticação e autorização: a aplicação deve contar com um sistema de autenticação
seguro, para que apenas usuários autorizados possam acessá-la. Além disso, é importante
definir níveis de autorização de acordo com as funções e responsabilidades de cada usuário.
2. Criptografia de dados: as informações sensíveis, como senhas e dados pessoais dos
usuários, devem ser armazenadas e transmitidas de forma criptografada, para evitar que
sejam interceptadas por terceiros mal-intencionados.
3. Protecção contra-ataques: a aplicação deve contar com sistemas de proteção contra-
ataques, como firewalls e sistemas de detecção de intrusão, para evitar que hackers tenham
acesso a informações confidenciais ou possam prejudicar o funcionamento da aplicação.
4. Actualização de software e correcções de segurança: é importante manter a aplicação e
todos os seus componentes actualizados, com as últimas correcções de segurança
disponíveis.
69
5. Backup de dados: é fundamental fazer backups regulares dos dados da aplicação, para que
seja possível recuperá-los em caso de perda ou roubo de informações.
6. Política de segurança: é importante definir uma política de segurança clara e objectiva,
com directrizes para o uso da aplicação e dos dados armazenados nela. Os usuários devem
ser informados sobre as medidas de segurança adotapdas e instruídos a seguir as melhores
práticas de segurança da informação.
70
CONCLUSÃO E RECOMENDAÇÕES
71
REFERÊNCIAS BIBLIOGRÁFICAS
Brown, E. (2014). Web Development with Node and Express: Leveraging the JavaScript
Stack. California: O'Reilly Media.
CONFEA. (26 de Abril de 2023). Conselho Federal de Engenharia e Agronomia
(CONFEA). Obtido de confea.org:
http://www.confea.org.br/portal/index.php?option=com_content&view=article&id
=139&Itemid=478
Fernandes, N. O. (25 de Janeiro de 2014). Segurança da Informção. Cuiabá, Mato Grosso,
Brasil. Obtido em 11 de Janeiro de 2023
Gil, A. C. (2008). Métodos e técnicas de pesquisa social (6ª ed.). São Paulo: Atlas S.A.
Jacobsen, A. d. (2014). Sistemas de Informação. São Paulo: UFSC.
Kauark, F., Manhães, F. C., & Medeiros, C. H. (2010). Metodologia da pesquisa : guia
prático. Itabuna: Via Litterarum.
Lakatos, E. M., & Marconi, M. d. (1992). Metodologia científica (2ª ed.). São Paulo: Atlas
S.A.
72
Moresi, E. (2003). Metodologia da pesquisa. Brasília - DF: UNIVERSIDADE CATÓLICA
DE BRASÍLIA – UCB.
OWASP-Foundation. (12 de Agosto de 2023). OWASP (Open Web Application Security
Project). Obtido de OWASP Foundation:
https://owasp.org/search/?searchString=web+app+security
Pressman, S. R. (2015). Engenharia de Software: uma abordagem profissional (8º ed.).
Nova York: McGraw-Hill Education.
Robbins, J. N. (2012). Learning Web Design: A Beginner's Guide to HTML, CSS,
JavaScript, and Web Graphics (4º ed.). California: O'Reilly Media.
Rouse, M. (11 de Agosto de 2023). Whatis.com. Obtido de Techtarget:
https://whatis.techtarget.com/
Smith, B. T. (12 de Agosto de 2023). developer.mozilla.org. Obtido de Mozila:
https://developer.mozilla.org/en-US/blog/
Sommerville, I. (2011). Engenharia de Software. São Paulo: Pearson Prentice Hall.
Sullivan, B., & Liu, V. (2011). Web Application Security, A Beginner's Guide (1º ed.). Nova
York: McGraw Hill.
73