Modelação de requisitos e casos de uso

Desenvolvimento de Sistemas de Software

By Pedro Pereira25-09-2024

Use Cases

O que é um Use Case?

Um Use Case (ou Caso de Uso) é uma técnica utilizada em engenharia de software para descrever como os utilizadores (atores) interagem com um sistema para alcançar um objetivo específico. Ele documenta o comportamento funcional de um sistema a partir da perspetiva do utilizador, representando o "o quê" e não o "como" o sistema faz.


Objetivos de um Use Case

  • Documentar requisitos funcionais: Focar em como o sistema deve reagir às interações dos atores.
  • Garantir clareza: Ajudar equipas técnicas e não técnicas (stakeholders) a entender os fluxos de funcionamento.
  • Promover análise completa: Identificar variações, exceções e fluxos alternativos.

Componentes Essenciais de um Use Case

Nome do Use Case:

  • Descreve o objetivo central do caso de uso, de forma concisa.
  • Exemplo: "Efetuar devolução de livro".

Descrição:

  • Resumo breve do que o caso de uso pretende realizar.
  • Exemplo: "Funcionário regista a devolução de um livro emprestado ao utente".

Atores:

  • Identificação de quem interage com o sistema. Podem ser:
    • Primários: Quem inicia o caso de uso (ex.: funcionário, utente).
    • Secundários: Quem apoia ou é impactado (ex.: administrador do sistema).

Cenários:

  • Identificam contextos específicos que o caso de uso cobre, como variações de requisitos ou condições especiais.

Pré-condições:

  • Estado que o sistema ou o ator deve cumprir antes que o caso de uso possa ser executado.
  • Exemplo: "O ator deve estar autenticado".

Pós-condições:

  • Estado final do sistema após a execução bem-sucedida do caso de uso.
  • Exemplo: "O livro é registado como devolvido e está disponível para requisição".

Fluxos:

  • Descrição passo a passo de como o sistema interage com o ator.
    • Fluxo Normal: Caminho mais comum, sem interrupções.
    • Fluxo Alternativo: Variações de comportamento que levam ao mesmo resultado.
    • Fluxo de Exceção: Caminhos que lidam com erros ou condições imprevistas.

Melhores Práticas ao Elaborar Use Cases

Ser claro e objetivo:

  • Usar linguagem acessível aos stakeholders, evitando termos técnicos complexos.

Dividir fluxos complexos:

  • Sempre que necessário, utilizar fluxos alternativos ou fluxos de exceção para tratar variações e erros.

Evitar ambiguidades:

  • Cada passo deve ter uma ação clara e específica do ator ou sistema.

Definir o escopo adequadamente:

  • Limitar o caso de uso a um único objetivo funcional.

Incluir cenários relevantes:

  • Explorar condições reais e edge cases para que o sistema seja robusto.

Manter a rastreabilidade:

  • Relacionar cada caso de uso com os requisitos que ele suporta.

Ferramentas e Representação

Texto Estruturado: Útil para maior detalhe e clareza. Diagrama de Casos de Uso (UML):

  • Representação gráfica que ilustra os atores, os casos de uso e as relações entre eles.

Apresentação de conteúdos concisos.