Análise Orientada a Objetos Processo Unificado RUP - Rational Unified Process 201104 Diego Rocha Cáceres diego@hotelserrano.com.br FACCAT Faculdades de Taquara FIT Faculdade de Informática de Taquara Disciplina Análise de Sistemas II 2004/1 Professor: Paulo Ferreira 1 Workflow de Requisitos 1.1 Descrição Desenvolver um sistema para informatizar restaurantes - SisFondue, baseado em comandas eletrônicas. Este sistema tem como objetivo principal, integrar os setores do restaurante informatizá-los e facilitar o processo operacional do restaurante. Atualmente o restaurante, trabalha da seguinte forma: Vários garçons com a mesma capacitação, gerenciados por um ou mais maitres, atendem aos clientes de forma aleatória. O controle de consumo se dá em forma de comandas manuscritas e entregues ao cliente. Ao sair o cliente entrega a comanda ao caixa ou pede a conta ao próprio garçom. Cada maitre tem por função, atender as necessidades extras dos clientes, bem como manter o bom funcionamento do restaurante. O caixa funciona com o antigo sistema de caixa registradora e a emissão da nota fiscal é feita manualmente. O setor de cozinha não é informatizado. O SisFondue funcionará resumidamente com uma (ou mais) estação(ões) na cozinha, um grupo de maitres com palms no salão e um caixa. Cada pedido feito a um desses maitres, será lançado no sistema onde o chef de cozinha terá a consulta deste, assim saberá a situação real do movimento do restaurante e efetuará os pedidos. No caixa serão totalizadas e geradas cada conta. 1.2 Lista de Requisitos: Controle de Pedidos: Atualmente é feito por comanda manual. Com a implantação cada pedido de cliente é lançado no sistema pelo maitre. Estes pedidos são enviados para a cozinha, e ficam armazenados para consultas e novas inserções. Caixa Atualmente funciona com o antigo sistema de caixa registradora e a emissão da nota fiscal é feita manualmente. O sistema totalizará as contas e gerará o cupom fiscal. Cozinha Atualmente recebe o pedido informalmente. O sistema avisará a cada pedido cadastrado bem como pode consultar pedidos, cadastrar itens, pratos e etc.
2 Modelo de Domínio: 1...n Pedidos n...1 Conta Maitre lança pedidos controla garçons Garçons 1. n n.. 1 Chef de Cozinha modifica status pedidos consulta pedidos cadastra itens 1. n Cozinheiros n.. 1 Caixa encerra conta gera cupom fiscal 1. n Cupom Fiscal 2
3 Modelo de Negócios: Preparar Alimentos Garçom Cozinheiros Cliente Maitre Chef Pedido Cobrança Caixa 3
4 Casos de uso: Atores: Maitre: Maitre - Chef de Cozinha - Caixa - Garçons - Cozinheiros Autenticar; Lançar pedido; Chef de Cozinha: Caixa: Cozinheiros: Garçon: Autenticar; Consultar pedido; Mudar status pedido; Cadastrar itens de cardápio e grupos de cardápio e pratos. Autenticar; Encerrar Conta; Preparar o pedido; Entregar pedido; 4.1 Descrição de caso de uso: (1) Autenticar Maitre, chef e caixa entram com nome de usuário e senha, se correto entram no sistema (área restrita) senão volta à tela de autenticação. (2) Lançar Pedido Maitre lança no sistema (através de um palm) cada pedido do cliente e sua mesa. Todos pedidos são associados a uma conta, se a mesa tiver mais de uma conta, os pedidos estarão atrelados a suas respectivas contas. Ao enviar os dados, o sistema gera um número para o pedido e cria a(s) conta(s). (3) Consultar Pedido Chef de Cozinha checa pedidos feitos, e sua situação. Pode consultar por: mesa, número pedido, número conta, período. O sistema emite um alerta a cada pedido lançado. (4) Mudar Status pedido Chef pode mudar o status do pedido para: Em andamento: Quando o pedido está sendo preparado Pronto: Quando o garçom já pode levar o pedido à mesa Em aguardo: Quando o pedido ainda não esta sendo preparado (o sistema usa esse caso como default). (5) Cadastrar ítens de cardápio: Chef preenche os campos de cadastro de item, e associa este item a um grupo. (6) Cadastrar grupos de cardápio: Chef preenche os campos de cadastro de grupo. (7) Cadastrar Pratos: Chef preenche os campos de cadastro de prato, e seleciona os itens que farão parte deste prato. (8) Encerrar conta: Ao caixa é informado a mesa (ou o número da conta) que deve encerrar, o sistema totaliza a conta e gera o cupom fiscal. O caixa informa a forma de pagamento e a conta é encerrada. (9) Preparar pedido: Cozinheiros recebem do chef os pedidos que devem ser preparados para determinadas mesas. 4
(10) Entregar Pedido: Garçons levam a mesa os pedidos já preparados. 5 Modelo de casos de uso: Maitre Lançar Pedido Autenticar Encerra Conta Caixa Consultar Pedido Chef Mudar status pedido Cadastrar itens Cadastrar pratos Cadastrar grupos Cozinheiros Preparar pedido Entregar pedido Garçom 5
5.1 Detalhes de Caso de Uso: (1) Autenticar: correto Informa Usuário e senha errado Encerra Conta Autenticar novamente Acesso ao sistema (2) Lançar Pedido: Seleciona grupo Seleciona item Lançar item Lança novo item Seleciona Prato Seleciona conta (3) Consultar Pedido: Informa nº pedido ou período ou nº mesa correto errado Mostrar pedido Consultar novamente (4) Mudar Status pedido: Consultar pedido Mudar status do pedido 6
(5) Cadastrar ítens de cardápio: Preencher formulário ítem Associar ao grupo (6) Cadastrar grupos de cardápio: Chef preenche os campos de cadastro de grupo. Preencher formulário grupo (7) Cadastrar Pratos: Preencher formulário prato Escolher itens prato (8) Encerrar conta: Informa conta ou mesa Totalizar conta Imprime cupom fiscal Informa forma de pagamento Encerrar conta 7
5.2 Priorização dos casos de uso 1 2 3 4 5 6 7 8 6 Protótipo da Interface com o usuário: 6.1 Interface Maitre (em um palm): Descrição: N mesa: Bebidas: Pedidos: Águas / Refris / vinhos / sucos / outros Entradas / Pratos Quentes / Sobremesas / Código Detalhes: Códigos OK - CANCELAR A interface do palm será simples com menus deslizantes com todas opções para lançamento do pedido. Inicialmente o maitre poderá escolher entre grupo ou prato. Nos grupos estarão os itens e no botão prato, estarão os pratos preparados. Terá também o campo código, que este buscará diretamente o código do pedido ou códigos especiais com opções mais comuns como: Ex.: cod. 123 (com limão e gelo) cod. 124 (fora do gelo) Esses código deverão ser memorizados pelo maitre ou ele pode consultá-los através do botão códigos. 8
INTERFACE PALM (inicial): Mesa: Códigos Pratos Bebidas: Águas Refris Vinhos Sucos Outros Pedidos: Entradas Quentes Sobremesas Código Itens Lançar Conta Enviar Cancelar 6.2 Interface Chef: A interface do chef também é simples com menus deslizantes, após o login inicia-se diretamente a de acompanhamento do pedido para que seja alertado a cada pedido lançado. Interface acompanhamento pedido (função principal): N mesa: XXXX Conta: XXXXX Nº Pedido: XXXX Bebidas: Pedidos: Xxxxxxx e Xxxxxxx e Xxxxxxx Xxxxxxxxxxxxxxxxxx e Xxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxx e Xxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxxxxxxx e Xxxxxxxxxxxxxxxxxx EM ANDAMENTO PRONTO EM AGUARDO FECHAR << ANTERIOR PRÓXIMO >> 9
Interface Completa: PEDIDOS acompanhar pedidos consultar CADASTRO item de cardápio grupo de cardápio pratos SAIR 6.3 INTERFACE AUTENTICAÇÃO: 7 Requisitos Suplementares: O sistema funcionará online, inclusive cada palm. Isto implicará que seja disponibilizado uma rede sem fio segura que cubra toda área de atendimento do salão do restaurante. O sistema precisará de um servidor dedicado não podendo usar uma máquina de usuário para fazer esta função. 10
8 Workflow de Análise: Diagrama de Robustez e detalhes de Classes (3 principais): 8.1 Módulo Palm (diagrama de robustez e detalhamento de classe) Mostra número pedido e contas Volta a tela inicial sem a opção mesa mesas maitre Tela inicial pratos item pedido grupos Botão lançar Acumular pedido Botão enviar Enviar dados e mostra numero pediudo Botão conta Adiciona uma conta a mesa Botão cancelar Volta a tela inicial sem a opção mesa Tela inicial Grupos: Menu Pratos: Menu Botão enviar: Botão Botão lançar: Botão Botão conta: Botão Botão cancelar: Botão Itens: Menu 11
8.2 Cadastrar item (diagrama de robustez e detalhamento de classe) Botão SAIR Tela cadastro Chef Tela principal Botão cadastrar item Botão incluir Validar informações Associar item a grupo Efetuar cadastro Tela Cadastro Associa item a grupo Nome: Tipo de peso: Peso: Descrição: Valor: Botão ok: Botão sair: String chekbox int string float Botão Botão Item: Grupo: Botão Associa: Botão sair: menu menu Botão Botão 12
8.3 Autenticação (diagrama de robustez e detalhamento de classe) Botão Sair informa usuário e senha Tela login se falha : retorna Dados conferem Usuário Validar informações Área restrita Botão OK Tela Login Título: String Texto: String Usuário: String Senha : int Botão ok: Botão Botão Sair: Botão 13
9 Workflow de Projeto: 9.1 Módulo Palm 9.1.1 Diagrama de seqüência Usuário Tela inicial Mesa Item Envia Pedido Selecionar mesa () Selecionar grupo/prato () Botão Lançar () Botão Conta () Botão Cancela () PEDIDO Botão Enviar () Número Pedido 14
9.1.2 Diagrama de Cooperação 2- selecionar grupo/prato() 1- Informar mesa () Chef 4 selecionar item () Tela principal 3- Mostrar () 9 - botão Enviar() 5 - botão lançar() Item 7 - botão Conta() 10- Mostrar () Lançar Item Enviar Número pedido 6- Mostrar () Atrelar a Conta 8- Mostrar () Tela principal 9.1.3 Detalhe da classe Tela inicial Informar mesa ( ) Selecionar grupos/pratos ( ) Mostrar ( ) Informar mesa ( ) Selecionar Item ( ) Clicar botão conta ( ) Clicar botão lançar ( ) Clicar botão Enviar ( ) Grupos: Menu Pratos: Menu Botão enviar: Botão Botão lançar: Botão Botão conta: Botão Botão cancelar: Botão Itens: Menu 15
9.2 Cadastrar Item 9.2.1 Diagrama de seqüência Usuário Tela inicial Tela cadastro Associar grupo Efetuar cadastro Selecionar cadastro () Botão cancelar () Preencher dados Botão incluir () Processo correto Mensagem de sucesso 16
9.2.2 Diagrama de Cooperação 1- Menu Cadastro () Chef 3- Informar dados () 4 -Botão incluir () Tela principal 2- Mostrar () Item 5 - Incluir Dados () Tela cadastro 9.2.3 Detalhe da classe Tela Cadastro Menu Cadastro ( ) Mostrar ( ) Informar dados ( ) Clicar Botão Incluir ( ) Incluir Dados ( ) Nome: Tipo de peso: Peso: Descrição: Valor: Botão ok: Botão sair: String chekbox int string float Botão Botão 17
9.3 Autenticação 9.3.1 Diagrama de seqüência Usuário Tela Login Área restrita Usuário e senha Clicar OK () Validar Falha validação Validação OK Mostra tela principal () 9.3.2 Diagrama de Cooperação 1- usuário e senha () 3- Mostrar () Chef 2 -Botão OK () Tela principal Tela cadastro 18
9.3.3 Detalhe da classe Tela Login Digitar usuário e senha ( ) Clicar Botão OK ( ) Mostrar ( ) Título: String Texto: String Usuário: String Senha : int Botão ok: Botão Botão Sair: Botão 10 Modelo de Instalação Servidor Cozinha Caixa Rede sem fio - Palms 19