projeto de engenharia de software sistema de gerenciamento de restaurante
TRANSCRIPT
![Page 1: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/1.jpg)
Projeto de Engenharia de Software
Sistema de gerenciamento de restaurante
![Page 2: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/2.jpg)
Conteúdo
• Motivação• Planejamento do Projeto• Requisitos– Casos de Uso
• Arquitetura– Classe Implementada
• Testes• Resultados
![Page 3: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/3.jpg)
Motivação
• O BrightChef buscar trazer uma solução para administração de restaurantes:– Automatizando Entrada e Saída de insumos,
controle de Estoque.– Gerenciando pedidos, módulo de Delivery.– Facilitando a análise de faturamento e controle de
cadastros com geração de Relatórios.– Organizando os pedidos de mesa/cartão, gerando
o cálculo da conta e pagamento.
![Page 4: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/4.jpg)
• O ciclo do projeto se baseou no RUP, tendo as seguintes fases:– Concepção: ênfase no escopo do sistema;– Elaboração: ênfase na arquitetura;– Construção: ênfase no desenvolvimento;– Transição: ênfase na implantação.
Planejamento do Projeto
![Page 5: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/5.jpg)
Planejamento do Projeto
• Na etapa de concepção foi definido a organização do projeto.– Funções:• Gerente – Henrique Menezes• Arquiteto de Software – Tiago Sales• Analista de Sistema – Dayvid Rodrigues• Analista de Sistema – Danilo Queiroz• Analista de Sistema – Paulo Ferreira
![Page 6: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/6.jpg)
Planejamento do Projeto
– Cronograma:
![Page 7: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/7.jpg)
Requisitos
• Elicitação de requisitos:– Entrevistas– Brainstorming– Análise de concorrentes– Pesquisas sobre o mercado
![Page 8: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/8.jpg)
Requisitos
• Requisitos não-funcionais:
Identificação DescriçãoRNF/PROC-01 O sistema deverá ser implementado em Python 2.6 e Flex 3 utilizando o
SGBD MySQL Server 5.0.RNF/PROC-02 O sistema deverá rodar em Windows e Linux.RNF/PROC-03 Deverá ser utilizada ferramenta CASE e a modelagem deverá ser feita em
UML.
Requisitos de Processo
Requisitos de Produto - SegurançaIdentificação Descrição
RNF/SEG-01 É necessário autenticar o usuário por meio de login e senha.RNF/SEG-02 Os atores terão acesso apenas a um conjunto mínimo de funcionalidades,
que compreendem as funções operacionais básicas.RNF/SEG-03 O gerente tem acesso a todas as funcionalidades.RNF/SEG-04 O acesso a funções com esse requisito não funcional só poderá ser feito
pelo gerente, identificado através de login e senha.RNF/SEG-05 O acesso a funções relacionadas a insumo, produto e categoria, com
exceção da função de consulta, deve ser de uso exclusivo do gerente e do almoxarife.
RNF/SEG-06 O acesso a funções relacionadas a pagamento, deve ser de uso exclusivo do caixa e do gerente.
![Page 9: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/9.jpg)
Requisitos
• Requisitos funcionais:Código Nome Prioridade
RF-01 Efetuar Login Essencial
RF-02 Cadastrar Cliente Essencial
RF-03 Alterar Cliente Essencial
RF-04 Remover Cliente Essencial
RF-05 Consultar Cliente Essencial
RF-06 Cadastrar Pedido Delivery Essencial
RF-07 Alterar Pedido Delivery Essencial
RF-08 Cancelar Pedido Delivery Essencial
RF-09 Consultar Pedido Delivery Essencial
RF-10 Despachar Pedido Delivery Essencial
RF-11 Entregar Pedido Delivery Essencial
RF-12 Cadastrar Pedido Mesa/Cartão Essencial
RF-13 Alterar Pedido Mesa/Cartão Essencial
RF-14 Cancelar Pedido Mesa/Cartão Essencial
RF-15 Consultar Pedido Mesa/Cartão Essencial
RF-16 Informar Finalização do Pedido Essencial
RF-17 Abrir Mesa/Cartão Essencial
RF-18 Trocar Mesa/Cartão Essencial
RF-19 Juntar Mesa/Cartão Essencial
RF-20 Fechar Mesa/Cartão Essencial
RF-21 Efetuar Pagamento Essencial
RF-22 Cadastrar Produto Essencial
RF-23 Alterar Produto Essencial
RF-24 Remover Produto Essencial
RF-25 Consultar Produto Essencial
RF-26 Cadastrar Insumo Essencial
RF-27 Alterar Insumo Essencial
RF-28 Remover Insumo Essencial
RF-29 Consultar Insumo Essencial
RF-30 Entrada Insumo Essencial
RF-31 Saída Insumo Essencial
RF-32 Cadastrar Categoria Essencial
RF-33 Remover Categoria Essencial
RF-34 Cadastrar Funcionário Essencial
RF-35 Alterar Funcionário Essencial
RF-36 Remover Funcionário Essencial
RF-37 Consultar Funcionário Essencial
RF-38 Informação do plantel dos funcionários Essencial
RF-39 Calcular comissão Essencial
RF-40 Gerar relatórios de funcionários Essencial
RF-41 Gerar relatórios de estoque Importante
RF-42 Gerar relatórios finaceiros Essencial
RF-43 Gerar relatórios extras Desejável
![Page 10: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/10.jpg)
Visão Geral Dos Requisitos
Diagrama de Casos de Uso
![Page 11: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/11.jpg)
• Cadastrar Funcionário– Pré-condição: O gerente deve ter efetuado login
no sistema.– Pós-condições: O funcionário cadastrado no
sistema.
Casos de Usos – Pré e pós condições
![Page 12: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/12.jpg)
Casos de Usos - Fluxos
• Cadastrar Funcionário– Fluxo Primário:• Inicialmente, o gerente deve entra na janela de
cadastro de funcionário.• O gerente informar os dados do funcionário
necessários para a realização do cadastro como nome, endereço, Cpf, cargo do novo funcionário e etc.• O sistema verifica se o funcionário já existe.• O sistema armazena os dados do cliente no repositório
e informa que o cadastro foi realizado com sucesso.
![Page 13: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/13.jpg)
– Fluxo secundário:• No fluxo primário 3, se o funcionário já existir significa
dizer que o funcionário já está cadastrado, o sistema exibe uma mensagem informando a ocorrência.
Casos de Usos - Fluxos
![Page 14: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/14.jpg)
– Diagrama de Seqüência:
Casos de Usos - Análise
![Page 15: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/15.jpg)
– Diagrama de Classe:
Casos de Usos - Análise
![Page 16: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/16.jpg)
Casos de Usos – Pré e pós condições
• Gerar Relatório Funcionário– Pré-condição: O usuário deve ter efetuado login
no sistema.– Pós-condições: O relatório de funcionários deve
ser retornado.
![Page 17: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/17.jpg)
Casos de Usos - Fluxos
• Gerar Relatório Funcionário– Fluxo Primário:• O usuário deve entrar na janela de relatórios.• Seleciona o relatório de Funcionários.• O sistema gera o relatório e retorna ao cliente.
![Page 18: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/18.jpg)
– Diagrama de Seqüência:
Casos de Usos - Análise
![Page 19: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/19.jpg)
– Diagrama de Classe:
Casos de Usos - Análise
![Page 20: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/20.jpg)
Arquitetura do Sistema - Camadas
GUI
Controle
Dados
Repositório
![Page 21: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/21.jpg)
Arquitetura do Sistema - Camadas
Django
puremvc
MTV• Model• Template• View
MVC• Model• View• Controller
![Page 22: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/22.jpg)
Arquitetura do Sistema - Camadas
Template
View
Model & ORM
Database
Django
![Page 23: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/23.jpg)
Arquitetura do Sistema - Camadas
puremvc
![Page 24: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/24.jpg)
Classes Implementadas• Python:– Models:
• Produto
– Views:• ProdutoAdmin• ProdutoService
– Templates:• change_form.html• change_list.html• change_list_results.html• ...
![Page 25: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/25.jpg)
Classes Implementadas• Flex:
– Models:• ProdutoVO• ProdutoProxy
– Controller:• ProdutoReloadCommand• ProdutoSaveCommand• ProdutoDeleteCommand
– Views:• ProdutoTabMediator• ListarProdutosTabMediator• Components:
– ProdutoTab.mxml– ListarProdutosTab.mxml
![Page 26: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/26.jpg)
Ferramentas• Python• Django• Pyunit• PyAMF• Flex• Flex Builder 3• PureMVC• Office 2007• Jude• Notepad++• Aptana• Microsoft Project• Git
![Page 27: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/27.jpg)
Testes
• Teste de Unidade• Teste Integração• Teste de Sistema• Teste de Aceitação
![Page 28: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/28.jpg)
Testes
• Teste de Unidade– Testar corretude de componentes
individualmente:• Classes• Métodos
– Foi utilizado um framework de testes PyUnit, em específico o módulo unittest.
![Page 29: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/29.jpg)
Testes
• Teste de Unidade - Exemplo
![Page 30: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/30.jpg)
Testes
• Teste de Integração– Foi realizada a medida que novos componentes
eram agrupados ao sistema.– Com ele foi possível encontrar erro nas interfaces
de comunicação entre os componentes.– Exemplo:• Codificação, decodificação e comunicação dos dados
entre AMF e Python.
![Page 31: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/31.jpg)
Testes
• Teste de Sistema– Após a integração completa do sistema iniciamos
esse tipo de teste, onde não nos limitamos somente a requisitos funcionais mas testamos também requisitos não-funcionais.
– Exemplo:• Testamos nos browsers: Internet Explorer, Mozilla
Firefox e Google Chrome.
![Page 32: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/32.jpg)
Testes
• Teste de Aceitação– Foram feitos testes de caixa-preta com usuários
finais e a partir daí foi notificado todos os erros acontecidos e posteriormente corrigidos.
– Exemplo:• Foi notificado no módulo estoque um problema em
saída de insumo, onde a quantidade do insumo estava decrementando quando um valor superior ao do estoque atual e resultava em uma quantidade negativa no estoque do insumo.
![Page 33: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/33.jpg)
Resultados
• Artefatos produzidos nesse projeto:• Plano de Projeto• Documento de Requisitos• Plano de Testes• Projeto de Testes• Documento de Análise e Projeto
• Site de acompanhamento• Aplicação
![Page 34: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/34.jpg)
Resultados
• Versão Flex / Janela Mesa/Cartão:
![Page 35: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/35.jpg)
Resultados
• Versão Html / Janela Entradas de Insumo:
![Page 36: Projeto de Engenharia de Software Sistema de gerenciamento de restaurante](https://reader035.vdocuments.pub/reader035/viewer/2022062318/552fc13d497959413d8dd9c6/html5/thumbnails/36.jpg)
Perguntas?
• Alguma duvida?