Ir para o conteúdo

Casos de uso

Introdução

Um caso de uso é uma representação visual e textual de um conjunto de interações entre um sistema e seus atores (usuários externos) para atingir um objetivo específico. Casos de uso são uma técnica amplamente utilizada na engenharia de requisitos de software para documentar e compreender os requisitos funcionais de um sistema de software.

Metodologia

Um diagrama de caso de uso é uma representação visual de casos de uso, atores e suas interações em um sistema de software. Esses diagramas são uma parte importante da modelagem de requisitos no processo de desenvolvimento de software e ajudam a representar de forma clara como os atores (usuários ou sistemas externos) interagem com o sistema para realizar tarefas específicas. Os diagramas de caso de uso são uma parte fundamental da UML (Unified Modeling Language), uma linguagem de modelagem amplamente utilizada na engenharia de software.

Nome Função Elemento
Ator O ator é representado por um ícone, geralmente um stick figure, e representa uma entidade externa ao sistema que interage com ele.
actor
Caso de Uso Os casos de uso são representados por elipses e descrevem as diferentes funcionalidades ou ações que o sistema pode realizar em resposta a interações com os atores. Cada caso de uso tem um nome que descreve a ação que representa.
elipse
Sistema Os sistemas são representados por retângulos. Eles contêm os casos de uso relacionados
retangulo
Relações As relações são represetadas por linhas de associação (setas) que conectam atores aos casos de uso ou relações entre casos de uso.
flechas

Tabela 1: Elementos do diagrama de casos de uso (Fonte: BRAGA, Caio)



É importante ressaltar que no contexto de diagramas de caso de uso, "extends" e "include" são tipos de relações que descrevem como os casos de uso interagem entre si em um sistema de software. Ambas as relações têm finalidades diferentes e são usadas para modelar diferentes tipos de comportamento no sistema.

  • Relação de "Include" (Inclusão): A relação de "include" é usada para indicar que um caso de uso inclui outro caso de uso como parte de sua funcionalidade. Isso significa que o caso de uso base (o que inclui) sempre executa o caso de uso incluído como parte de sua própria execução. O caso de uso incluído é executado de forma transparente ao usuário do caso de uso base. A relação "include" é geralmente representada por uma seta tracejada, com um rótulo que indica "include". É usada para dividir a funcionalidade em partes menores e mais gerenciáveis que podem ser reutilizadas em vários contextos.

Exemplo de "include": Considere um caso de uso principal "Realizar Pagamento". Esse caso de uso pode incluir o caso de uso "Selecionar Método de Pagamento", que é uma parte essencial da ação de realizar um pagamento.

  • Relação de "Extend" (Extensão): A relação de "extend" é usada para representar comportamentos opcionais e condicionais em um caso de uso, que podem ser estendidos além do fluxo básico. Isso significa que o caso de uso estendido é opcional e só ocorre sob certas condições específicas. A relação "extend" é geralmente representada por uma seta tracejada, com um rótulo que indica "extend". Ela permite modelar cenários alternativos sem poluir o fluxo básico de um caso de uso.

Exemplo de "extend": Em um caso de uso "Reservar Quarto de Hotel", pode haver uma extensão para lidar com "Atualização de Reserva", que só ocorre se o cliente desejar modificar a reserva após a confirmação.


Diagrama de Casos de Uso

A figura 1 demonstra o diagrama de casos de uso.

Figura 1: Casos de uso do app BRB Mobilidade (Fonte: BRAGA, Caio)

Casos de Uso & Especificação

UC -> Caso de Uso

Modelo de tabela de Caso de Uso:

UC0X Titulo do UC
Autores Autores do UC
Descrição Descrição do UC
Atores Atores do UC
Pré Condições Pré Condições do UC
Fluxo Principal Fluxo Principal do UC em topicos
Fluxo Alternativo Fluxo Altenativo do UC em topicos
Fluxo de Exceção Fluxo de exceção do UC em topicos
Pós Condições Pos condições do UC
Rastreabilidade Rastreabilidade do UC

Tabela 2: Modelo de tabela de Caso de Uso (Fonte: BASILIO, Guilherme)

Explicação dos elementos:

  • Atores: Representa os atores, podendo ser pessoas, instituições ou até sistemas do site ou app, que interagem com o caso de uso diretamente
  • Pré Condições: Indica as condições para que pelo menos um dos fluxos seja atendido completamente
  • Fluxo Principal: Representa o fluxo que ocorrerá com mais frequência quando o usuário utilizar tal recurso representado no caso de uso
  • Fluxo Alternativo: Representa o fluxo mais relevante que ocorrerá com menos frequencia que o fluxo principal
  • Fluxo de Exceção: Representa a exceção do recurso representado no caso de uso, normalmente sendo a recusação da funcionalidade ou saída da mesma
  • Pós Condições: Indica as condições que obrigatoriamente ocorrerão após a realização de cada fluxo
  • Rastreabilidade: Indica a rastreabilidade utilizada pra criação do caso de uso

UC01 - Fazer Login

A especificação de cada caso de uso pode ser observado a seguir na Figura 1.

Tabela 1 – UC01

UC01 Fazer Login
Autor Guilherme Basilio
Descrição Fazer Login no BRBMobilidade
Atores > Usuário
> BRBMobilidade
Pré Condições > Estar deslogado
Fluxo Principal > Usuário acessa o BRBMobilidade
> Usuário clica no botão "Autenticação Interna"
> Usuário digita seu CPF
> Usuário digita sua senha
> Usuário ficará logado até sair
Fluxo Alternativo > Usuário acessa o BRBMobilidade
> Usuário seleciona qual tipo de cartão possui
> Usuário clica no botão "Login"
> Usuário ficará logado até sair
Fluxo de Exceção Fluxo de Exceção 1 - CPF inválido
> Aplicativo avisa que não foi possível realizar o login
Fluxo de Exceção 2 - Esquecer a Senha
> Usuário clica em "Esqueceu a Senha?"
Usuário recebe um e-mail para recuperar
Pós Condições Usuário fica logado e pode realizar todas as ações
Rastreabilidade RF10, IS11

Tabela 3: Fazer login (Fonte: BASILIO, Guilherme)

UC02 - Realizar recarga

UC02 Realizar recarga
Autor Guilherme Basilio
Descrição Adicionar crédito ao cartão BRB Mobilidade
Atores > Usuário
> BRB Mobilidade
Pré Condições > Ter um cartão cadastrado
Fluxo Principal > Usuário acessa o BRB Mobilidade
> Usuário clica no botão "Realizar recarga"
> Usuário selecionar o método de pagamento
> Usuário digita quanto quer recarregar
> Usuário recarrega o cartão
Fluxo Alternativo > Não possui fluxo alternativo
Fluxo de Exceção Fluxo de Exceção 1 - Você ainda não tem cartões vinculados
> Aplicativo avisa que o usuário não tem cartões vinculados
Pós Condições Usuário volta para a tela de inicio
Rastreabilidade OBS03, IS03, IS08

Tabela 4: Realizar recarga (Fonte: BASILIO, Guilherme)

UC03 - Visualizar linhas e horários

UC03 Visualizar linhas e horários
Autor Guilherme Basilio
Descrição Visualizar linhas e horários de ônibus
Atores > Usuário
> BRB Mobilidade
Pré Condições > Estar logado
Fluxo Principal > Usuário acessa o BRB Mobilidade
> Usuário clica no botão "Linhas e horários"
> Usuário digita a linha ou o destino
> Usuário visualiza as linhas e horários
Fluxo Alternativo > Não possui fluxo alternativo
Fluxo de Exceção ---
Pós Condições Usuário irá ver o itinerário do ônibus desejado
Rastreabilidade IS02, IS05, OBS02, OBS04

Tabela 5: Visualizar linhas e horários (Fonte: BASILIO, Guilherme)

UC04 - Acompanhar cadastro/cartão

UC04 Acompanhar cadastro de cartão específico
Autor Gabriel Barbosa
Descrição Acompanhar cadastro de um cartão específico
Atores > Usuário
> BRB Mobilidade
Pré Condições > Ter feito o login no sitema
Ter cadastro em cartão específico
Fluxo Principal > Usuário acessa o BRB Mobilidade
> Usuário clica no botão "Estudantil" (Um dos cartões específicos)
Faz login com o CPF
Acessa a página de acompanhamento de cadastro
Fluxo Alternativo > Não possui fluxo alternativo
Fluxo de Exceção Fluxo de Exceção 1 - Você não possui cartão cadastrado
> Usuário acessa o BRB Mobilidade
> Usuário clica no botão "Estudantil" (Um dos cartões específicos)
Não possui cadastro
Pós Condições Usuário verá a o menu de opções que se pode fazer com o cartão específico
Rastreabilidade IS10, OBS05, OBS08, OBS09

Tabela 6: Acompanhar cadastro/cartão (Fonte: BARBOSA, Gabriel)

UC05 - Vizualizar extrato de uso

UC02 Informações
Descrição O usuário é capaz de checar o extrato de uso de determinado mês.
Ator Usuário
Pré-condições Acesso à internet, acesso ao app
Ação O usuário acessa o seu extrato de uso
Fluxo principal > O usuário acessa o aplicativo
> O usuário realiza o login
> O usuário acessa a seção "Extrato de uso"
> O usuário seleciona o mês desejado
> O usuário visualiza o extrato do mês selecionado
Fluxo alternativo > O usuário acessa o aplicativo
> O usuário realiza o login
> O usuário acessa a seção "Menu"
> O usuário acessa a seção "Extrato de uso"
> O usuário seleciona o mês desejado
> O usuário visualiza o extrato do mês selecionado
Fluxo de exceção > O usuário acessa o aplicativo
> O usuário realiza o login
> O usuário acessa a seção "Menu"
> O usuário acessa a seção "Extrato de uso"
> O usuário seleciona o mês desejado
> O usuário seleciona um mês onde o cartão não foi utilizado
> O usuário verifica a resposta do aplicativo de que naquele mês não houve gastos
Pós-condições O usuário agora está com as notificações ligadas e será notificado sobre novos eventos
Data de Criação 25/10/2023
Rastreabilidade IS01, OBS01

Tabela 7: Visualizar extrato de uso (Fonte: BRAGA, Caio)

Validação com o cliente

O grupo realizou uma reunião de validação com o nosso cliente, que foi gravada e está disponível para acesso aqui.

Durante a reunião foi apresentado ao nosso cliente o nosso artefato de Casos de Uso da aplicação, repassando cada tópico elaborado na documentação. Ao longo da videochamada foi abordado com o cliente se ele já conhecia os casos de uso oferecidos pelo aplicativo do BRB Mobilidade que estavam presentes no nosso diagrama, se o diagrama realmente reflete o uso real que ele teve com o sistema.

Bibliografia

[1] BARBOSA, S. D. J.; SILVA, B. S. Interação Humano-Computador. Rio de Janeiro: Elsevier, 2011.

[2] SERRANO, Maurício; SERRANO, Milene; Requisitos - Aula 11;

[3] UML Use Case Diagrams. UML Diagrams. Disponível em: https://www.uml-diagrams.org/use-case-diagrams.html. Acesso em: 24/10/2023.

[4] Diagramas de Caso de Uso. Disponível em: https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml. Acesso em: 25/10/2023

[5] Lucidchart. Diagrama de Caso de Uso UML. Disponível em: <https://www.lucidchart.com/pages/pt/diagrama-de-caso-de-uso-uml>. Acesso em: 14 maio 2023.

[6] FERNANDO, Sidney. Caso de Uso. Repositório da disciplina de Requisitos de Software da Universidade de Brasília, 2023. Disponível em: https://requisitos-de-software.github.io/2023.1-BilheteriaDigital/modelagem/useCase/. Acesso em: 25 out. 2023.

Histórico de Versões

Versão Descrição Autor Data Revisor Data de revisão
1.0 Criação do documento de Casos de uso Guilherme Basilio 24/10/2023 Joel Soares 25/10/2023
1.1 Adição da metodologia e Modelo de tabela Guilherme Basilio 24/10/2023 Joel Soares 25/10/2023
1.2 Atualização metodologia e casos de uso Gabriel Barbosa 24/10/2023 Joel Soares 25/10/2023
1.3 Adição de diagrama e correções pontuais Caio Braga 24/10/2023 Joel Soares 25/10/2023