Como Escrever Casos de Uso

Um caso de uso pode ser definido, resumidamente, como uma descrição do que o sistema deve fazer para atingir um determinado objetivo. Em uma narrativa em texto, os casos de uso são amplamente utilizadas para descobrir e registrar requisitos, necessários para o desenvolvimento de sistemas.

Abaixo apresento a estrutura de um caso de uso, em formato de tabela:

Título do Caso de Uso o nome é o objetivo na forma de uma pequena frase de verbo ativo
Contexto de Uso: uma sentença maior do contexto de uso se necessário
Escopo: qual sistema está sendo considerado caixa-preta sob desenvolvimento
Nível: um dentre estes: resumo, objetivo do usuário, subfunção
Ator Primário: um nome de papel para o ator primário, ou a descrição
Stakeholders e Interesses: Stakeholder Interesse
nome do stakeholder coloque aqui o interesse do stakeholder
nome do stakeholder coloque aqui o interesse do stakeholder
Pré-condição: o que esperamos que já seja o estado do mundo
Garantias mínimas: os interesses protegidos em qualquer saída
Garantias de sucesso: os interesses satisfeitos em um final bem sucedido
Acionador: a ação sob o sistema que inicia o caso de uso
Descrição Passo Ação
1 coloque aqui os passos do cenário do acionamento a entrega do objetivo e qualquer esclarecimento posterior
2 <…>
3
Extensões Passo Ação de Desvio
1a condição que causa o desvio: ação ou nome do sub caso de uso
Variações Tecnológicas e Dados
1 lista de variações

Para escrever um caso de uso, observe as seguintes sugestões:

  • Escreva algo legível. Casos de uso casuais e legíveis ainda são úteis, enquanto casos de uso ilegíveis não serão lidos.
  • Trabalhe com amplitude primeiro, da menor precisão para a maior precisão.
    • Nível de Precisão 1: Nome e objetivos dos atores primários.
    • Nível de Precisão 2: O resumo do caso de uso ou o cenário de sucesso principal.
    • Nível de Precisão 3: As condições de extensão.
    • Nível de Precisão 4: Os passos de tratamento da extensão.
  • Para cada passo:
    • Mostre um objetivo tendo sucesso.
    • Capture as intenções do ator, não os detalhes da interface do usuário.
    • Tenha um ator passando informação, validando uma condição ou atualizando um estado.
    • Escreva comentários entre os passos para indicar a seqüência dos passos (ou a falta de).
    • Pergunte “por que” para encontrar um próximo nível de objetivo mais alto.

O processo de escrita de um caso de uso pode ser realizado nos seguintes passos abaixo:

  1. Especifique o escopo e os limites do sistema. Rastreie mudanças no diagrama de contexto inicial com a lista dentro/fora.
  2. Faça brainstorming e liste os atores primários. Encontre todo ator primário humano e não humano ao longo da vida do sistema.
  3. Faça brainstorming e liste exaustivamente os objetivos dos usuários para com o sistema. A lista ator-objetivo inicial agora está disponível.
  4. Capture os casos de uso resumo mais externos para ver quem realmente importa. Confira se há um caso de uso mais externo para cada ator primário.
  5. Reconsidere e revise os casos de uso resumo. Adicione, subtraia e junte objetivos. Reexamine os acionadores baseados em tempo e outros eventos no limite do sistema.
  6. Selecione um caso de uso para expandir. Considere escrever uma narrativa para aprender o material.
  7. Capture os stakeholders e interesses, pré-condições e garantias. O sistema assegurará as pré-condições e garantirá todos os interesses.
  8. Escreva o cenário de sucesso principal (CSP). Use de 3 a 9 passos para satisfazer todos os interesses e as garantias.
  9. Faça brainstorming e liste exaustivamente as condições de extensão. Inclua todas que o sistema pode detectar e deve tratar.
  10. Escreva os passos de tratamento de extensão. Cada um terminará voltando para o CSP, com uma saída de sucesso separada ou com uma falha.
  11. Extraia fluxos complexos para subcasos de uso; junte subcasos de uso triviais. Extrair um subcaso de uso é fácil, mas ele adiciona custo ao projeto.
  12. Reajuste o conjunto: adicione, subtraia e junte conforme necessário. Verifique pela legibilidade, integridade e satisfação dos interesses dos stakeholders.

Por fim, faça a verificação de cada um dos campos do caso de uso escrito, respondendo às seguintes perguntas:

Campo Questão
Título do Caso de Uso 1. É uma frase com verbo ativo que declara o objetivo do ator primário?
2. O sistema pode alcançar o objetivo?
Escopo e Nível 3. Os campos estão preenchidos?
Escopo 4. O caso de uso trata do sistema mencionado no Escopo como uma caixa-preta? (A resposta deve ser “Sim” se é um documento de requisitos de sistema, mas poderia ser “Não” se o caso de uso é um caso de uso de negócio caixa-branca.)
5. Se o sistema no Escopo é o sistema a ser projetado, o projetista tem que projetar tudo dentro dele e nada fora dele?
Nível 6. O conteúdo do caso de uso corresponde ao nível de objetivo declarado?
7. O objetivo está realmente no nível de objetivo declarado?
Ator Primário 8. Ele/ela/isso tem comportamento?
9. Ele/ela/isso tem um objetivo com o Sistema sob Discussão (SsD) que é uma promessa de serviço do SsD?
Pré-condições 10. Elas são obrigatórias e podem ser estabelecidas no local pelo SsD?
11. É verdade que elas nunca são verificadas no caso de uso?
Stakeholders e Interesses 12. Eles são nomeadas e o sistema deve satisfazer seus interesses como declarado? (Uso varia por formalidade e tolerância)
Garantias Mínimas 13. Todos interesses dos stakeholders estão protegidos?
Garantias de Sucesso 14. Todos interesses dos stakeholders estão satisfeitos?
Cenário de Sucesso Principal 15. Ele tem de 3 a 9 passos?
16. Ele é executado do acionamento até a entrega da garantia de sucesso?
17. Ele permite as variações corretas na seqüência?
Cada Passo em Qualquer Cenário 18. É descrito em uma frase como um objetivo que tem sucesso?
19. O processo move-se distintamente para frente depois de sua conclusão bem-sucedida?
20. Está claro qual ator está operando o objetivo – quem está “com a bola”?
21. Está clara a intenção do ator?
22. O nível de objetivo do passo é menor do que o nível de objetivo do caso de uso geral? Ele está, preferivelmente só um pouco abaixo no nível de objetivo do caso de uso?
23. Você tem certeza que o passo não descreve o projeto de interface de usuário do sistema?
24. Está clara qual informação está sendo passada no passo?
25. Ele “valida”, em vez de “verificar” a condição?
Condição de Extensão 26. O sistema pode e deve detectá-la e tratá-la?
27. Ela é o que o sistema realmente precisa?
Lista de Variações Tecnológicas e de Dados 28. Você tem certeza que não é uma extensão habitual de comportamento do cenário de sucesso principal?
Conteúdo do Caso de Uso Geral 29. Para os responsáveis e usuários: “É isso que você quer?”
30. Para os responsáveis e usuários: “Você será capaz de dizer, na entrega, se você o obteve?”
31. Para os desenvolvedores: “Você pode implementá-lo?”

Fonte: COCKBURN, A. Writing Effective Use Cases, 1/e. Boston: Addison-Wesley, 2001