Prévia do material em texto
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO Amanda Kelly Rodrigues Cândido Gabriel Teixeira Andrade Sousa Giovanna de Sousa Sampaio Giulianni dos Santos Oliveira Gustavo Gomes Cardozo dos Santos Plano de Garantia de Software André Luiz Alves GOIÂNIA, 2020 Amanda Kelly Rodrigues Cândido Gabriel Teixeira Andrade Sousa Giovanna de Sousa Sampaio Giulianni dos Santos Oliveira Gustavo Gomes Cardozo dos Santos Plano de Garantia de Software Relatório apresentado como requisito parcial para obtenção de aprovação na disciplina Validação e Testes de Sistemas no Curso de Engenharia da Computação, na Pontifícia Universidade Católica de Goiás. André Luiz Alves GOIÂNIA, 2020 1. INTRODUÇÃO..................................................................................................................... 5 1.1. Diagrama de Caso de Uso Geral ........................................................................................ 5 1.2. Prefácio ......................................................................................................................... 5 2. PROPÓSITO ........................................................................................................................ 5 3. DOCUMENTOS DE REFERÊNCIA ...................................................................................... 5 4. GERENCIAMENTO ............................................................................................................. 6 4.1. Organização.................................................................................................................... 6 4.2. Tarefas........................................................................................................................... 6 4.3. Regras e responsabilidades................................................................................................ 7 5. DOCUMENTAÇÃO .............................................................................................................. 8 5.1. Propósito........................................................................................................................ 8 5.2. Documentação ................................................................................................................ 8 5.2.1 Documentação dos Requisitos de Software ...................................................................... 8 5.2.2 Planos de Verificação e Validação .................................................................................. 8 5.2.3 Documentos de Teste ................................................................................................. 10 5.2.4 Relatos de resultados de Verificação, Validação e Teste................................................... 10 6. GLOSSÁRIO ...................................................................................................................... 10 7. ABREVIAÇÕES ................................................................................................................. 10 8. APÊNDICES....................................................................................................................... 11 Apêndice 1: Lista de Casos de Uso................................................................................. 11 Apêndice 2: Requisitos Funcionais ................................................................................ 12 Apêndice 3: Requisitos não Funcionais .......................................................................... 13 Requisitos e Restrições de Informação (RINF) ............................................................... 13 Requisitos e Restrições de Interface Homem Computador (RIHC)..................................... 13 Requisitos de Interface Externa (RIEX)......................................................................... 14 Requisitos e Restrições de Projeto (RPRO) .................................................................... 14 Requisitos e Restrições de Arquitetura de Software (RARQ) ............................................ 14 Requisitos e Restrições de Plataforma de Hardware (RPHW) ........................................... 14 Requisitos e Restrições de Plataforma de Software (RPSW) ............................................. 14 Requisitos e Restrições de Desempenho (RDES) ............................................................ 15 Requisitos e Restrições de Disponibilidade (RDIS) ......................................................... 15 Requisitos e Restrições de Segurança (RSEG) ................................................................ 16 Requisitos e Restrições de Manutenibilidade (RMAN) .................................................... 16 Requisitos e Restrições de Portabilidade (RPOR)............................................................ 16 Requisitos de Documentação (RDOC) .......................................................................... 17 Apêndice 4: Diagrama de Classe ................................................................................... 17 Apêndice 5: Checklist de Requisitos Funcionais ............................................................. 18 Apêndice 6: Checklist de requisitos não funcionais ......................................................... 18 Apêndice 7: Checklist de Casos de Uso e Matriz de Rastreabilidade................................. 18 Apêndice 8: Checklist para diagrama de classe de análise ............................................... 19 Apêndice 9: Checklist para padrões de construção ......................................................... 19 Apêndice 9.1: Codificação .......................................................................................... 19 Apêndice 9.2: Verificação ........................................................................................... 19 Apêndice 9.3: Teste de Unidade ................................................................................... 20 Apêndice 9.4: Teste de Integração ................................................................................ 20 Apêndice 9.5: Depuração ............................................................................................ 20 Apêndice 10: Matrizes de Rastreabilidade ..................................................................... 21 Matriz de rastreabilidade Requisitos Funcionais x Requisitos Funcionais............................ 21 Matriz de rastreabilidade Requisitos Funcionais x Caso de Uso......................................... 22 Matriz de Rastreabilidade Caso de Uso x Requisitos e Restrições de Informação ................. 23 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Interface Homem Computador .............................................................................................................. 23 Matriz de rastreabilidade Caso de Uso x Requisitos de Interface Externa ............................ 23 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Projeto ........................ 23 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Arquitetura de Software . 24 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Hardware 24 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Software.. 24 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Desempenho ................ 24 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Disponibilidade ............ 24 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Segurança.................... 25 Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Manutenibilidade .......... 25 Matriz de rastreabilidade Caso de Uso x Requisitos e Restriçõesde Portabilidade................ 25 Matriz de rastreabilidade Caso de Uso x Requisitos de Documentação ............................... 25 Apêndice 11: Casos de Uso e Interfaces.......................................................................... 26 Caso de Uso Expandido .............................................................................................. 26 Apêndice 12: Casos de Teste ......................................................................................... 53 1. INTRODUÇÃO 1.1. Diagrama de Caso de Uso Geral Figura 1 – Diagrama de Caso de Uso 1.2. Prefácio Este documento apresenta o plano de garantia de qualidade de Software (PGQS). Tal plano, tem o propósito de compreender os processos, técnicas e ferramentas que são empregados para assegurar-se que o serviço do sistema Buteko, esteja alinhado com os requisitos definidos no documento de especificação de requisitos. As etapas do plano estão dispostas em seções ordenadas, que compreendem todo o processo para validar e verificar os produtos de softwares e garantir sua qualidade. 2. PROPÓSITO Essa seção irá delinear o propósito específico e escopo do PGQS em particular, deste modo ele deve: ● Listar o nome dos itens de software abordados pelo PGQS e uso pretendido do software; ● Especificar a porção do ciclo de vida do software abordado pelo PGQS para cada item de software especificado; 3. DOCUMENTOS DE REFERÊNCIA Os documentos utilizados como referência para o desenvolvimento do presente plano de garantia do sistema Buteko, foram os seguintes: • IEEE Standard for Software Quality Assurance Plans 730 (2002); • Template Especificação de Objetivos e Requisitos (EOR-999) 4. GERENCIAMENTO Esta seção deve descrever a organização do sistema Buteko, isso inclui os seguintes pontos: ● Organização; ● Tarefas; ● Regras e Responsabilidades; 4.1. Organização O sistema Buteko está organizado para ser executado em interface mobile. Sendo que será acessado pelo aplicativo “Buteko” disponível para os sistemas operacionais Android e ISO onde a interação será realizada pelo toque na tela. As interfaces do sistema serão organizadas de tal forma que, possibilitem o acesso das diversões por meio de botões e listas. Em termos de implementação, o sistema será implementado utilizados recursos de banco de dados MySQL, sendo que, para a interface serão utilizados HTML, CSS e JavaScript. O aplicativo Buteko será um sistema aberto ao público, para que todas as pessoas possam acessar. Desta forma, os passos referentes ao ciclo de vida do sistema Buteko são os seguintes: • Levantamento de requisitos: Onde são levantados, junto aos stakeholders, as funcionalidades do sistema, divididas em requisitos funcionais e não funcionais; • Desenvolvimento do projeto: Onde são construídos os modelos referentes a arquitetura do sistema e as etapas de desenvolvimento, incluindo as etapas de verificação e validação; • Desenvolvimento do produto: Refere-se a parte de implementação; • Teste: Refere-se as partes de testes com o produto, o que também pode incluir versões demos do mesmo. Onde é usado os casos de testes; • Entrega: Referindo-se a entrega do produto e inclusão do mesmo nas lojas virtuais mobile. No caso do presente plano de garantia de software, referente ao sistema Buteko, abrange as partes de verificação e validação dos artefatos de requisitos, matrizes de rastreabilidade, casos de uso e casos de teste. 4.2. Tarefas O PGQS contemplou as seguintes partes: • Definição de requisitos; • Validação • Modelagem de casos de uso; • Criação de casos de teste. Foram realizadas as seguintes tarefas: • Documento de especificação de requisitos; • Matriz de rastreabilidade; • Descrição de casos de uso; • Checklists; • Protótipo de interfaces do sistema; • Casos de teste. Os critérios de entrada e saída: • Especificação de requisitos: o Entrada: Requisitos funcionais, não funcionais, de usuário e de domínio; o Saída: Todos esses requisitos devidamente ordenados e documentados; • Descrição de casos de uso: o Entrada: Situações descrevendo como cada funcionalidade no sistema será usado e seu passo a passo; o Saída: Todos os casos de uso adequadamente. • Protótipo de interfaces: o Entrada: Casos de uso apropriadamente feitos; o Saída: A interface estar obedecendo ao caso de uso. • Casos de teste: o Entrada: Casos de uso apropriadamente feitos; o Saída: Todos os casos de uso com todas as possibilidades de teste feitas. 4.3. Regras e responsabilidades Os elementos organizacionais específicos e seus responsáveis estão listados na Tabela 1 abaixo. Tabela 1: Tarefas e responsabilidades Tarefas Artefato gerado Responsável Equipe de qualidade Levantamento de Requisitos. Documento de requisitos. Engenheiro de requisitos e engenheiro de softwares. Responsável por validar e verificar o documento de requisitos por meio das reuniões por meio das reuniões de revisão e dos checklists. Criação dos casos de uso. Documento de casos de uso. Engenheiro de software. Responsável por verificar a conformidade dos casos de uso com os requisitos por meio de checklists. Gerar protótipos de interface. Protótipos de interface dos sistemas. Projetista de interfaces. Responsável por verificar se as interfaces estão em conformidade com os requisitos e com os casos de uso. Construir matrizes de rastreabilidades. Matrizes de rastreabilidade. Engenheiro de requisitos e engenheiro de software. Responsável por verificar se as relações estabelecidas na matriz estão corretas. Criar casos de testes. Casos de testes. Engenheiro de requisitos (desenvolver), testadores (realizar testes). Responsável por verificar e validar os casos de testes para garantir a conformidade deles como sistema e a abrangência dos casos de uso. 5. DOCUMENTAÇÃO 5.1. Propósito Essa seção deve realizar a identificação da documentação administrativa o desenvolvimento, verificação e validação, uso e manutenções do software. Tais documentos estão presentes nos apêndices, que correspondem aos listados no tópico 5.2. Serão indicados como se dá a garantia de qualidade deles por meio de revisões, auditória, walkthrough e afins. 5.2. Documentação 5.2.1 Documentação dos Requisitos de Software Os documentos que compõem a especificação de requisitos para o sistema Buteko são os seguintes: • Lista de Casos de Uso: Presente no Apêndice 1; • Lista de Requisitos Funcionais: Presente no Apêndice 2; • Lista de Requisitos Não Funcionais: Presente no Apêndice 3; • Diagrama de Classe: Presente no Apêndice 4; • Caso de Uso expandido e Protótipos de interface: Presente no Apêndice 11; 5.2.2 Planos de Verificação e Validação Os documentos que garantirão a qualidade do sistema Buteko são os seguintes: • Checklists: As checklists do plano de qualidade para o sistema Buteko, são tabelas que reúnem todas as perguntas acrescentando um campo de conferência para os mesmos (Sim/Nao). Deste modo, os seguintes checklists serão utilizados para validar o projeto: o Checklist de requisitos funcionais: Presente no Apêndice 5, garante a verificação da qualidade dos requisitos funcionais; o Checklist de requisitos não funcionais: Presente no Apêndice 6, garante a verificação da qualidade dos requisitos não funcionais; o Checklist de casos de uso e matriz de rastreabilidade: Presente no Apêndice 7, garante a verificação da qualidade dos casos de uso; o Checklist diagrama de classe de análise: Presente no Apêndice 8, garante a verificação da qualidade do diagrama de classe. o Checklist para padrões de construção: Presente no Apêndice 9, garante a verificação da qualidade dos padrões de construção. • Matrizes de rastreabilidade: As matrizes de rastreabilidade são as tabelas, usadas para apoiara determinação da completude de um relacionamento por meio da relação em quaisquer dos documentos, usando uma comparação do tipo muitos-para-muitos. Forma utilizadas para verificar as seguintes dependências: o Matriz de rastreabilidade Requisitos Funcionais x Requisitos Funcionais: Presente no Apêndice 10; o Matriz de rastreabilidade Requisitos Funcionais x Caso de Uso: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Informação: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Interface Homem Computador: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos de Interface Externa: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Projeto: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Arquitetura de Software: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Hardware: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Software: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Desempenho: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Disponibilidade: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Segurança: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Manutenibilidade: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Portabilidade: Presente no Apêndice 10; o Matriz de rastreabilidade Caso de Uso x Requisitos de Documentação: Presente no Apêndice 10. 5.2.3 Documentos de Teste Para realização dos testes para o sistema Buteko, serão utilizados os casos de testes, sendo estes, da seguinte forma: • Casos de Teste: Presente no Apêndice 12. 5.2.4 Relatos de resultados de Verificação, Validação e Teste Os resultados das ações de garantia da qualidade serão acompanhados por meio de revisões e walkthroughs. Para isso, utilizando os documentos de checklists supracitados. 6. GLOSSÁRIO Ator: Humano ou entidade máquina que interage com o sistema para executar uma ação. Caso de Uso: Representa uma unidade funcional coerente provida pelo sistema, subsistema, ou classe manifestada por sequências de mensagens intercambiáveis entre os sistemas e um ou mais atores. Fluxo alternativo: Descrevem desvios pré-definidos do fluxo principal. Fluxo de exceção: Um fluxo alternativo caso o software apresente erros, defeitos ou bugs. Fluxo principal: Descreve a funcionalidade do caso de uso, quando nenhum desvio é tomado. Pré-Condições: Condições que precisam, necessariamente, estarem presentes para que um caso de uso possa ocorrer. Pós-Condições: Condições que devem ocorrer para que um caso de uso possa ser dado como finalizado. Requisitos: Funções, interfaces, desempenho, o contexto e as restrições que deve ter um sistema de software. Sistema de Software: É o conjunto de informações processadas pelo computador que permite a interação entre o usuário e o computador, através de uma interface gráfica. 7. ABREVIAÇÕES CASE: Computer-Aided Software Engineering (Engenharia de Software Auxiliada por Computador). CSS: Cascading Style Sheets (Folhas de Estilo em Cascatas). CSU: Caso de Uso. EOR: Especificação de Objetivos e Requisitos. GRASP: General Responsibility Assignment Software Patterns (Padrões de Software de Atribuição de Responsabilidade Geral). HTML: HyperText Markup Language (Linguagem de Marcação de Hipertexto). RARQ: Requisitos e Restrições de Arquitetura de Software. RDES: Requisitos e Restrições de Desempenho. RDIS: Requisitos e Restrições de Disponibilidade. RDOC: Requisitos de Documentação. Ref: Referência. RFUN: Requisitos e Restrições Funcionais. RIEX: Requisitos de Interface Externa. RIHC: Requisitos e Restrições de Interface Homem-Computador. RINF: Requisitos e Restrições de Informação. RMAN: Requisitos e Restrições de Manutenibilidade. RPHW: Requisitos e Restrições de Plataforma de Hardware. RPOR: Requisitos e Restrições de Portabilidade. RPRO: Requisitos e Restrições de Projeto. RPSW: Requisitos e Restrições de Plataforma de Software. RSEG: Requisitos e Restrições de Segurança. SQL: Structured Query Language (Linguagem de Consulta Estruturada). UML: Unified Modeling Language (Linguagem de modelagem unificada). 8. APÊNDICES Apêndice 1: Lista de Casos de Uso Tabela 2: Lista de Casos de Uso Ref. Descrição Atores Categoria CSU1 Receber ligação. Recepcionista Primário CSU2 Realizar pedido. Cliente Primário CSU3 Solicitar cancelamento de pedidos dentro do prazo de 5 min. Cliente Primário CSU4 Cancelar pedidos após o prazo de confirmação. Gerente Primário CSU5 Aceitar o pedido para preparação. Chef/ Cozinheiro Primário CSU6 Solicitar troca ou exclusão de condimentos. Cliente Primário CSU7 Realizar cadastro de funcionários. Gerente Secundário CSU8 Realizar exclusão de funcionários Gerente Secundário CSU9 Cadastrar pratos. Chef/ Cozinheiro Secundário CSU10 Concluir prato. Chef/ Cozinheiro Primário CSU11 Receber pratos. Chef/ Cozinheiro Primário CSU12 Escolher forma de pagamento. Cliente Primário CSU13 Receber pedido para entrega. Entregador Primário CSU14 Permitir chat direto entre cliente/entregador. Cliente/Entreg ador Primário CSU15 Permitir chat direto entre cliente/restaurante. Cliente/ Gerente Primário CSU16 Sinalizar entrega/recebimento do pedido. Cliente/ Entregador Primário CSU17 Avaliar entrega. Cliente Primário CSU18 Permitir observação de compra. Cliente Primário CSU19 Realizar Pagamento Cliente Primário CSU20 Visualizar cardápio Cliente Primário CSU21 Cadastrar Cliente Cliente Primário CSU22 Realizar login Todos os Atores Primário Apêndice 2: Requisitos Funcionais Tabela 3: Lista de Requisitos Funcionais Ref. Função Categoria Prioridade CSU RFUN1 O sistema deverá registrar a venda de um produto. Evidente Alta CSU5 RFUN2 O sistema deverá permitir alteração dos condimentos. Evidente Média CSU6 RFUN3 O sistema deverá permitir cancelar pedidos dentro do prazo. Oculta Alta CSU3 RFUN4 O sistema deverá enviar confirmação de compra ao Cliente. Oculta Alta CSU2/C SU5 RFUN5 O sistema deverá permitir cadastro dos funcionários. Oculta Média CSU7 RFUN6 O sistema deverá permitir a exclusão de funcionários cadastrados. Oculta Média CSU8 RFUN7 O sistema deverá permitir o Cliente visualizar o cardápio. Evidente Alta CSU2 RFUN8 O sistema deverá permitir ao Chef atualizar cardápio. Oculta Alta CSU9 RFUN9 O sistema deverá enviar o pedido ao Chef. Oculta Alta CSU5 RFUN10 O sistema deverá ter controle dos funcionários. Oculta Alta CSU7/C SU8 RFUN11 O sistema deverá permitir que o Gerente cancele pedidos após o prazo. Oculta Média CSU4 RFUN12 O sistema deverá apresentar uma opção para sinalizar a conclusão do prato. Oculta Média CSU10 RFUN13 O sistema deverá aceitar formas de pagamento online. Evidente Alta CSU12/ CSU19 RFUN14 O sistema deverá aceitar pagamento durante a entrega. Evidente Alta CSU12/ CSU19 RFUN15 O sistema deverá avisar no cardápio online quando um prato estiver em falta. Evidente Alta CSU20 RFUN16 O sistema deverá permitir chat online entre cliente/entregador. Evidente Alta CSU14 RFUN17 O sistema deverá permitir chat online entre cliente/restaurante. Evidente Alta CSU15 RFUN18 O sistema deverá oferecer ao Cliente escolher a forma de como receber o pedido. Evidente Alta CSU16 RFUN19 O sistema deverá oferecer a opção ao Cliente de dar gorjeta. Evidente Média CSU19 RFUN20 O sistemadeverá permitir o Cliente fazer observação ao realizar pedido. Evidente Alta CSU18 RFUN21 O sistema deverá permitir cadastrar Clientes. Evidente Alta CSU21 / CSU22 Apêndice 3: Requisitos não Funcionais Requisitos e Restrições de Informação (RINF) Tabela 4: Lista de Requisitos de Informação Ref. Descrição CSU RINF1 O sistema deverá solicitar informações do funcionário. CSU7 RINF2 O sistema deverá solicitar informações sobre o produto. CSU2/ CSU9 / CSU20 RINF3 O sistema deverá solicitar informações para o cadastro de clientes. CSU21 RINF4 O sistema deverá receber o cadastro dos pratos disponíveis no restaurante CSU9/ CSU20 Requisitos e Restrições de Interface Homem Computador (RIHC) Tabela 5: Lista de Requisitos e Restrições de Interface Homem Computador Ref. Descrição CSU RIHC1 Para facilitar a usabilidade na transação de venda, pede-se que a tela de vendas tenha uma fonte que permita uma fácil visualização. Todos RIHC2 O software deverá apresentar uma interface intuitiva de fácil usabilidade. Todos RIHC3 O software deverá ter uma seção onde o cardápio do dia estará em evidência, a fim de facilitar o acesso. CSU20 RIHC4 O tempo de resposta do programa, deverá ser de no máximo 3 segundos. Todos Requisitos de Interface Externa (RIEX) Tabela 6: Lista de Requisitos de Interface Externa Ref. Descrição CSU RIEX1 O software deverá gerar recibo quando solicitado pelo cliente. CSU19 RIEX2 O software deverá emitir uma nota fiscal após o recebimento, caso o Cliente queira. CSU19 Requisitos e Restrições de Projeto (RPRO) Tabela 7: Lista de Requisitos e Restrições de Projeto Ref. Descrição CSU RPRO1 O software deverá ser desenvolvido pela equipe de desenvolvimento do sistema Buteko Bar e Restaurante. Todos RPRO2 O software deverá ser desenvolvido utilizando a ferramenta CASE, na linguagem Java, gerando um código padrão da empresa. Todos RPRO3 A equipe responsável deverá dar um feedback mensal sobre o andamento do projeto. Todos RPRO4 O projeto só será iniciado pela equipe responsável somente quando o protótipo for aceito pelo cliente. Todos Requisitos e Restrições de Arquitetura de Software (RARQ) Tabela 8: Lista de Requisitos e Restrições de Arquitetura de Software Ref. Descrição CSU RARQ1 O software deverá ser desenvolvido com uma arquitetura de camadas que permita isolar as funcionalidades ligadas ao negócio das mesmas relacionadas com a interface homem-computador. Todos Requisitos e Restrições de Plataforma de Hardware (RPHW) Tabela 9: Lista de Requisitos e Restrições de Plataforma de Hardware Ref. Descrição CSU RPHW1 Aparelhos celulares e computadores deverão operar o software. Todos Requisitos e Restrições de Plataforma de Software (RPSW) Tabela 10: Lista de Requisitos e Restrições de Plataforma de Software Ref. Descrição CSU RPSW1 O software deverá ser desenvolvido para operar em sistemas mobile como IOS e ANDROID. Todos RPSW2 O software deverá ser desenvolvido para operar em sistemas operacionais como WINDOWS, MAC e LINUX. Todos RPSW3 O software deverá ter suporte de portabilidade as versões mais recentes dos sistemas operacionais. Todos RPSW4 O software deverá ter suporte de portabilidade a versão mais recente dos sistemas mobile. Todos Requisitos e Restrições de Desempenho (RDES) Tabela 11: Lista de Requisitos e Restrições de Desempenho Ref. Descrição CSU RDES1 O ambiente onde o software rodará deverá permitir picos de acesso sem queda de velocidade. Todos RDES2 O tempo de resposta máximo permitido para transações on-line é de até 3 segundos. Todos RDES3 O software deverá ser capaz de suprir altas transações simultâneas da função “Realizar Pedido”. CSU3 RDES4 O sistema deverá apresentar funcionalidades necessárias para uma alta eficiência de desempenho. Todos RDES5 O sistema deverá permitir acessos simultâneos sendo operados por diferentes perfis de usuários do sistema. Todos Requisitos e Restrições de Disponibilidade (RDIS) Tabela 12: Lista de Requisitos e Restrições de Disponibilidade Ref. Descrição CSU RDIS1 O software deverá permanecer operante de forma contínua durante todos os dias da semana. Todos RDIS2 O sistema deve reiniciar por completo em até, no máximo, 10 segundos. Todos RDIS3 A opção de realizar pedido não pode ficar mais do que 30 minutos indisponível. Todos RDIS4 O software deverá restringir pedidos fora do horário de funcionamento do estabelecimento. CSU2 RDIS5 As manutenções e atualizações do sistema deverão ser feitas fora do horário de funcionamento do estabelecimento. Todos RDIS6 O software deverá permitir exceções no sistema para horários de funcionamento. Todos Requisitos e Restrições de Segurança (RSEG) Tabela 13: Lista de Requisitos e Restrições de Segurança Ref. Descrição CSU RSEG1 O software deverá solicitar autorização do gerente para excluir uma venda já registrada. CSU4 RSEG2 Somente usuários previamente cadastrados possuem acesso a versão mobile. Todos RSEG3 Somente usuários previamente cadastrados podem realizar compras no software. Todos RSEG4 Para qualquer atualização efetuada deverá ser registrado o usuário que realizou a operação assim como a data e hora. Todos RSEG5 Todo usuário do software deverá ser associado a um perfil que define as funcionalidades que poderão ser utilizadas por ele. Todos Requisitos e Restrições de Manutenibilidade (RMAN) Tabela 14: Lista de Requisitos e Restrições de Manutenibilidade Ref. Descrição CSU RMAN1 O projeto das responsabilidades de cada classe de objetos deverá seguir os padrões GRASP sugeridas no livro Utilizando UML e Padrões de Craig Larman. Todos RMAN2 Todo programa deve estar documentado de acordo com as orientações contidas na Norma de Documentação de Programas da empresa. Todos Requisitos e Restrições de Portabilidade (RPOR) Tabela 15: Lista de Requisitos e Restrições de Portabilidade Ref. Descrição CSU RPOR1 O software deverá ser capaz de rodar tanto em computadores Desktop com Windows 8 ou superior ou com Linux ou em Mac OS X v 10.9, e em celulares com sistemas Android 5.0 ou superior ou em IOS 6.0. Todos RPOR2 O software deverá permitir a utilização dos seguintes Bancos de dados: SQL Server, MySql, MongoDB, POstgre SQL ou Oracle Todos Requisitos de Documentação (RDOC) Tabela 16: Lista de Requisitos de Documentação Ref. Descrição CSU RDOC1 O software deve prover ajuda on-line em todas as suas telas. Todos RDOC2 O software deverá conter um Chatbot para eventuais dúvidas sobre funcionamento. Todos RDOC3 A empresa responsável pelo desenvolvimento deverá prestar suporte ao sistema. Todos Apêndice 4: Diagrama de Classe Figura 2: Diagrama de Classe Apêndice 5: Checklist de Requisitos Funcionais Tabela 17: Checklist de Requisitos Funcionais N° Descrição Sim Não Não conformidade CSU 1 O requisito está devidamente identificado? X 2 O nome está condizente com a necessidade do sistema? X 3 A categoria do RF foi estabelecida corretamente? X 4 A prioridade do RF foi estabelecida corretamente? X 5 O requisito atende a funcionalidade do sistema? X 6 A funcionalidade do sistema está descrita de forma clara e objetiva? X Apêndice 6: Checklist de Requisitos não Funcionais Tabela 18: Checklist de Requisitos não Funcionais N° Descrição Sim Não Não conformidade CSU 1 O requisito está devidamente identificado? X 2 A justificativa está bem explanada? X 3 Os critérios de aceitação estão bem definidos? X 4 Os nomes estão condizentes com as necessidades do sistema? X5 A prioridade do RF foi estabelecida corretamente? X Apêndice 7: Checklist de Casos de Uso e Matriz de Rastreabilidade Tabela 19: Checklist de Casos de Uso e Matriz de Rastreabilidade N° Descrição Sim Não Não conformidade CSU 1 Os atores foram definidos corretamente? X 2 Os gatilhos são intuitivos e correspondem as necessidades do sistema? X 3 As pré-condições foram expressas de forma clara e objetiva? X 4 O fluxo de execução está claro, direto e sem ambiguidade? X 5 O caso de uso corresponde exatamente ao que foi descrito no requisito? X 6 O protótipo interface está conforme foi descrito o caso de uso? X Apêndice 8: Checklist para diagrama de classe de análise Tabela 20: Checklist para diagrama de classe de análise Descrição Sim Não Os nomes das classes possuem nome e descrição adequados? X Os atributos das classes possuem nome e descrição adequados? X Todos os serviços da classe possuem nome e descrição adequados? X O diagrama está claro e objetivo? X Apêndice 9: Checklist para padrões de construção As figuras abaixo mostram alguns modelos para os respectivos padrões de construção. Apêndice 9.1: Codificação Tabela 21: Checklist para codificação Descrição No Padrão? (Sim) No Padrão? (Não) Nomes X Nomes de Classes e Interfaces X Nomes de Métodos X Nomes de Variáveis X Nomes de Constantes X Comentários X Linhas em Branco X Espaço em Branco/ Tabulação X Variáveis locais X Atributos X Declarações/Comandos X Chaves/Blocos X Apêndice 9.2: Verificação O sistema será executado com dados de teste e o seu comportamento operacional é observado. Tabela 22: Checklist para verificação Descrição Data Realizado Não Realizado Descrição Teste 1 01/12/2020 X Sem observações Teste 2 02/12/2020 X Sem observações Teste 3 03/12/2020 X Sem observações Teste 4 04/12/2020 X Sem observações Apêndice 9.3: Teste de Unidade Executado antes do teste de integração, este deve ser realizado utilizando o método de teste de caixa branca. Tabela 22: Checklist para teste de unidade Descrição Data Realizado Não Realizado Descrição Teste 1 01/12/2020 X Sem observações Teste 2 02/12/2020 X Sem observações Teste 3 03/12/2020 X Sem observações Teste 4 04/12/2020 X Sem observações Apêndice 9.4: Teste de Integração Teste que deverá encontrar falhas de integração entre unidades, e não funcionalidades da mesma. Tabela 22: Checklist para teste de integração Descrição Data Realizado Não Realizado Descrição Teste 1 01/12/2020 X Sem observações Teste 2 02/12/2020 X Sem observações Teste 3 03/12/2020 X Sem observações Teste 4 04/12/2020 X Sem observações Apêndice 9.5: Depuração Deverá analisar os resultados obtidos com os esperados. No caso de divergência, a causa deverá ser encontrada e corrigida. Tabela 23: Checklist para depuração Descrição Data Correto Divergente Descrição Comparação 1 01/12/2020 X Sem observações Comparação 2 02/12/2020 X Sem observações Comparação 3 03/12/2020 X Sem observações Comparação 4 04/12/2020 X Sem observações Apêndice 10: Matrizes de Rastreabilidade Matriz de rastreabilidade Requisitos Funcionais x Requisitos Funcionais Tabela 24: Matriz de rastreabilidade Requisitos Funcionais x Requisitos Funcionais Matriz de rastreabilidade Requisitos Funcionais x Caso de Uso Tabela 25: Matriz de rastreabilidade Requisitos Funcionais x Caso de Uso Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Informação Tabela 26: Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Informação CSU 2 CSU 7 CSU 9 CSU 20 CSU 21 RINF 1 X RINF 2 X X X RINF 3 X RINF 4 X X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Interface Homem Computador Tabela 27: Matriz de rastreabilidade Caso de Uso x RIHC CSU 20 Todos RIHC 1 X RIHC 2 X RIHC 3 X RIHC 4 X Matriz de rastreabilidade Caso de Uso x Requisitos de Interface Externa Tabela 28: Matriz de rastreabilidade Caso de Uso x Requisitos de Interface Externa CSU 19 RIEX 1 X RIEX 2 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Projeto Tabela 29: Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Projeto Todos RPRO 1 X RPRO 2 X RPRO 3 X RPRO 4 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Arquitetura de Software Tabela 30: Matriz de rastreabilidade Caso de Uso x RARQ Todos RARQ 1 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Hardware Tabela 31: Matriz de rastreabilidade Caso de Uso x RPHW Todos RPHW 1 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Plataforma de Software Tabela 32: Matriz de rastreabilidade Caso de Uso x RPSW Todos RPSW 1 X RPSW 2 X RPSW 3 X RPSW 4 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Desempenho Tabela 33: Matriz de rastreabilidade Caso de Uso x RDES CSU 3 Todos RDES 1 X RDES 2 X RDES 3 X RDES 4 X RDES 5 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Disponibilidade Tabela 34: Matriz de rastreabilidade Caso de Uso x RDIS CSU 2 Todos RDIS 1 X RDIS 2 X RDIS 3 X RDIS 4 X RDIS 5 X RDIS 6 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Segurança Tabela 35: Matriz de rastreabilidade Caso de Uso x RSEG CSU 4 Todos RSEG 1 X RSEG 2 X RSEG 3 X RSEG 4 X RSEG 5 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Manutenibilidade Tabela 35: Matriz de rastreabilidade Caso de Uso x RMAN Todos RMAN 1 X RMAN 2 X Matriz de rastreabilidade Caso de Uso x Requisitos e Restrições de Portabilidade Tabela 36: Matriz de rastreabilidade Caso de Uso x RPOR Todos RPOR 1 X RPOR 2 X Matriz de rastreabilidade Caso de Uso x Requisitos de Documentação Tabela 36: Matriz de rastreabilidade Caso de Uso x RDOC Todos RDOC 1 X RDOC 2 X RDOC 3 X Apêndice 11: Casos de Uso e Interfaces Caso de Uso Expandido Tabela 37: CSU1 Identificação: Receber ligação (CSU1) Escopo: Acesso via telefone Descrição do propósito: Permite que o cliente realize ligação para o estabelecimento e o sistema a identifique e a receba. Ator primário: Cliente e Recepcionista Pré-condições: A linha telefônica deve estar funcionando. Pós-condições: O cliente realizar a ligação. Fluxo normal: 1 - O cliente realiza a ligação. 2 - O sistema identifica que há uma ligação e direciona para o recepcionista. 3 - O recepcionista recebe a ligação. 4 - O pedido é anotado. Fluxo de exceção: Se o cliente quiser fazer uma reclamação ou mesmo sugerir alguma melhora, o sistema irá direcioná- lo para outra área de atendimento. Requisitos relacionados: Tabela 38: CSU2 Identificação: Realizar pedido (CSU2) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente realiza o seu pedido pelo aplicativo. Ator primário: Cliente Pré-condições: Ter logado no sistema. Pós-condições: Ter realizado o pedido. Fluxo normal: 1 - O cliente deve realizar login no sistema. 2 - O sistema mostra as ofertas disponíveis do dia. 3 - O cliente escolhe os itens do pedido. 4 - O sistema calcula o preço total do pedido. 5 - O cliente escolhe a forma de pagamento. 6 - O cliente realiza o pagamento. 7 - O sistema verifica os dados do pagamento. 8 - O sistema processa o pedido. Fluxo de exceção: Se o cliente não estiver cadastrado no sistema, ele será direcionado para o caso de uso “Cadastrar Cliente” onde ele irá fornecer alguns dados para cadastro. Requisitos relacionados:RF4 e RF7 Figura 3: Protótipo Meu carrinho Tabela 39: CSU3 Identificação: Solicitar cancelamento de pedido dentro do prazo (CSU3) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente realizará o cancelamento do pedido dentro do prazo máximo de cancelamento de 5 minutos. Ator primário: Cliente Pré-condições: Ter feito o pedido e estar com prazo cancelamento dentro do prazo máximo de 5 minutos. Pós-condições: O pedido terá sido cancelado. Fluxo normal: 1 - O cliente deverá realizar o login no sistema. 2 - O cliente acessa a opção “Meus Pedidos”. 3 - O cliente verifica o pedido. 4 - O cliente aperta em “Cancelar pedido”. 5 - O sistema processo o pedido de cancelamento. 6 - O sistema cancela o pedido. 7 - O sistema mostra a mensagem “Cancelamento realizado com sucesso”. 8 - O sistema apresenta uma mensagem que o dinheiro será estornado em até 24 horas. 9 - O sistema envia uma mensagem para o Chef/Cozinheiro informando que o pedido foi cancelado. Fluxo de exceção: Se o cliente tentar realizar o cancelamento do pedido fora do prazo limite estipulado de 5 minutos, ele será redirecionado para o caso de uso “Cancelar pedidos após o prazo de confirmação”. Requisitos relacionados: RF3 Figura 4: Protótipo Meus pedidos Tabela 40: CSU4 Identificação: Cancelar pedidos após o prazo de confirmação (CSU4) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente realizará o cancelamento do pedido após o prazo máximo de cancelamento de 5 minutos. Ator primário: Cliente e Gerente Pré-condições: Ter logado no sistema. Pós-condições: Ter cancelado o pedido. Fluxo normal: 1 - O cliente deverá realizar o login no sistema. 2 - O cliente abre a opção “Meus pedidos”. 3 - O cliente aperta na opção “Cancelamento com atraso”. 4 - O sistema envia uma solicitação para o gerente sobre cancelamento com atraso. 5 - O gerente entra em contato com o cliente. 6 - O cliente fala o motivo do cancelamento. 7 - O gerente realiza o cancelamento. 8 - O sistema cobra uma taxa mínima de 50% do valor do pedido e estorna o dinheiro em até 24h. Fluxo de exceção: Se o cliente, por engano, entrar na opção “Cancelamento com atraso”, o cliente deve acessar a opção “Help” que lhe dará as instruções de como cada seção do sistema funciona. Requisitos relacionados: RF11 Figura 5: Protótipo Meus pedidos Tabela 41: CSU5 Identificação: Aceitar o pedido para preparação (CSU5) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O Chef/Cozinheiro analisa o pedido e aceita o pedido para a etapa de preparação. Ator primário: Chef/Cozinheiro Pré-condições: O pedido deverá ter sido realizado pelo cliente. Pós-condições: O Chef/Cozinheiro terá aceitado o pedido. Fluxo normal: 1 - O Chef/Cozinheiro deverá realizar o login no sistema. 2 - O sistema envia pedido para o Chef/Cozinheiro. 3 - O Chef/Cozinheiro aceita o pedido. Fluxo de exceção: Caso tenha falta de algum ingrediente no estoque, o Chef/Cozinheiro informa ao sistema e o cliente será informado ao realizar o pedido, ele poderá trocará o pedido ou trocar algum ingrediente. Requisitos relacionados: RF1, RF4 e RF9 Figura 6: Protótipo pedidos Tabela 42: CSU6 Identificação: Realizar troca ou exclusão de pratos (CSU6) Escopo: Aceso via o aplicativo “O Buteko”. Descrição do propósito: O cliente realiza a troca ou exclusão de algum condimento no pedido. Ator primário: Cliente Pré-condições: Ter realizado login. Pós-condições: O cliente terá feito a troca ou exclusão de algum condimento no pedido. Fluxo normal: 1 - O cliente deverá fazer o login no sistema. 2 - O cliente escolhe o pedido. 3 - O cliente escolhe a opção “Editar Carrinho”. 4 - O sistema realiza a troca ou exclusão de prato para ver se tem no estoque caso seja troca. 5 - O sistema confirma a troca ou exclusão de prato. 6 - O cliente aperta em “Realizar Pedido”. Fluxo de exceção: Se o pedido já estiver sido finalizado, o cliente deverá conversar com o sistema via chat. Requisitos relacionados: RF2 Figura 7: Editar carrinho Tabela 43: CSU7 Identificação: Realizar cadastro de funcionários (CSU7) Escopo: Aceso via o aplicativo “O Buteko” Descrição do propósito: O sistema irá permitir que o gerente realize o cadastro de funcionários. Ator primário: Gerente, Recepcionista, Chef/Cozinheiro, Entregador. Pré-condições: Ter realizado login. Pós-condições: Ter realizado o cadastro do funcionário. Fluxo normal: 1 - O gerente deverá realizar o login no sistema. 2 - O gerente acessa a opção “Cadastrar funcionário”. 3 - O funcionário informa os dados pedidos para cadastro como: “Nome Completo, Username, E- mail, CPF, RG, Data de Nascimento, Telefone” o funcionário também informa a senha duas vezes. 4 - O funcionário aperta na opção “Aceito os termos de uso do sistema”. 5 - O gerente aperta em “Salvar cadastro”. 6 - O sistema mostra mensagem “Cadastro realizado com sucesso”. Fluxo de exceção: Na falta de algum dado para o cadastro, será apresentada uma mensagem de alerta com o campo em vermelho informando que deverá ser preenchido para a continuidade do processo. Requisitos relacionados: RF5 e RF10 Figura 8: Protótipo cadastrar funcionário Tabela 44: CSU8 Identificação: Realizar exclusão de funcionários (CSU8) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O gerente pode desativar/excluir algum funcionário cadastrado. Ator primário: Gerente Pré-condições: Ter realizado login. Pós-condições: Ter excluído/desativo algum funcionário. Fluxo normal: 1 - O gerente deverá realizar o login no sistema. 2 - O gerente entra na aba “Cadastrados”. 3 - O gerente abre a opção “Funcionários”. 4 - O gerente localiza o funcionário a ser retirado. 5 - O gerente aperta em “Editar”. 6 - O gerente aperta em “Excluir funcionário”. 7 - O sistema processa a solicitação. 8 - O sistema exclui o funcionário. 9 - O sistema informa a mensagem “Funcionário excluído com sucesso”. Fluxo de exceção: Caso o gerente não encontre o funcionário pelo nome, pode pesquisar também por CPF. Requisitos relacionados: RF6 e RF10 Figura 9: Protótipo funcionários Tabela 45: CSU9 Identificação: Cadastrar pratos (CSU9) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O Chef/Cozinheiro cadastrará todos os pratos culinário do estabelecimento. Ator primário: Chef/Cozinheiro Pré-condições: Ter realizado login. Pós-condições: Ter cadastrado um novo prato. Fluxo normal: 1 - O Chef/Cozinheiro deverá realizar o login no sistema. 2 - O Chef/Cozinheiro abre a opção “Adicionar Pratos”. 3 - O Chef/Cozinheiro deve adicionar os itens que compõem o prato. 4 - O Chef/Cozinheiro informa o nome do prato. 5 - O Chef/Cozinheiro aperta em “Adicionar Prato”. 6 - O sistema processa a solicitação. 7 - O sistema adiciona o prato no menu. 7 - O sistema informa a mensagem “Prato cadastrado com sucesso”. Fluxo de exceção: Se algum item do prato estiver em falta no estoque, o sistema deve informar ao Chef/Cozinheiro através de um alerta que o condimento está em falta. Requisitos relacionados: RF8 Figura 10: Protótipo adicionar pratos Tabela 46: CSU10 Identificação: Concluir o prato (CSU10) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O Chef/Cozinheiro informa quando um prato estiver finalizado. Ator primário: Chef/Cozinheiro Pré-condições: Ter logado no sistema. Pós-condições: O chefe deverá mudar o status do prato para finalizado. Fluxo normal: 1 - O Chef/Cozinheiro deverá realizar o login no sistema. 2 - O Chef/Cozinheiro abre a opção “Pedidos”. 3 - O Chef/Cozinheiro localiza o pedido. 4 - O Chef/Cozinheiro muda o status do prato para “Em entrega”. Fluxo de exceção: Caso o prato seja canceladoantes do Chef/Cozinheiro mudar seu status, o sistema deve alertar que o pedido foi cancelado. Requisitos relacionados: RF12 Tabela 47: CSU11 Identificação: Receber pratos (CSU11) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O Chef/Cozinheiro recebe os pratos para serem elaborados. Ator primário: Chef/Cozinheiro Pré-condições: Ter logado no sistema. Pós-condições: O Chef/Cozinheiro deverá ter recebido os pratos. Fluxo normal: 1 - O Chef/Cozinheiro deverá realizar o login no sistema. 2 - O sistema processa o pedido do cliente e coloca em uma fila. 3 - O Chef/Cozinheiro aceita o pedido. 4 - O sistema coloca o pedido em último lugar. 5 - Na medida que o Chef/Cozinheiro conclui algum prato, o prato sobe de lugar na fila como prioridade. Fluxo de exceção: Se um pedido for cancelado dentro do prazo de 5 minutos, o sistema deve reorganizar a fila de pedidos. Requisitos relacionados: Figura 11: Protótipo pedidos Tabela 48: CSU12 Identificação: Escolher forma de pagamento (CSU12) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: Na hora do pagamento, o cliente terá algumas opções para escolha de pagamento. Ator primário: Cliente Pré-condições: Ter logado no sistema. Pós-condições: Ter realizado o pagamento na forma escolhida, Fluxo normal: 1 - O cliente deverá fazer login no sistema. 2 - O cliente abre a opção “Meu Carrinho”. 3 - O cliente aperta na opção “Escolher forma de pagamento”. 4 - O sistema apresenta as possíveis formas de realizar o pagamento. 5 - O cliente informa a opção que deseja. 6 - O sistema identifica a forma escolhida. 7 - O cliente aperta em “Realizar pedido”. 8 - O sistema informa a mensagem “Pagamento realizado com sucesso”. Fluxo de exceção: Caso o cliente escolha uma forma de pagamento não desejada antes de realizar o pedido, ele poderá editar a opção em “Escolher forma de pagamento”. Caso já tenha realizado o pedido, o cliente pode realizar o cancelamento do pedido dentro do prazo estimado de 5 minutos. Requisitos relacionados: RF13 e RF14 Figura 12: Protótipo realizar pedido Tabela 49: CSU13 Identificação: Receber pedido para entrega (CSU13) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O sistema envia uma mensagem para que o entregador possa realizar a entrega do pedido. Ator primário: Entregador Pré-condições: Ter logado no sistema. Pós-condições: O entregador deverá ter recebido o pedido para entrega. Fluxo normal: 1 - O entregador deverá estar logado no sistema. 2 - O Chef/Cozinheiro muda o status para “Em entrega”. 3 - O sistema informa o pedido para o entregador. 4 - O entregador recebe o pedido e o endereço para onde ele deverá entregar. 5 - O entregador finaliza a entrega. 6 - O entregador informa ao sistema que o pedido foi entregue mudando o status do pedido. 7 - O sistema processa a informação e muda o status do pedido tirando ele da fila. Fluxo de exceção: Caso haja algum problema com o entregador, ele deverá informar ao sistema para que o prazo de entrega seja recalculado. Requisitos relacionados: Figura 13: Protótipo pedidos entregador Tabela 50: CSU14 Identificação: Permitir chat direto entre Cliente/Entregador (CSU14) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente poderá realizar um diálogo com o entregador via chat do aplicativo. Ator primário: Cliente e Entregador Pré-condições: Os atores devem estar logados no sistema. Pós-condições: Ter realizado o bate papo via chat do aplicativo entre o cliente e entregador. Fluxo normal: 1 - O cliente e o entregador deverá estar logado no sistema. 2 - O cliente deve abrir a opção “Chat de Entrega”. 3 - O cliente manda uma mensagem. 4 - O sistema processa a mensagem e manda uma notificação pro entregador dizendo que há uma mensagem do cliente. 5 - O entregador tem até 10 minutos para responder. Fluxo de exceção: Caso o entregador passe do prazo de 10 minutos para responder, uma men sagem de alerta será enviada pelo sistema ao entregador. Requisitos relacionados: RF16 Figura 14: Protótipo chat Tabela 51: CSU15 Identificação: Permitir chat direto entre Cliente/Restaurante (CSU15) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente poderá realizar um diálogo com o restaurante via chat do aplicativo. Ator primário: Cliente e Gerente Pré-condições: Ter logado no sistema. Pós-condições: Ter realizado o bate papo via chat do aplicativo entre o cliente e gerente. Fluxo normal: 1 - O cliente e o gerente deverá estar logado no sistema. 2 - O cliente deve abrir a opção “Chat de Entrega”. 3 - O cliente abre a opção “Chat direto”. 4 - O sistema mostrará tela para chat direto com o restaurante. 5 - O cliente manda uma mensagem. 6 - O sistema processa a mensagem e manda uma notificação para o gerente. Fluxo de exceção: Caso o cliente queira realizar uma reclamação ou dar um feedback sobre o aplicativo, ele deve fechar a opção chat direto e abrir a opção “Suporte”. Requisitos relacionados: RF17 Figura 15: Protótipo chat gerente Tabela 52: CSU16 Identificação: Sinalizar entrega/recebimento do pedido (CSU16) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: Neste caso de uso, qualquer entrega de pedido realizado, será notificada para o estabelecimento e para o cliente. Ator primário: Cliente/Entregador Pré-condições: O app deve estar funcional Pós-condições: A notificação de entrega será enviada. Fluxo normal: 1 - O pedido está pronto para a entrega 2 – O chef notifica ao sistema 3 – O sistema notifica ao cliente e o entregador 4 – O entregador realiza a entrega do pedido 5 – O sistema notifica ao estabelecimento que a entrega foi realizada Fluxo de exceção: Caso o cliente não receba o pedido ele deve entrar em contato com o estabelecimento via chat do app o “O Buteko”. E se o estabelecimento não estiver recebendo a mensagem de confirmação de entrega ele deve entrar em contato com a equipe de suporte do app “O Buteko”. Requisitos relacionados: RF18 Figura 15: Protótipo aceitar pedido Tabela 54: CSU17 Identificação: Avaliar entrega (CSU17) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente irá avaliar o serviço de entrega do aplicativo através do nível de estrela de 1 a 5 e com comentário opcional. Ator primário: Cliente Pré-condições: Ter realizado e recebido o pedido. Pós-condições: Ter avaliado a entrega. Fluxo normal: 1 - O cliente deverá estar logado no sistema. 2 - O cliente receberá o pedido. 3 - O cliente deverá abrir a opção “Avaliar entrega”. 4 - O cliente avalia a entrega em uma escala de 1 a 5 estrelas. 5 - Opcionalmente, o cliente adiciona um comentário. 6 - O cliente aperta a opção “Enviar avaliação”. 7 - O sistema processa a tarefa e avaliação será enviada para o estabelecimento e para a equipe de suporte do aplicativo. Fluxo de exceção: Caso a opção de avaliação não esteja funcionando, o cliente pode entrar na opção de suporte e conversar com um dos atendentes do aplicativo via chat para relato de erros, sugestões ou elogios. Requisitos relacionados: Figura 16: Protótipo avaliar entrega Tabela 55: CSU18 Identificação: Permitir observação de compra (CSU18) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente poderá visualizar o seu pedido e adicionar observações Ator primário: Cliente Pré-condições: O Pedido deve estar em aberto Pós-condições: Será apresentada uma lista com todos os itens do pedido e suas observações Fluxo normal: 1 – O cliente abrirá o app “O Buteko”. 2 – O cliente deverá escolher os itens do pedido. 3 – O cliente irá realizar suas observações referente ao pedido. 4 - O cliente irá visualizar o valor total dos itens.5 – O cliente realizará o pagamento. 6 - O pedido será finalizado. 7– Será emitido um espelho do pedido com todos os itens que o compõe o pedido e o valor total pago. Fluxo de exceção: Caso haja algum item erra do o cliente deve ir à opção de cancelamento porem para que o cancelamento seja realizado de modo imediato e necessário que o pedido esteja dentro do prazo máximo de cancelamento pelo sistema. Requisitos relacionados RF20 Figura 17: Protótipo observação de compras Tabela 56: CSU19 Identificação: Realizar Pagamento (CSU19) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: Será realizado o pagamento dos pedidos realizados. Ator primário: Cliente Pré-condições: Ter realizado pedido. Pós-condições: Terá realizado o pagamento do pedido. Fluxo normal: 1 - O cliente realiza o pedido. 2 - O cliente verifica o valor total do pedido. 3 - O cliente escolhe a forma de pagamento. 4 - Se o pagamento for no cartão de crédito ou débito, o pagamento é realizado no mesmo instante. 4.1- Caso o cliente realize o pagamento com dinheiro físico, o pedido deverá ficar com o status “Aguardando pagamento” até que esse seja realizado. 5 - Ao receber o pagamento, o entregador deve notificar no aplicativo, o seu recebimento. Fluxo de exceção: Caso tenha um cancelamento via cartão de crédito ou débito, a devolução do dinheiro será realizada em até 48h. Requisitos relacionados: RF13, RF14 e RF19 Figura 18: Protótipo pagamento Tabela 57: CSU20 Identificação: Visualizar cardápio (CSU20) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: O cliente irá visualizar e escolher os itens que deverão compor o pedido. Ator primário: Cliente Pré-condições: Ter logado no sistema. Pós-condições: O cliente poderá visualizar a lista de itens que ele pode adicionar ao seu pedido Fluxo normal: 1 – O cliente irá abrir o app o “O Buteko” 2 – O cliente deve selecionar os itens que iram compor o seu pedido 3 – O cliente visualizara os itens do seu pedido 4 – Após conferir os itens o cliente finaliza o pedido 5 – O pedido é encaminhado para o chef 6 – O chef inicia o preparo do pedido Fluxo de exceção: Caso o cliente queira cancelar o pedido e deve ir à opção de cancelamento agora se ele quer alterar o pedido ele deve ir à opção de alterar pedido. Requisitos relacionados: RF15 Figura 19: Protótipo cardápio Tabela 58: CSU21 Identificação: Cadastrar Cliente (CSU21) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: Este caso de uso permite que o usuário realize o seu cadastro no sistema Ator primário: Cliente Pré-condições: O cliente não pode já estar cadastrado Pós-condições: O cliente realizara o login no sistema Fluxo normal: 1 – O cliente deve abrir o app 2 – O app deve mostrar uma tela para cadastro 3 – O cliente deve fornecer os dados necessários para o cadastro 4 – O cliente deve ler o termo de utilização do app 5 – O sistema enviara um código de confirmação para finalização do cadastro 6 – O cliente irá receber o código em seu e-mail e devera confirmá-lo no sistema 7 – O cadastro será finalizado e uma mensagem de cadastro finalizado com sucesso será apresentada na tela Fluxo de exceção: Caso haja algum erro no preenchimento dos dados será exibida uma mensagem de erro e o campo a ser corrigido ficara na cor vermelha. Requisitos relacionados: Figura 20: Protótipo cadastro cliente Tabela 59: CSU22 Identificação: Realizar login (CSU22) Escopo: Acesso via o aplicativo “O Buteko” Descrição do propósito: Os atores irão realizar login no sistema. Ator primário: Todos os atores Pré-condições: Ter feito cadastro anteriormente. Pós-condições: Ter realizado o login. Fluxo normal: 1 - O sistema mostra tela para preencher os campos de “Usuário ou E-mail” e “Senha”. 2 - O ator informa os dados. 3 - O ator aperta em “Entrar”. 4 - O sistema valida os dados e abre a tela principal do aplicativo. Fluxo alternativo: 1.1 O cliente habilita a opção Leitor Digital. 1.2 O sistema lê a digital e verifica se é válida. 1.3 O sistema valida os dados e abre a tela principal do aplicativo. Fluxo de exceção: Caso o cliente não tenha cadastro ainda no sistema, ele deverá apertar na opção “Não sou cadastrado” e ele será redirecionado para o caso de uso “Cadastre-se”. Requisitos relacionados: RF21 Figura 21: Protótipo login Apêndice 12: Casos de Teste Tabela 60: Caso de Teste CSU1 CASO DE TESTE Identificação Receber ligação (CSU1) Objetivo Permitir que o cliente realize uma ligação para o estabelecimento e o sistema a identifique e a receba. Gatilho O usuário realizara ligações ao restaurante. Passos 1 – O cliente realiza a ligação. 2 – O sistema identifica a ligação e a direciona para um dos atendentes. 3 – O atendente recebe a ligação. 4 – O pedido é anotado. Resultado esperado O cliente realizará a ligação. Resultado real Evidências Tabela 61: Caso de Teste CSU2 CASO DE TESTE Identificação Realizar Pedido (CSU2) Objetivo Permitir que o cliente realize o seu pedido. Gatilho O usuário abrirá o aplicativo e escolherá um prato do cardápio para realizar pedido. Passos 1 - O cliente loga no sistema. 2 - O sistema verifica quais são as ofertas do dia. 3 - O cliente escolhe os itens do pedido. 4 - O sistema mostra o preço total do pedido. 5 - O cliente realiza o pagamento. 6 - O sistema processará o pedido. Resultado esperado O cliente realizará o pedido. Resultado real Evidências Tabela 62: Caso de Teste CSU3 CASO DE TESTE Identificação Solicitar cancelamento de pedido dentro do prazo (CSU3) Objetivo Realizar cancelamento de um pedido dentro do prazo máximo de cancelamento. Gatilho O usuário escolhe cancelar um pedido. Passos 1 – O cliente realiza o login. 2 – Vai até a opção de “meus pedidos”. 3 – Localiza o pedido a ser cancelado. 4 – Entra na opção de cancelamento do pedido. 5 – O sistema realiza o cancelamento do pedido. 6 – O sistema mostra a mensagem de cancelamento realizados. 7 – O sistema apresenta uma mensagem para que o cliente espere até 24 horas até que a devolução seja realizada. Resultado esperado O pedido é cancelado com sucesso. Resultado real Evidências Tabela 63: Caso de Teste CSU4 CASO DE TESTE Identificação Cancelar pedidos após o prazo de confirmação (CSU4) Objetivo Realizar cancelamento de pedidos após seu prazo máximo para cancelamento. Gatilho O cliente abrirá a aba “Carrinho” do aplicativo. Passos 1 - O cliente deverá logar no sistema. 2 - O cliente procura o pedido a ser cancelado na aba “Pedidos”. 3 - O cliente apertará na opção “Cancelamento com atraso”. 4 - O sistema enviará uma mensagem para o sistema usado pelo gerente para que seja analisada. 5 - O gerente entra em contato com o cliente. 6 - O cliente fala o motivo do cancelamento. 7 - O gerente realiza o cancelamento. 8 - O sistema estornará o dinheiro ao cliente em até 24 horas. Resultado esperado O pedido será cancelado. Resultado real Evidências Tabela 64: Caso de Teste CSU5 CASO DE TESTE Identificação Aceitar pedido para preparação (CSU5) Objetivo O chefe de cozinha analisa o pedido e verifica se ele pode passar para a etapa de preparação. Gatilho O pedido é realizado pelo cliente. Passos 1 – O cliente realiza o pagamento do pedido. 2 – O pedido é encaminhado para o chefe/cozinheiro. 3 – O pedido é analisado. 4 – O pedido é aceito. Resultado esperado O pedido é aceito pela cozinha. Resultado real Evidências Tabela 65: Caso de Teste CSU6 CASO DE TESTE Identificação Solicitar troca ou exclusão de condimento (CSU6) Objetivo O cliente pode realizar alterações em seu pedido antes de concluí-lo. Gatilho O cliente logará no sistema, escolherá um pedido e fará as alterações necessárias no pedido.Passos 1 - O cliente loga no sistema. 2 - O cliente seleciona o pedido. 3 - O cliente altera algum condimento. 4 - O cliente grava o pedido. Resultado esperado Realizar troca ou exclusão de condimentos de algum pedido. Resultado real Evidências Tabela 66: Caso de Teste CSU7 CASO DE TESTE Identificação O sistema deverá permitir cadastro de usuários (CSU7) Objetivo Permitir cadastro de novos funcionários. Gatilho Entrada de novos funcionários no restaurante. Passos 1 – O sistema deve apresentar uma tela de cadastro. 2 – O sistema irá solicitar alguns dados do funcionário. 3 – O funcionário irá inserir dados requeridos. 4 – O funcionário deverá concordar com os termos de uso do sistema. 5 – O gerente irá confirmar o cadastro do funcionário. 6 – O funcionário realizará o login. Resultado esperado Cadastro de novos funcionários realizado com sucesso. Resultado real Evidências Tabela 67: Caso de Teste CSU8 CASO DE TESTE Identificação Realizar exclusão de funcionários (CSU8) Objetivo Realizar a exclusão de um funcionário cadastrado no sistema. Gatilho O gerente irá logar no sistema e excluirá um funcionário. Passos 1 - O gerente deve logar no sistema. 2 - O gerente localiza o funcionário a ser excluído. 3 - O gerente aperta em “Excluir cadastro”. 4 - O sistema exclui o funcionário. Resultado esperado Excluir funcionário cadastrado. Resultado real Evidências Tabela 68: Caso de Teste CSU9 CASO DE TESTE Identificação Cadastrar pratos (CSU9) Objetivo Cadastrar novos pratos no sistema. Gatilho Novo prato deve ser inserido no sistema. Passos 1 – O cozinheiro deve estar logado. 2 – O cozinheiro deve ir para a opção de adicionar pratos. 3 - O cozinheiro deve adicionar itens que compõem o prato. 4 - O cozinheiro irá nomear o prato. 5 – O cozinheiro irá gravar o prato no sistema. Resultado esperado Novo prato inserido no sistema. Resultado real Evidências Tabela 69: Caso de Teste CSU10 CASO DE TESTE Identificação Concluir o prato (CSU10) Objetivo O cozinheiro vai informar quando um prato estiver finalizado. Gatilho O cozinheiro loga no sistema, o chef/cozinheiro informa que o pedido está pronto. Passos 1 - O cozinheiro deve logar no sistema. 2 - O cozinheiro abrirá a opção “Pedidos pendentes”. 3 - O cozinheiro localiza o pedido. 4 - O cozinheiro aperta em “Status” e depois em “Concluído”. 5 - O sistema muda o status do pedido de pendente para concluído. Resultado esperado O cozinheiro mudará o status do pedido para concluído. Resultado real Evidências Tabela 70: Caso de Teste CSU11 CASO DE TESTE Identificação Receber ligação (CSU11) Objetivo Receber pratos. Gatilho O cozinheiro irá receber os pratos a serem preparados. Passos 1 – O sistema deverá colocar os pedidos em uma fila. 2 – À medida que o chefe for concluindo os pedidos, o sistema deve também alterar na fila. 3 – Quando o pedido chegar na primeira posição da fila, ele deve ser enviado para a análise e confirmação do chefe. Resultado esperado O cozinheiro recebe novos pedidos. Resultado real Evidências Tabela 71: Caso de Teste CSU12 CASO DE TESTE Identificação Escolher forma de pagamento (CSU12) Objetivo O cliente escolhe a forma de pagamento. Gatilho O cliente loga no aplicativo, finaliza a compra e escolhe a forma de pagamento. Passos 1- O cliente deve logar no sistema. 2 - O cliente realiza pedido. 3 - O sistema apresentará as formas de realizar pagamento. 4 - O cliente escolhe uma das formas de pagamento. 5 - O cliente realiza o pagamento do pedido. 6 - O sistema valida se todos os dados estão corretos. 7 - O sistema mostra a mensagem “Paga realizado com sucesso”. Resultado esperado Realizar pagamento com a forma desejada. Resultado real Evidências Tabela 72: Caso de Teste CSU13 CASO DE TESTE Identificação Receber pedido para entrega (CSU13) Objetivo Realizar entrega do pedido. Gatilho Um pedido foi finalizado pela cozinha e está pronto para entrega. Passos 1 – O entregador deve estar logado no sistema. 2 – O chef deve concluir o pedido. 3 – Com o pedido concluído, o entregador será informado do endereço do cliente. 4 – Ao finalizar entrega, o entregador deve marcar como “entregue” no sistema. Resultado esperado Pedido entregue ao cliente. Resultado real Evidências Tabela 73: Caso de Teste CSU14 CASO DE TESTE Identificação Permitir chat direto entre cliente e entregador (CSU14) Objetivo O cliente poderá realizar um diálogo com o entregador via chat do aplicativo. Gatilho O cliente e o entregador irão logar no sistema, abrir a opção do pedido e abrir o chat. Passos 1 - O entregador e o cliente devem logar no sistema. 2 - O entregador e o cliente abrem a opção chat de entrega. 3 - O sistema verifica que há uma mensagem para ser enviada e a envia no chat. 4 - O entregador deve ter um prazo de até 10 minutos para resposta. Resultado esperado Realizar diálogo entre cliente e entregador via chat do aplicativo. Resultado real Evidências Tabela 74: Caso de Teste CSU15 CASO DE TESTE Identificação Permitir chat direto entre Cliente/Restaurante (CSU15) Objetivo O cliente poderá realizar um diálogo com o restaurante via chat do aplicativo. Gatilho O cliente e o entregador irão abrir a opção de chat do aplicativo. Passos 1 - O cliente e o gerente deverá estar logado no sistema. 2 - O cliente deve abrir a opção “Chat de Entrega”. 3 - O cliente abre a opção “Chat direto”. 4 - O sistema mostrará tela para chat direto com o restaurante. 5 - O cliente manda uma mensagem. 6 - O sistema processa a mensagem e manda uma notificação para o gerente. Resultado esperado Ter realizado o bate papo via chat do aplicativo entre o cliente e gerente. Resultado real Evidências Tabela 75: Caso de Teste CSU16 CASO DE TESTE Identificação Sinalizar entrega/recebimento do pedido (CSU16) Objetivo Qualquer entrega de pedido realizado, será notificada para o estabelecimento e para o cliente. Gatilho Ter realizado o pedido. Passos 1 - O pedido está pronto para a entrega 2 – O chef notifica ao sistema 3 – O sistema notifica ao cliente e o entregador 4 – O entregador realiza a entrega do pedido 5 – O sistema notifica ao estabelecimento que a entrega foi realizada Resultado esperado A notificação de entrega será enviada. Resultado real Evidências Tabela 76: Caso de Teste CSU17 CASOS DE TESTE Identificação Avaliar entrega (CSU17) Objetivo O cliente irá avaliar o serviço de entrega do aplicativo através do nível de estrela de 1 a 5 e com comentário opcional. Gatilho Abrir a opção avaliar entrega do aplicativo. Passos 1 - O cliente deverá estar logado no sistema. 2 - O cliente receberá o pedido. 3 - O cliente deverá abrir a opção “Avaliar entrega”. 4 - O cliente avalia a entrega em uma escala de 1 à 5 estrelas. 5 - Opcionalmente, o cliente adiciona um comentário. 6 - O cliente aperta a opção “Enviar avaliação”. 7 - O sistema processa a tarefa e avaliação será enviada para o estabelecimento e para a equipe de suporte do aplicativo. Resultado esperado Ter avaliado a entrega. Resultado real Evidências Tabela 77: Caso de Teste CSU18 CASO DE TESTE Identificação Permitir observação de compra (CSU18) Objetivo O cliente poderá visualizar o seu pedido e adicionar observações. Gatilho Abrir a opção “Meu Carrinho”. Passos 1 – O cliente deverá estar logado no sistema. 2 – O cliente deverá escolher os itens do pedido. 3 – O cliente irá realizar suas observações referente ao pedido. 4- O cliente irá visualizar o valor total dos itens. 5– O cliente realizara o pagamento. 6 - O pedido será finalizado. 7– Será emitido um espelho do pedido com todos os itens que o compõe o pedido e o valor total pago. Resultado esperado Será apresentada uma lista com todos os itens do pedido e suasobservações. Resultado real Evidências Tabela 78: Caso de Teste CSU19 CASO DE TESTE Identificação Realizar Pagamento (CSU19) Objetivo Será realizado o pagamento dos pedidos realizados. Gatilho Realizar pedido. Passos 1 - O cliente realiza o pedido. 2 - O cliente verifica o valor total do pedido. 3 - O cliente escolhe a forma de pagamento. 4 - Se o pagamento for no cartão de crédito ou débito, o pagamento é realizado no mesmo instante. 4.1- Caso o cliente realize o pagamento com dinheiro físico, o pedido deverá ficar com o status “Aguardando pagamento” até que esse seja realizado. 5 - Ao receber o pagamento, o entregador deve notificar no aplicativo, o seu recebimento. Resultado esperado Terá realizado o pagamento do pedido. Resultado real Evidências Tabela 79: Caso de Teste CSU20 CASO DE TESTE Identificação Visualizar cardápio (CSU20) Objetivo O cliente irá visualizar e escolher os itens que deverão compor o seu pedido. Gatilho Abrir o aplicativo. Passos 1 – O cliente irá abrir o app o “O Buteko” 2 – O cliente deve selecionar os itens que iram compor o seu pedido 3 – O cliente visualizara os itens do seu pedido 4 – Após conferir os itens o cliente finaliza o pedido 5 – O pedido é encaminhado para o chef 6 – O chef inicia o preparo do pedido Resultado esperado O cliente poderá visualizar a lista de itens que ele pode adicionar ao seu pedido. Resultado real Evidências Tabela 80: Caso de Teste CSU21 CASO DE TESTE Identificação Cadastrar cliente (CSU21) Objetivo Realizar o cadastro do cliente no sistema. Gatilho O cliente aperta em “Cadastrar” e o sistema realiza o cadastro. Passos 1 - O cliente aperta em “Cadastrar”. 2 - O cliente informa todos os dados necessários para cadastro. 3 - O cliente aperta no botão “Aceitar todos termos e condições”. 4 - O cliente aperta em “Realizar cadastro”. 5 - O sistema verifica todos os dados. 6 - O sistema manda e-mail de confirmação para e-mail pessoal do cliente. 7 - O cliente confirma o e-mail. 8 - O sistema cadastrará o cliente. 9 - O sistema apresentará a mensagem “Cadastro realizado com sucesso”. Resultado esperado Ter o usuário cadastrado no sistema. Resultado real Evidências Tabela 81: Caso de Teste CSU22 CASO DE TESTE Identificação Realizar login (CSU22) Objetivo Os atores irão realizar login no sistema. Gatilho Abrir o aplicativo. Passos 1 - O sistema mostra tela para preencher os campos de “Nome de Usuário ou E-mail” e “Senha”. 2 - O ator informa os dados. 3 - O ator aperta em “Entrar”. 4 - O sistema valida os dados e abre a tela principal do aplicativo. Resultado esperado Ter realizado o login. Resultado real Evidências