Casos de Uso
Identificação dos Atores
Ator | Nome | Descrição |
---|---|---|
01 | Vendedor | Usuário habilitado a cadastrar e gerenciar produtos pelo sistema |
02 | Cliente | Usuário habilitado comprar produtos pelo sistema |
03 | Usuário | Usuário que compartilha ações dos atores vendedor e cliente |
Identificação dos Casos de Uso
UC | Nome do UC |
---|---|
UC-01 | Cadastrar usuário |
UC-02 | Realizar login |
UC-03 | Visualizar usuário |
UC-04 | Cadastrar produto |
UC-05 | Visualizar produto |
UC-06 | Deletar produto |
UC-07 | Editar visibilidade do produto |
UC-08 | Pesquisar produto |
UC-09 | Adicionar produto no carrinho de compras |
UC-10 | Visualizar carrinho de compras |
UC-11 | Visualizar históricos |
Identificação das dependências
UC | Nome do UC |
---|---|
UC-05 x UC-06 | Extends |
UC-05 x UC-07 | Extends |
UC-05 x UC-08 | Extends |
UC-10 x UC-09 | Extends |
Elementos do Diagrama
Atores
Representam usuários que fazem a interação com o sistema. Geralmente são representados por bonecos (Figura 1).
![](https://raw.githubusercontent.com/mdsreq-fga-unb/2023.1-VenciNaPromo/documentacao/ghpages/assets/images/UC/uc1ator.png)
Figura 1: Figura que representa os atores no diagrama.
Limite do Sistema
Define até onde o sistema tem seu escopo, normamente são representados por uma caixa (Figura 2).
![](https://raw.githubusercontent.com/mdsreq-fga-unb/2023.1-VenciNaPromo/documentacao/ghpages/assets/images/UC/uc3sistema.png)
Figura 2: Figura que representa os limites do sistema.
Caso de Uso
Representam os diferentes usos que o usuário pode fazer. Geralmente são definidos na forma oval horizontal (Figura 3).
![](https://raw.githubusercontent.com/mdsreq-fga-unb/2023.1-VenciNaPromo/documentacao/ghpages/assets/images/UC/uc2uc.png)
Figura 3: Figura que representa os casos de uso.
Relacionamentos
São utilizados para representar, através de setas legendadas, as interações entre os atores e os casos de uso. Os relacionamentos podem ser definidos de duas formas, sendo elas:
Inclusão: Relação em que um caso de uso quando precisa ter sua funcionalidade executada através de outro caso de uso.
- Notação no diagrama: << includes >>
Extensão: São usados para mostrar um comportamento opcional, que somente é executado sobre determinadas condições.
- Notação no diagrama: << extends >>
Diagrama de Casos de Uso
![](https://raw.githubusercontent.com/mdsreq-fga-unb/2023.1-VenciNaPromo/documentacao/ghpages/assets/images/UC/CasosDeUso.png)
Especificação dos Casos de Uso
Caso de Uso: UC-01 x Cadastrar Usuário
Por: Gabrielly Assunção Rodrigues
Descrição: Esse caso de uso (UC-01) é de Realizar Cadastro
- Atores: Comprador e Vendedor
- Pré-Condições:
-
Pós-Condições: O login foi cadastrado no sistema com os dados validos que o ator informou.
-
Requisitos Funcionais:
Épico | US | Descrição |
---|---|---|
E1 | US01 | Eu, como usuário-comprador, desejo criar minha conta com as minhas informações pessoais para poder usufruir de descontos exclusivos em produtos perto do vencimento |
E2 | US03 | Eu, como usuário-vendedor, desejo criar minha conta, adicionando minhas informações pessoais, para poder aumentar minhas vendas e diminuir o desperdício dos meus produtos perto do vencimento |
- Requisitos Não-Funcionais:
URPS+ | ID | Descrição |
---|---|---|
Implementação | RN1 | A interface do sistema deve ser desenvolvida com o framework ReactJS de JavaScript |
Implementação | RN2 | O servidor do sistema deve ser desenvolvido com o framework NodeJS de JavaScript |
Implementação | RN3 | O servidor do sistema deve ser testado com o framework Jest de JavaScript |
Implementação | RN4 | O Banco de Dados do sistema deve ser em NodeJS |
Implementação | RN6 | O sistema deve assegurar os dados do usuário com autenticação JWT e AuthGuard |
Interface | RN7 | O sistema deve ser uma plataforma web |
Fluxo Básico: Cadastro realizado
- O caso de uso se inicia quando o ator acessa a tela de cadastro.
- O sistema solicita as informações para o cadastro.
- O ator informa seu nome, seu email, tipo de usuário, sua senha e a confirmação da senha.
- O sistema salva as informações fornecidas.
- O caso de uso se encerra.
Fluxo de Exceção A: Ausência de Informações
- No passo 3, se o ator não preencher algum dos campos solicitados:
- O sistema não salva as informações cadastradas.
- O sistema informa que há alguma informação ausênte.
- O fluxo retorna para o passo 2 do fluxo base.
Fluxo de Exceção B: Informações incorretas
- No passo 3, caso as credenciais estejam incorretas:
- O sistema não valida as credenciais do usuário.
- O sistema informa que o nome não pode conter números ou que a senha deve ter no mínimo 8 caracteres.
- O fluxo retorna para o passo 2 do fluxo base.
Caso de Uso: UC-02 x Realizar Login
Por: Sabrina Caldas Berno
Descrição: Esse caso de uso (UC-02) é de Realizar Login
- Atores: Vendedor-Comprador
- Pré-Condições: O ator deve acessar o site.
-
Pós-Condições: O ator cadastrado no sistema com os dados que informou.
-
Requisitos Funcionais:
Épico | US | Descrição |
---|---|---|
E1 | US02 | Eu, como usuário-comprador, desejo fazer login na minha conta utilizando meu endereço de e-mail e senha, para que eu possa gerar cupons exclusivos para os produtos selecionados no carrinho de compras |
E2 | US04 | Eu, como usuário-vendedor, desejo fazer login na minha conta utilizando meu endereço de e-mail e senha, para que eu possa disponibilizar meus produtos no site e visualizar o andamento das minhas venda |
- Requisitos Não-Funcionais:
URPS+ | ID | Descrição |
---|---|---|
Implementação | RN1 | A interface do sistema deve ser desenvolvida com o framework ReactJS de JavaScript |
Implementação | RN2 | O servidor do sistema deve ser desenvolvido com o framework NodeJS de JavaScript |
Implementação | RN3 | O servidor do sistema deve ser testado com o framework Jest de JavaScript |
Implementação | RN4 | O Banco de Dados do sistema deve ser o MongoDB |
Implementação | RN6 | O sistema deve assegurar os dados do usuário com autenticação JWT e AuthGuard |
Interface | RN7 | O sistema deve ser uma plataforma web |
Fluxo Básico: Login autenticado
- O caso de uso se inicia quando o ator acessa a tela de login.
- O sistema solicita as informações para login.
- O ator informa seu email e sua senha.
- O sistema valida as credenciais do usuário.
- O sistema informa que a autenticação foi realizada com sucesso.
- O caso de uso se encerra.
Fluxo de Exceção A: Usuário não cadastrado
- No passo 3, se o ator não estiver cadastrado:
- O sistema não valida as credenciais do usuário.
- O sistema informa que o ator não está cadastrado.
- O fluxo retorna para o passo 2 do fluxo base.
Fluxo de Exceção B: Informações incorretas
- No passo 3, caso as credenciais estejam incorretas:
- O sistema não valida as credenciais do usuário.
- O sistema informa que o email ou a senha está incorreta.
- O fluxo retorna para o passo 2 do fluxo base.
Caso de Uso: UC-03 x Visualizar Usuário
Por: Lucas Heler Lopes
Descrição: Esse caso de uso (UC-03) é de visualizar o usuário.
- Atores: Vendedor-Comprador
- Pré-Condições: O ator deve estar autenticado no sistema.
-
Pós-Condições: O ator visualizar informações sobre o próprio perfil de usuário.
-
Requisitos Funcionais:
Épico | US | Descrição |
---|---|---|
E1 | US2 | Eu, como usuário-comprador, desejo fazer login na minha conta utilizando meu endereço de e-mail e senha, para que eu possa gerar cupons exclusivos para os produtos selecionados no carrinho de compras |
E2 | US04 | Eu, como usuário-vendedor, desejo fazer login na minha conta utilizando meu endereço de e-mail e senha, para que eu possa disponibilizar meus produtos no site e visualizar o andamento das minhas vendas |
- Requisitos Não-Funcionais:
URPS+ | ID | Descrição |
---|---|---|
Implementação | RN1 | |
Implementação | RN2 | |
Implementação | RN3 | |
Implementação | RN4 | |
Implementação | RN6 | |
Interface | RN7 |
Fluxo Básico: Visualizar Perfil de Usuário
- O caso de uso se inicia quando o ator autenticado abre o aplicativo.
- O ator navega para a seção "Perfil".
- O sistema exibe as informações pessoais do ator, como nome, foto de perfil e localização.
- O ator pode visualizar as informações disponíveis no perfil.
- O ator pode fechar a visualização do perfil e retornar à tela anterior.
- O caso de uso é encerrado.
Fluxo de Exceção: Falha de Conexão com o Servidor
- No passo 3, caso o sistema encontre uma conexão instável ou falha na recuperação das informações do Perfil de Usuário:
- O sistema encontra uma conexão instável ou falha na recuperação das informações do servidor.
- O sistema exibe uma mensagem de erro na tela informando ao ator que não foi possível recuperar as informações do perfil devido a uma falha na conexão.
- O sistema oferece a opção de tentar novamente ou verificar a conexão de internet.
- O ator seleciona a opção de tentar novamente.
- O fluxo retorna para o passo 3 do fluxo base.
Caso de Uso: UC-04 x Cadastrar produto
Por: Cainã Valença de Freitas
Descrição: Esse caso de uso (UC-04) é de Cadastrar produto
- Atores: Vendedor
- Pré-Condições: O ator deve acessar o site, O ator deve estar cadastrado no sistema, O ator deve estar autenticado no sistema.
-
Pós-Condições: O produto foi cadastrado no sistema com os dados validos que o ator informou.
-
Requisitos Funcionais:
Épico | US | Descrição |
---|---|---|
E4 | US14 | Eu, como usuário-vendedor, quero poder adicionar novos produtos ao mercado on-line, para que potenciais clientes possam vê-los e comprá-los |
E4 | US16 | Eu, como usuário-vendedor, quero visualizar todos os produtos dentro da lista de produtos, para que eu possa administrar meus produtos |
- Requisitos Não-Funcionais:
URPS+ | ID | Descrição |
---|---|---|
Implementação | RN1 | A interface do sistema deve ser desenvolvida com o framework ReactJS de JavaScript |
Implementação | RN2 | O servidor do sistema deve ser desenvolvido com o framework NodeJS de JavaScript |
Implementação | RN3 | O servidor do sistema deve ser testado com o framework Jest de JavaScript |
Implementação | RN4 | O Banco de Dados do sistema deve ser o MongoDB |
Implementação | RN6 | O sistema deve assegurar os dados do usuário com autenticação JWT e AuthGuard |
Interface | RN7 | O sistema deve ser uma plataforma web |
Fluxo Básico: Produto cadastrado
- O caso de uso se inicia quando o ator acessa a tela da lista de produtos.
- O ator visualiza o modal para registrar seu produto.
- O ator informa nome, descrição, preço, categoria, imagem, data de validade e quantidade.
- O sistema valida os dados do novo produto.
- O sistema informa que o cadastro foi realizado com sucesso.
- O caso de uso se encerra.
Fluxo de Exceção A: Informações invalidas
- No passo 4, caso os dados inseridos estejam incorretos:
- O sistema não valida os dados do novo produto.
- O sistema informa que o cadastro de produtos falhou e informa os campos que falharam.
- O fluxo retorna para o passo 2 do fluxo base.
Fluxo de Exceção B: Falha no cadastro do produto
- No passo 5, caso ocorra uma falha ao cadastrar o produto no sistema:
- O sistema não consegue cadastrar o novo produto.
- O sistema exibe uma mensagem de erro informando que o cadastro do produto falhou.
- O ator tem a opção de tentar novamente ou cancelar o cadastro.
- Se o ator optar por tentar novamente, o fluxo retorna para o passo 2 do fluxo base.
- Se o ator optar por cancelar o cadastro, o fluxo retorna para o passo 6 do fluxo base.
Fluxo de Exceção C: Cancelar o cadastro do produto
- No passo 2, caso o ator decida cancelar o cadastro do produto:
- O ator seleciona a opção de cancelar o cadastro.
- O fluxo retorna para o passo 6 do fluxo base.
Caso de Uso: UC-08 x Pesquisar produto
Por: Charles Serafim Morais
Descrição: Esse caso de uso (UC-08) é de Pesquisar produto
- Atores: Vendedor-Comprador
- Pré-Condições: O ator deve acessar a página os produtos do mercado.
-
Pós-Condições: O ator verá apenas os produtos correspondentes aos parâmetros pesquisados.
-
Requisitos Funcionais:
Épico | US | Descrição |
---|---|---|
E4 | US10 | Eu, como usuário-comprador, desejo visualizar os produtos disponíveis na lista de produtos cadastrados dentro do mercado on-line, para que eu possa acompanhar facilmente os produtos que estou interessado em comprar |
E4 | US11 | Eu, como usuário-comprador, desejo pesquisar produtos específicos, que estão presentes na lista de produtos cadastrados no mercado on-line, para que eu possa encontrar e selecionar rapidamente os itens que estou procurando |
E4 | US13 | Eu, como usuário-comprador, desejo visualizar os detalhes de um produto, incluindo título, descrição, vendedor do produto, local de retirada do produto, preço e disponibilidade, para que eu possa tomar uma decisão informada sobre a compra |
- Requisitos Não-Funcionais:
URPS+ | ID | Descrição |
---|---|---|
Implementação | RN1 | A interface do sistema deve ser desenvolvida com o framework ReactJS de JavaScript |
Implementação | RN2 | O servidor do sistema deve ser desenvolvido com o framework NodeJS de JavaScript |
Implementação | RN3 | O servidor do sistema deve ser testado com o framework Jest de JavaScript |
Implementação | RN4 | O Banco de Dados do sistema deve ser o MongoDB |
Implementação | RN6 | O sistema deve assegurar os dados do usuário com autenticação JWT e AuthGuard |
Interface | RN7 | O sistema deve ser uma plataforma web |
Fluxo Básico: Produto(s) encontrado(s)
- O caso de uso se inicia quando o ator acessa a tela contendo os produtos disponíveis cadastrados no site.
- O ator digita uma ou mais palavras na barra de busca.
- O sistema exibe apenas produtos que contenham a(s) palavra(s) pesquisadas em seu título ou descrição, conforme o ator as digita.
- O ator seleciona um produto para consultar seus detalhes.
- O caso de uso se encerra.
Fluxo de Exceção A: Produto(s) não encontrado(s)
- No passo 3, se não houverem produtos que contenham a(s) palavra(s) em seu título ou descrição:
- O sistema não exibe nenhum produto.
- O sistema exibe a mensagem "Nenhum produto encontrado".
- O fluxo retorna para o passo 2 do fluxo base.
Fluxo de Exceção B: Nenhum produto cadastrado
- No passo 1, se não houverem produtos cadastrados no site:
- O sistema não exibe nenhum produto.
- O sistema exibe a mensagem "Nenhum produto disponível no momento".
- O fluxo retorna para o passo 1 do fluxo base.
Histórico de Revisão
Data | Versão | Descrição | Autor |
---|---|---|---|
12/07/2023 | 1.0 | Identificação de autores, casos de usos e dependências e especificação do UC-02 - realizar login | Sabrina |
12/07/2023 | 1.1 | Especificação do UC-01 - cadastro de usuário | Gabrielly |
13/07/2023 | 1.2 | Alteração no diagrama e ajuste de tabelas quebradas | Gabrielly |
13/07/2023 | 1.3 | Especificação do UC-04 - cadastro de produto | Cainã |
13/07/2023 | 1.4 | Especificação do UC-03 - visualização de usuário | Lucas |
13/07/2023 | 1.5 | Formatação, adição das legendas do diagrama e especificação do UC-08 - buscar produto | Charles |