Documentando casos de uso

2 minute read

Uma imagem vale mais que mil palavras.

Mas quando enfrentamos a necessidade de um detalhamento mais aprofundado sobre um tema, as vezes mil palavras, ou uma imagem não são suficientes.

Mas porque eu documentaria um diagrama?

As especificações dos casos de uso auxiliam na demonstração de como o sistema se comportará de fato mediante ao uso, o que complementa a visualização criada pelo diagrama.

Exemplos do que podemos documentar:

  • Atores e sua participação
  • Fluxos principais e alternativos

A documentação não substitui o diagrama de casos de uso, apenas explica através do texto o que não conseguimos descrever com imagens. Ela também auxiliará na validação de protótipos (telas que mostram interações entre os atores e sistema).

O que devo fazer antes de começar a escrever a documentação?

  • Enumerar todos os casos de uso, inserindo apenas as funcionalidades que serão de fato implementadas e suas prioridades;

    Ator Objetivo Prioridade
    Cliente Consultar restaurantes 1
  • Descreva possíveis erros que possam ocorrer antes de detalhar o que deve ser feito em cada cenário;
  • Descreva como o sistema deve reagir a cada falha de acordo com as regras de negócio;

Template de documentação

Não existe um padrão definido de documentação, contudo há campos muito comuns.

---
titulo: UC001 - Consulta de passagem aérea. <!--  Identificador - Título do caso de uso (O mesmo utilizado no diagrama) -->
projeto: Sistema de viagens aéreas. <!-- Nome do projeto -- >
---

# Especificação de Caso de Uso

---

## Descrição

O cliente utiliza o sistema para consultar valores de passagens aéreas. <!-- Breve descrição. -->

## Atores

<!-- Listagem de atores. -->

- Cliente (Primário)
- Sistema (Secundário)

## Pré-Condição

O usuário deve estar autenticado no sistema. <!-- Cenário que nos levou a condição atual (Outro caso de uso que antecede este) -->

## Regras de negócio envolvidas em cada cenário

- **RN01** - Um cliente pode realizar apenas um cadastro por e-mail;
- **RN02** - O usuário consegue acessar a sua conta apenas após confirmar o recebimento do e-mail.

_Cenário: Descrição clara e objetiva do contexto de existência de um caso de uso._

## Fluxos

Descrição dos fluxos.

### Principal:

Fluxo sem interrupções ou exceções, mais conhecido como _caminho feliz_.

_Apresenta relacionamentos do tipo **include**_

|                  Ator                  |                         Sistema                         |
| :------------------------------------: | :-----------------------------------------------------: |
| FP01 - Cliente insere destino de busca |                            -                            |
|                   -                    |       FP02 - Receber destino de busca - **FE01**        |
| FP03 - Cliente pressiona a tecla ENTER |                            -                            |
|                   -                    | FP04 - Exibir a página "Resultados da busca" - **FA01** |

_FP: Fluxo Principal; FA: Fluxo Alternativo; FE: Fluxo de Exceção_

### Alternativo

Traz uma ideia de uma regra de negócio que não conseguimos colocar no diagrama de casos de uso, onde o ator segue um caminho diferente do descrito no fluxo principal.

- **FA01** - Não há passagens disponíveis para a data informada, informar a indisponibilidade de datas, e exibir outros dias e horários.
  a. Continuação do fluxo ...
  b. Continuação do fluxo ...
  c. Encerra caso de uso

### Exceção

Fluxo que impede que o caso de uso seja concluído como falhas, inconsistência e erros inesperados.

_Apresenta relacionamentos do tipo **extend**_

- **FE01** - Destino desejado não é oferecido pela companhia.
  a. Continuação do fluxo ...
  b. Continuação do fluxo ...
  c. Encerra caso de uso.

## Pós-Condição

Algo que ocorre após a realização do caso de uso.

Ex: sair do sistema ou voltar ao menu principal.

Comments