Casos de uso em UML: Como escrever especificações de casos de uso eficazes

Exibindo um diagrama de casos de uso usando apenasUMLnotação não é suficiente. Cada caso de uso é acompanhado por texto que explica o propósito do caso de uso e a funcionalidade realizada quando o caso de uso é executado. As especificações de casos de uso são tipicamente criadas de forma iterativa durante as fases de análise e design.

  • Primeiro, é escrita uma breve descrição apenas dos passos necessários para o fluxo normal do caso de uso (ou seja, que funcionalidade o caso de uso fornece).
  • À medida que a análise avança, esses passos são detalhados com mais informações.
  • Finalmente, são adicionados fluxos alternativos e de exceção ao caso de uso.
  • Cada projeto pode adotar um modelo padrão de caso de uso para criar especificações de casos de uso.

Caso de uso vs. Especificação de caso de uso

Um caso de uso descreve uma tarefa realizada por um ator que gera valor para o negócio. Um caso de uso pode ser visualizado como um diagrama de casos de uso e/ou em um formato textual estruturado:

Use Case vs. Use Case Specification

Casos de uso (tarefas que o cliente deseja realizar) podem ser:

  • Interação — Casos de uso do sistema descrevem como um ator interage com o sistema para alcançar uma meta de negócio definida.
  • Manual — Uma sequência de ações realizadas pelo ator.
  • Automatizado — Uma sequência de etapas executadas por um programa ou script.

Características de um caso de uso

Um caso de uso tem:

  • Apenas um objetivo
  • Um ponto de início
  • Um ponto de término
  • Múltiplos caminhos do início ao fim
    • Ou seja, especifica comportamentos para várias condições possíveis
    • Cada condição pode exigir ações específicas

Characteristics of a Use Case

Por exemplo — Cliente paga uma conta:

Customer Pays a Bill

Existem múltiplos caminhos paraalcançar o objetivo:

  • Por telefone
  • Por correio
  • Pessoalmente
  • Por cheque
  • Em dinheiro, etc.

Caminhos que não levam ao objetivo:

  • Cartão de crédito recusado

Abordagem Ágil de Casos de Uso

O modelo de caso de uso e seus casos de uso individuais evoluem de forma incremental ao longo do tempo. Nem todos os casos de uso no modelo precisam ser especificados ao mesmo nível de detalhe.

Just-in-Time e Just-Enough

Casos de uso podem ser escritos em diferentes níveis de detalhe e escopo, cada um servindo a uma finalidade:

  • Resumo: Uma descrição geral e visão de alto nível de uma função do sistema ou processo de negócios.
  • Nível de Objetivo do Usuário: Descrições relacionadas às tarefas de do usuárioobjetivos e como eles interagem com o sistema; descrições de processos de negócios específicos. Os casos de uso de objetivos do usuário são geralmente considerados no nível das tarefas principais do usuário.

Exemplo: Sacar dinheiro de um caixa eletrônico é uma tarefa útil e seria um caso de uso de nível principal, mas digitar seu PIN não estaria nesse nível porque sustenta a tarefa principal.

  • Subfunção: Descrições de atividades de nível inferior que completam partes de um caso de uso principal.

Agile Use Case Approach

Observação: Alguns casos de uso podem ser totalmente especificados até o Nível II. Você para quando tiver justamente o suficiente de detalhes, obtidos de forma oportuna e suficiente.

Especificação Detalhada de Caso de Uso

Um caso de uso detalhado é uma representação textual que descreve uma sequência de eventos, juntamente com outras informações relevantes sobre o caso de uso, em um formato específico. As pessoas geralmente adotam um modelo padrão de caso de uso para documentar informações detalhadas sobre casos de uso.

Detailed Use Case Specification

Modelo de Caso de Uso – Exemplo de Saque de Dinheiro em Caixa Eletrônico

Como mencionado anteriormente, os casos de uso têm vários estilos de notação (por exemplo, diagramáticos, UML, formato textual). Independentemente da notação utilizada, ela deve ser fácil de entender. Você pode usar um modelo como o de Alistair Cockburn, ou escolha o modelo que melhor se adapta à sua equipe.

Especificação de Caso de Uso
Nome do Caso de Uso: Sacar Dinheiro
Atores: Cliente (principal), Sistema Bancário (secundário)
Descrição Breve: Permite que qualquer cliente bancário saque dinheiro da sua conta bancária.
Prioridade: Deve ter
Status: Detalhamento médio
Pré-condições: O cliente bancário possui um cartão para inserir no caixa eletrônico
O caixa eletrônico está online e funcionando normalmente
Pós-condições:
  • O cliente bancário recebeu dinheiro (e comprovante opcional)
  • O banco debitou a conta do cliente e registrou os detalhes da transação
Fluxo Básico:
  1. O cliente insere seu cartão no caixa eletrônico
  2. O caixa eletrônico valida que o cartão é um cartão bancário válido
  3. O caixa eletrônico solicita a entrada do PIN
  4. O cliente digita seu PIN
  5. O caixa eletrônico valida o cartão bancário em relação ao PIN
  6. O caixa eletrônico apresenta as opções de serviço, incluindo “Saque”
  7. O cliente seleciona “Saque”
  8. O caixa eletrônico apresenta as opções de valor
  9. O cliente seleciona um valor ou digita um valor
  10. O caixa eletrônico verifica se há dinheiro suficiente disponível na máquina
  11. O caixa eletrônico verifica se o cliente está abaixo do limite de saque
  12. O caixa eletrônico verifica se há fundos suficientes disponíveis na conta bancária do cliente
  13. O caixa eletrônico debita a conta bancária do cliente
  14. O ATM devolve o cartão bancário do cliente
  15. O cliente retira seu cartão bancário
  16. O ATM dispensa dinheiro para o cliente
  17. O cliente retira seu dinheiro
Fluxos Alternativos: 2a. Cartão inválido
2b. Cartão inserido de ponta-cabeça
5a. Cartão roubado
5b. PIN inválido
10a. Dinheiro insuficiente na máquina
10b. Notas de valor incorreto na máquina
11a. Saque excede o limite de saque
12a. Fundos insuficientes na conta bancária do cliente
14a. Cartão bancário preso na máquina
15a. Cliente não retira o cartão bancário
16a. Dinheiro preso na máquina
17a. Cliente falha em retirar o dinheiro

  • O ATM não consegue se comunicar com o sistema bancário
  • O cliente não responde aos prompts do ATM
Regras de Negócio: B1: Formato do PIN
B2: Número de tentativas de PIN
B3: Opções de serviço
B4: Opções de valor
B5: Limites de saque
B6: O cartão deve ser retirado antes da dispensa de dinheiro
Requisitos Não-Funcionais: NF1: Tempo para concluir a transação
NF2: Segurança da entrada do PIN
NF3: Tempo permitido para retirar o cartão e o dinheiro
NF4: Suporte a idiomas
NF5: Suporte a usuários cegos e com visão parcial

Leave a Reply