Projeto UML

INTRODUCAO A ENGENHARIA DE SOFTWARE [Turma 02H] - 2023/2

View the Project on GitHub EnzoFerroni/UML-Pizza-Express

Universidade Presbiteriana Mackenzie

Sistemas de Informação

UML-Pizza-Express

Conteúdo

Autores

Descrição do projeto

A empresa Pizza-Express busca atualizar seu sistema de forma que o sistema de entrega seja capaz de realizá-las em menos de 30 minutos. É importante ressaltar que o modelo das lojas não possui espaço de varejo, ou seja, elas apenas produzem as pizzas e realizam as entregas.

Por ser uma rede de lojas, a Pizza-Express necessita de um sistema central, responsável pelo atendimento ao cliente e localizar a loja mais próxima do mesmo para a produção e entrega do pedido. Uma vez que o pedido foi realizado, a central precisa notificar a loja a respeito desse pedido e o local de entrega.

O segundo sistema envolve as operações de produção e entrega das pizzas. Além de receber informações do sistema central e realizar a produção das pizzas, o sistema deve entrar em contato com o delivery, que será realizado pela empresa patrocinadora do projeto (Papa-Léguas Delivery).

Análise de requisitos funcionais e não-funcionais

Requisitos Funcionais

Sistema Central

  1. O sistema deve ser capaz de registrar o cadastro de um novo cliente
  2. O sistema deve permitir que o cliente realize um pedido, tendo como opção adicionar ou remover itens
  3. O sistema deve possibilitar que o cliente finalize o pedido exigindo que o cliente faça o pagamento
  4. Tanto o cliente quanto o atendente devem ser capazes de realizar o login
  5. O atendente deve ter a possibilidade de visualizar e validade o pedido feito pelo cliente
  6. O sistema deve permitir que o atendente busque a loja mais próxima do pedido realizado em função do endereço presente no cadastro do cliente
  7. O atendente deve ser a possibilidade de encaminhar as informações do pedido para a loja que deverá realiza-lo

Sistema Franquia

  1. O sistema deve informar o pedido que será preparado
  2. O funcionário deve ter a possibilidade de preparar o pedido
  3. O sistema deve ser capaz de enviar um chamado de que o pedido está pronto para a empresa de delivery
  4. O delivery deve receber um aviso de que o pedido está pronto para entrega

Requisitos Não Funcionais

  1. O sistema precisa responder o mais rápido possível
  2. O sistema deve ser possível de acessá-lo via web e mobile
  3. A interface deve apresentar cores e contrastes que garantem acessibilidade para usuários com daltonismo
  4. O sistema deve ser seguro de maneira que um cliente não tenha acesso a informação de cadastro de outro cliente
  5. A interface deve ser intuitiva e simples para utilizar
  6. A interface deve conter elementos sofisticados e dinâmicos

Diagrama de casos de uso

Untitled Untitled

Descrição dos casos de uso

Caso de uso Central:

SC01-Realizar Cadastro SC02-Realizar Pedido SC03-Finalizar Pedido SC04-Realizar Pagamento SC05-Adicionar Itens SC06-Remover Itens SC07-Realizar Login SC08-Valida Pedido SC09-Verificar Franquia Próxima SC10-Encaminhar Pedido

Caso de uso Franquia:

SF01 - Receber Chamado SF02 - Encaminhar Pedido SF03 - Receber Pedido SF04 - Preparar Pedido

Diagrama de sequencia

Caso de uso Central:

SC01-Realizar Cadastro SC02-Realizar Pedido SC03-Finalizar Pedido SC04-Realizar Pagamento SC05-Adicionar Itens SC06-Remover Itens SC07-Realizar Login SC08-Valida pedido SC09-Verificar Franquia Proxima SC10-Encaminhar Pedido

Caso de uso Franquia:

SF01-Receber Chamado para Entrega SF02-Encaminhar Pedido para Delivery SF03-Receber Pedido SF04-Preparar Pedido

Diagrama de classes

image

Diagrama de Componentes

image

Decisões de arquitetura

Os servidores terão como sistema operacional Linux por conta dele ser bem adaptado para aplicações em nuvem e também projetado para ser estável e seguro. Usaremos Python que é uma linguagem de alto nível e fácil de aprender e usar oque se torna ideal para empresa onde temos desenvolvedores com diferentes níveis de experiência. O banco de dados nuvem será do tipo relacional o Amazon Relational Database Service(RDS), ele é ideal para armazenar dados estruturados, como os pedidos, informações dos clientes, estoque, etc. Nosso banco de dados físico também será do tipo relacional e guardará informções sensíveis como, cartão de crédito e o histórico de pedidos. Teremos um Firewall stateful que vai proteger todo o sistema da central de ataques externos, ele será configurado apenas para permitir o tráfego necessário para a operação do sistema. O roteador é necessário para conectar o sistema à internet, ele deverá ser configurado para permitir apenas dispsitivos autorizados terem aceso à internet. Nas estações de trabalho teremos computadores com aplicativos que serão usados para gerenciar pedidos, gerenciar estoque, para se comunicar com outras partes da empresa, como as lojas e o delivery, etc. As estações devem ser seguras tendo assim um firewall e um antivirus.

Modelo de arquitetura

Diagrama de implantação

image

Referências

https://docs.google.com/document/d/1c6MQubV-Kpq2H1d02yeWLBM33FS5-o8RpMQfAHxgn1w/edit?usp=sharing https://docs.google.com/document/d/1UlD-0FzvBjA1x71WBz3YVZI_sw02nXXHq2GDIw3n5JE/edit?usp=sharing