Conceito: Caso de Uso
Um caso de uso descreve o que o sistema tem que fazer para fornecer valor aos Analistas de Negócios.
Relacionamentos
Descrição Principal

Um caso de uso define uma seqüência de ações executadas pelo sistema que geram um resultado de valor observável para um ator em particular. Existem diversas palavras chave nesta definição:

  • "caso de uso" A seqüência de ações referenciada na definição é na realidade um fluxo específico de eventos no sistema. Muitos fluxos de eventos são possíveis, e muitos podem ser similares. Para tornar um caso de uso compreensível, você deve agrupar fluxos de eventos similares em um caso de uso. Conseqüentemente, identificar e descrever um caso de uso significa realmente identificar e descrever um grupo de fluxos de eventos relacionados.
  • "ações" Uma ação é um procedimento computacional ou algorítmico, invocado quando o ator fornece um sinal para o sistema ou quando o sistema começa um evento temporizado. Uma ação pode implicar na transmissão de sinais para o ator invocador ou para outros atores. Uma ação é atômica, isto significa que ela é executada inteiramente ou não é executada.
  • "executadas pelo sistema" Isto significa que o sistema fornece o caso de uso. Um ator se comunica com uma instancia do caso de uso.
  • "um resultado de valor observável" Você pode valorizar um caso de uso executado com sucesso. Um caso de uso deve certificar-se de que um ator pode executar uma tarefa que tenha um valor identificável. Isto é muito importante para determinar corretamente o nível ou a granularidade para um caso de uso. O Nível Correto significa descobrir os casos de uso que não são pequenos.
  • "um ator em particular" O ator é chave para encontrar o caso de uso correto, especialmente porque o ator ajuda a evitar os casos de uso muito grandes. Por exemplo, considere uma ferramenta de modelagem visual. Existem dois atores nesta aplicação: um desenvolvedor, que desenvolve sistemas usando a ferramenta como suporte; e um administrador de sistema, que controla a ferramenta. Cada um destes atores tem suas próprias demandas no sistema, e conseqüentemente necessitará de seus próprios casos de uso.

A funcionalidade de um sistema é definida por vários casos de uso, cada qual representa uma meta específica (para obter o resultado de valor observável) para um ator em particular.

Em um caixa automático mostrado na figura 1, o Cliente Bancário pode retirar dinheiro de uma conta, transferir fundos entre contas ou depositar fundos em uma conta. Estas ações correspondem aos objetivos específicos que o ator tem ao usar o sistema.

Figura 1: Exemplo de caso de uso de caixa automático (ATM).

O caixa automático e atores

Cada caso de uso está associado a uma meta de um dos atores. A coleção de casos de uso constitui todas as formas possíveis de usar o sistema. Você deve poder determinar o objetivo de um caso de uso simplesmente observando seu nome.

Um caso de uso descreve as interações entre os atores e o sistema na forma de um diálogo entre eles, estruturado da seguinte forma:

  1. O ator <<faz algo>>
  2. O sistema <<faz algo em resposta>>
  3. O ator <<faz algo a mais>>
  4. O sistema...

Cada diálogo com esta forma é chamado de "Fluxo de Eventos".

Pelo motivo de existirem muitos fluxos de eventos possíveis para se alcançar a meta (por exemplo, o fluxo pode ser diferente dependendo das entradas específicas feitas pelo ator), e existem situações onde a meta não pode ser alcançada (por exemplo, uma conexão de rede necessária estar indisponível), cada caso de uso conterá vários fluxos, sendo um "Fluxo Básico de Eventos" e muitos "Fluxos Alternativos".

O Fluxo Básico de Eventos especifica as interações entre os atores e o sistema para o caso ideal, onde tudo ocorre como o planejado, e a meta do ator (o resultado de valor observável) é alcançada. O fluxo básico representa a principal capacidade fornecida pelo sistema para o caso de uso.

Como o nome sugere, os Fluxos Alternativos especificam interações alternativas com a mesma meta.

Intimamente relacionado com o caso de uso está o conceito de cenário. Um cenário é um fluxo de eventos específico, para um conjunto específico de entradas para o sistema, estados do sistema e estados do ambiente do sistema. Os cenários estão intimamente relacionados com os casos de teste.

Exemplo Caso de Uso

Para um exemplo de uma especificação completa de caso de uso veja Example: Caso de Uso.

Informações Adicionais
Conceitos