Skip to content

Requisitos e Critérios

Histórico de Revisão

Data       Versão Descrição             Autor(es)
01/05/2023 0.1 Criação e estruturação do documentação dos Requisitos Funcionais e Não-Funcionais Hemanoel,Gustavo,Isaac
08/05/2023 0.2 Atualizando requisitos funcionais Hemanoel,Gustavo,Isaac,Milena,Daniela
10/05/2023 0.3 Atualizando requisitos funcionais e adicionando a Tabela de Critérios Gustavo, Daniela, Hemanoel, Isaac
10/05/2023 0.4 Atualizando requisitos funcionais e a Tabela de Critérios Gustavo, Milena, Hemanoel, Isaac
15/05/2023 0.5 Atualização do Backlog Gustavo, Hemanoel, Isaac
16/05/2023 0.6 Atualização do Backlog Gustavo, Milena, Isaac, Hemanoel
23/05/2023 0.7 Atualização do Backlog Gustavo, Milena, Isaac
17/07/2023 0.8 Atualização do Backlog Daniela
18/07/2023 0.9 Atualização do Backlog Isaac,Hemanoel

Personas

  • Gerente: Indivíduo que exerce o gerenciamento dos setores do produto, seja acerca das informações dos produtos até os relatórios de vendas.
  • Funcionário: Indivíduo que utiliza do sistema de frente de caixa.
  • Usuário: Generalização de Gerente e Funcionário.N

Requisitos Funcionais

Tema Épico User Stories
[TM01] Gerenciamento de produtos [EP01] Consulta de informações sobre produtos [US01] Eu, como usuário, quero poder consultar o preço do produto, para verificar o valor antes da compra.
[US02] Eu, como usuário, quero consultar o nível de estoque dos produtos, para saber a disponibilidade do produto.
[TM01] Gerenciamento de produtos [EP02] Adicionar ou remover produtos [US03] Eu, como gerente, quero ser capaz de adicionar um novo produto ao catálogo, para atualizar o estoque.
[US04] Eu, como gerente, quero ser capaz de remover um produto do catálogo, para atualizar o estoque.
[TM01] Gerenciamento de produtos [EP03] Controle de estoque [US05] Eu, como gerente, quero ser capaz de visualizar o estoque total da loja em tempo real, para ter uma visão atualizada sobre os produtos.
[TM02] Gerenciamento de funcionários [EP04] Acesso de funcionários [US06] Eu, como funcionário, quero ser capaz de fazer login no sistema usando meu nome de usuário e senha.
[US07] Eu, como funcionário, desejo garatir a segurança dos meus dados
[TM03] Frente de Caixa [EP05] Devedores [US08] Eu, como usuário, quero ser capaz de cadastrar clientes devedores no sistema, para acompanhar as pendências de pagamento.
[US09] Eu, como usuário, quero ser capaz de alterar a dívida de um cliente existente, para atualizar as pendências.
[TM03] Frente de Caixa [EP06] Adicionar venda [US10] Eu, como funcionário, quero ser capaz de adicionar um pedido de venda, para efetuar a compra.
[US11] Eu, como funcionário, quero ser capaz de finalizar a compra, para registrar a venda.
[TM04] Gerenciamento de vendas [EP07] Dashboard [US12] Eu, como gerente, quero ser capaz de gerar um gráfico de linhas, para monitorar melhor o fluxo de vendas de produtos específicos e identificar tendências e padrões.
[US13] Eu, como gerente, quero ser capaz de gerar um gráfico de pizza, para identificar a participação de cada categoria nas vendas totais.
[US14] Eu, como gerente, quero ser capaz de gerar um gráfico de barras, para comparar as vendas de diferentes produtos.
[TM04] Gerenciamento de vendas [EP08] Geração de relatórios de vendas [US15] Eu, como gerente, quero ser capaz de gerar um relatório, para identificar o desempenho das vendas.
[US16] Eu, como gerente, quero ser capaz de gerar uma lista com todas as vendas já realizadas, para manter registro completo.
[TM05] Gerenciamento de funcionários [EP09] Registro de funcionários [US17] Eu, como gerente, quero ser capaz de adicionar um novo funcionário ao sistema, para manter o registro atual dos funcionários.
[US18] Eu, como gerente, quero ser capaz de remover um funcionário do sistema, para manter a integridade do sistema.
[US19] Eu, como gerente, quero ser capaz de editar as informações de um funcionário existente, para atualizar com novas informações.
[US20] Eu, como gerente, quero ser capaz de visualizar as informações pessoais dos funcionários, para manter o registro atualizado.

Requisitos não-Funcionais

Tipo Requisito
Usabilidade O site deverá ser responsivo e se adaptar em caso de redimensionamento de tela.
Interface A site deverá seguir a palheta de cores estabelecida pelos padrões de UI.
Suportabilidade O site deve ser funcional nas versões atuais dos navegadores. (Chrome, Edge, Opera e Firefox)
Requisitos de implementação O Front-End será construído em ReactJS, o Back-End em NodeJS, banco de dados MongoDB e com testes no GitActions.
Restrições de Design O software deve seguir a arquitetura em camadas com estilo MVC.

Tabela de Critérios

ID Declaração Valor de Negócio Viabilidade Complexidade Técnica Total
[US01] Eu, como usuário, quero poder consultar o preço do produto, para verificar o valor antes da compra. 3 3 3 9
[US02] Eu, como usuário, quero consultar o nível de estoque dos produtos, para saber a disponibilidade do produto. 3 3 3 9
[US07] Eu, como funcionário, desejo garatir a segurança dos meus dados 3 3 3 9
[US03] Eu, como gerente, quero ser capaz de adicionar um novo produto ao catálogo, para atualizar o estoque. 3 3 2 8
[US04] Eu, como gerente, quero ser capaz de remover um produto do catálogo, para atualizar o estoque. 3 3 2 8
[US08] Eu, como usuário, quero ser capaz de cadastrar clientes devedores no sistema, para acompanhar as pendências de pagamento. 3 3 2 8
[US10] Eu, como funcionário, quero ser capaz de adicionar um pedido de venda, para efetuar a compra. 3 3 2 8
[US11] Eu, como funcionário, quero ser capaz de finalizar a compra, para registrar a venda. 3 3 2 8
[US06] Eu, como funcionário, quero ser capaz de fazer login no sistema usando meu nome de usuário e senha. 1 3 3 7
[US09] Eu, como usuário, quero ser capaz de alterar a dívida de um cliente existente, para atualizar as pendências. 3 2 2 7
[US15] Eu, como gerente, quero ser capaz de gerar um relatório, para identificar o desempenho das vendas. 3 2 2 7
[US16] Eu, como gerente, quero ser capaz de gerar uma lista com todas as vendas já realizadas, para manter registro completo. 2 3 2 7
[US17] Eu, como gerente, quero ser capaz de adicionar um novo funcionário ao sistema, para manter o registro atual dos funcionários. 2 3 2 7
[US20] Eu, como gerente, quero ser capaz de visualizar as informações pessoais dos funcionários, para manter o registro atualizado. 2 3 2 7
[US05] Eu, como gerente, quero ser capaz de visualizar o estoque total da loja em tempo real, para ter uma visão atualizada sobre os produtos. 3 2 2 7
[US12] Eu, como gerente, quero ser capaz de gerar um gráfico de linhas, para monitorar melhor o fluxo de vendas de produtos específicos e identificar tendências e padrões. 2 2 2 6
[US13] Eu, como gerente, quero ser capaz de gerar um gráfico de pizza, para identificar a participação de cada categoria nas vendas totais. 2 2 2 6
[US14] Eu, como gerente, quero ser capaz de gerar um gráfico de barras, para comparar as vendas de diferentes produtos. 2 2 2 6
[US18] Eu, como gerente, quero ser capaz de remover um funcionário do sistema, para manter a integridade do sistema. 2 2 2 6
[US19] Eu, como gerente, quero ser capaz de editar as informações de um funcionário existente, para atualizar com novas informações. 2 2 2 6

Critérios de Aceitação

ID Critérios de Aceitação
[US01] - O sistema deve ser capaz de exibir o preço de produtos atualizados.
- O preço deve ser exibido com o valor correto estabelecido.
- Deve ser exibido o nome do produto junto com sua descrição.
[US02] - O sistema deve exibir o nível de estoque em tempo real.
- O nível do estoque deve estar atualizado e correto.
- O sistema deve permitir que o usuário visualize o nível de estoque de todos os produtos.
[US05] - O sistema deve permitir o gerente visualizar o estoque da loja em tempo real.
- O estoque total deve estar atualizado.
[US07] - O token de acesso gerado deve expirar automaticamente após 24 horas.
- Após o vencimento do token, o sistema deve exigir que o funcionário faça login novamente.
[US03] - O sistema deve permitir que o gerente adicione um produto do catálogo.
- Para adicionar um novo produto, o funcionário deve obrigatoriamente preencher os campos: "Nome", "Preço de custo", "Preço de venda", "Quantidade", "Quantidade mínima" e "Medida".
- O sistema deve processar a adição e a deleção de produtos em, no máximo, 5 segundos.
[US04] - O sistema deve permitir que o gerente remova um produto do catálogo.
- O sistema deve solicitar uma confirmação antes de remover um produto do catálogo.
- O sistema deve atualizar a quantidade do estoque ao remover um produto.
[US08] - O sistema deve ser capaz de exibir uma lista dos devedores.
- A lista de devedores deve conter informações: nome e valor total da dívida como obrigatório, e dívida, telefone e email como opcional.
- O sistema deve processar a adição e a deleção de um cliente em, no máximo, 5 segundos
[US10] - O sistema deve permitir que um funcionário adicione produtos no pedido.
- O sistema deve permitir que o usuário visualize os produtos no pedido mostrando o seu nome do produto, quantidade, preços individuais e valor total.
- O sistema deve ser capaz de reduzir a quantidade do estoque a cada venda realizada.
[US11] - O sistema deve oferecer diferentes opções de pagamento: dinheiro, cartão de crédito, débito, PIX ou fiado.
- Caso o pagamento for em dinheiro, o sistema deve indicar o valor do troco a ser pago.
- O sistema deve oferecer as opções de entrega: Loja, aplicativo ou retirada.
[US09] - A lista de devedores deve ser atualizada ao confirmar pagamentos e pendências quando forem registradas no sistema.
- O sistema deve permitir alterar a dívida de um cliente.
- O sistema deve permitir a exclusão de clientes.
- O sistema deve exibir uma lista de todos os clientes
[US15] - O relatório conta com uma lista com todas as vendas realizadas.
- O relatório deve ser atualizado em tempo real ou com uma frequência adequada para garantir a precisão das informações.
[US16] - O sistema deve ser capaz de gerar uma lista com as vendas realizadas.
- A lista de vendas deve conter informações na qual serão registradas o nome do produto, quantidade vendida, valor total, data, horário de venda e o estoque disponível.
[US17] - O sistema deve permitir que o gerente adicione um funcionário ao sistema.
- Para adicionar um novo funcionario, o gerente deve obrigatoriamente preencher os campos: "Nome", "Usuario", "Senha", "Data Contratação".Os campos telefone e email sao opcionais
[US20] - O sistema deve permitir que o gerente visualize as informações do funcionário.
[US06] - O sistema deve fornecer uma tela de login onde o funcionário possa inserir seu nome de usuário e senha.
- O sistema deve validar se o nome de usuário e senha fornecidos são válidos e correspondem a uma conta de funcionário existente.
- Se as credenciais de login forem inválidas, o sistema deve exibir uma mensagem de erro apropriada indicando que o login falhou.
- Caso as credenciais estejam corretas, o funcionário deve ser autenticado e receber um token validado.
- Após inserir as credenciais, o usuário deve ser redirecionado para a tela principal em, no máximo, 15 segundos