Introdução
Elaboração de Casos de Uso é uma fase crítica no ciclo de vida do desenvolvimento de software, particularmente no contexto da engenharia de requisitos e da análise e design orientados a objetos. Ela pontua a lacuna entre casos de uso de alto nível e especificações detalhadas do sistema, permitindo que desenvolvedores, analistas e partes interessadas compreendamcomoum sistema se comporta em resposta a objetivos específicos do usuário.
Este guia fornece uma visão abrangente deelaboração de casos de uso, incluindo seu propósito, conceitos-chave, metodologia passo a passo, melhores práticas e exemplos do mundo real.
1. O que é Elaboração de Casos de Uso?
Elaboração de Casos de Usoé o processo de aprimorar um caso de uso de alto nível em uma descrição detalhada e acionável do comportamento do sistema. Ele transforma uma narrativa simples de interação do usuário em uma especificação precisa, testável e implementável.

✅ Objetivo: Definiro queo sistema deve fazer,comodeve fazê-lo esob quais condições, com detalhes suficientes para desenvolvimento e teste.
2. Por que a Elaboração de Casos de Uso é Importante
-
Reduz a Ambiguidade: Evita a interpretação incorreta dos requisitos.
-
Melhora a Rastreabilidade: Liga requisitos ao design, código e casos de teste.
-
Apoia o Design e a Implementação: Fornece uma base para diagramas de classes, diagramas de sequência e design de banco de dados.
-
Permite o Teste: Facilita a criação de cenários de teste e critérios de aceitação.
-
Melhora a Colaboração: Garante o entendimento compartilhado entre partes interessadas, desenvolvedores e testadores.
3. Conceitos Principais na Elaboração de Casos de Uso
3.1 Caso de Uso (CU)
Um caso de uso descreve uma sequência de ações que um sistema realiza para gerar um resultado valioso para um ator (um usuário ou sistema externo).
Exemplo: “Sacar Dinheiro” de um caixa eletrônico.
3.2 Ator
Uma entidade externa que interage com o sistema. Pode ser um usuário humano, outro sistema ou um disparador por tempo.
Exemplo: Cliente, Máquina de Caixa Eletrônico, Gateway de Pagamento.
3.3 Ator Primário e Ator Secundário
-
Ator Primário: Inicia o caso de uso.
-
Ator Secundário: Apoia o ator primário (por exemplo, um servidor bancário).
3.4 Pré-condições
Condições que devem ser verdadeiras antes que o caso de uso possa começar.
Exemplo: O usuário deve possuir um cartão válido e um PIN correto.
3.5 Pós-condições
Condições que devem ser verdadeiras após o caso de uso ser concluído.
Exemplo: O dinheiro é dispensado, o saldo da conta é atualizado.
3.6 Cenário Principal de Sucesso (Fluxo Básico)
O caminho mais comum no caso de uso que leva ao sucesso.
Exemplo: Inserir cartão → Digitar PIN → Selecionar saque → Digitar valor → Receber dinheiro.
3.7 Fluxos Alternativos (Fluxos de Exceção)
Ramificações no caso de uso que lidam com exceções, erros ou variações.
Exemplo: PIN inválido → Tentar novamente ou cancelar.
3.8 Extensões
Pontos no fluxo principal onde pode ser inserido um comportamento alternativo (por exemplo, por meio de “<>” no UML).
Exemplo: “<>: Notificar o banco sobre atividade suspeita.”
3.9 Requisitos Não Funcionais (RNFs)
Restrições sobre o comportamento do sistema (por exemplo, desempenho, segurança, usabilidade).
Exemplo: “A transação deve ser concluída em até 3 segundos.”
4. O Processo de Elaboração de Casos de Uso (Passo a Passo)
Etapa 1: Identificar o Caso de Uso
Comece com um caso de uso de alto nível (por exemplo, “Fazer Pedido”).
Use um modelo:
Nome do Caso de Uso: Fazer Pedido
Ator Principal: Cliente
Interessados: Cliente, Sistema de Gestão de Pedidos, Gateway de Pagamento
Etapa 2: Definir Pré-condições
Liste todas as condições que devem ser atendidas antes do início do caso de uso.
O cliente está logado.
O carrinho de compras contém pelo menos um item.
O método de pagamento está salvo.
Etapa 3: Definir Pós-condições
Indique o que deve ser verdadeiro após a conclusão do caso de uso.
O pedido é criado no sistema.
O estoque é atualizado.
O pagamento é processado.
Um e-mail de confirmação é enviado.
Etapa 4: Escrever o Cenário Principal de Sucesso (Fluxo Básico)
Detalhe o caminho ideal e bem-sucedido.
O cliente seleciona “Finalizar Compra” no carrinho de compras.
O sistema exibe o resumo do pedido.
O cliente confirma o endereço de entrega.
O cliente seleciona o método de pagamento.
O sistema processa o pagamento.
O pagamento é confirmado.
O sistema cria o pedido e gera a confirmação.
A confirmação é exibida e um e-mail é enviado.
Etapa 5: Identificar fluxos alternativos (fluxos de exceção)
Liste as possíveis desvios em relação ao fluxo principal.
Fluxo Alternativo A: Estoque Insuficiente
O sistema verifica o estoque.
O item está esgotado.
O sistema exibe a mensagem: “Item indisponível.”
O cliente pode remover o item ou continuar sem ele.
Fluxo Alternativo B: Pagamento Recusado
O pagamento é rejeitado.
O sistema exibe o erro: “Pagamento recusado.”
O cliente pode tentar novamente ou escolher outro método.
Fluxo Alternativo C: Endereço de Entrega Inválido
O sistema valida o endereço.
O endereço é inválido.
O sistema solicita ao cliente que corrija o endereço.
Etapa 6: Definir Extensões (Relacionamentos <>)
Use extensões do estilo UML para mostrar comportamento opcional.
<>: Notificar o Sistema de Estoque
Gatilho: Quando um item está esgotado durante o checkout.
Propósito: Alertar o armazém para reabastecer.
<>: Aplicar Cupom de Desconto
Gatilho: O cliente insere um código de cupom válido.
Propósito: Reduzir o custo total.
Etapa 7: Adicionar Requisitos Não Funcionais (RNFs)
Inclua as restrições do sistema.
O pedido deve ser processado em até 5 segundos.
O pagamento deve ser criptografado usando TLS 1.3.
O sistema deve suportar 10.000 usuários simultâneos.
Passo 8: Revisar e Validar
Colabore com os interessados para garantir completude e precisão.
Pergunte: “Isso cobre todas as metas do usuário?”
Pergunte: “Todos os casos extremos foram considerados?”
Pergunte: “Um desenvolvedor consegue construir a partir disso?”
5. Ferramentas e Técnicas para Elaboração
| Ferramenta/Técnica | Propósito |
|---|---|
| Diagrama de Caso de Uso (UML) | Visualize atores e casos de uso. |
| Diagrama de Sequência | Mostre o fluxo de mensagens entre objetos durante o caso de uso. |
| Diagrama de Atividade | Modelar fluxos de trabalho complexos e pontos de decisão. |
| Mapeamento de Histórias de Usuário | Conecte casos de uso à jornada do usuário e prioridades. |
| Tabelas de Decisão | Clarear lógica complexa (por exemplo, regras de desconto). |
6. Melhores Práticas
-
Mantenha os Casos de Uso Focados no Usuário: Foque nas metas do usuário, não nos recursos do sistema.
-
Use Nomenclatura Consistente: Use o formato verbo-substantivo (por exemplo, “Atualizar Perfil”).
-
Evite Jargões Técnicos: Escreva para interessados não técnicos.
-
Use Linguagem Clara: Seja claro e conciso.
-
Iterar: Refineça os casos de uso conforme o entendimento aumenta.
-
Link para Outros Artefatos: Conecte casos de uso a diagramas de classes, casos de teste e histórias de usuários.
-
Priorize: Foque primeiro nos casos de uso de alto valor ou alto risco.
7. Exemplo do Mundo Real: Banco Online – Transferir Dinheiro
Caso de Uso: Transferir Dinheiro
Ator Principal: Cliente
Ator Secundário: Servidor do Banco, Sistema de Detecção de Fraude
Pré-condições
-
O cliente está logado.
-
A conta de origem possui fundos suficientes.
-
O limite de transferência não foi ultrapassado.
Pós-condições
-
Os fundos são transferidos da conta de origem para a conta de destino.
-
A transação é registrada em ambas as contas.
-
Uma notificação é enviada para ambas as partes.
Cenário Principal de Sucesso
-
O cliente seleciona “Transferir Dinheiro” no painel.
-
O sistema exibe o formulário de transferência.
-
O cliente insere a conta de destino e o valor.
-
O sistema valida a conta e o valor.
-
O cliente confirma a transferência.
-
O sistema verifica as regras de detecção de fraude.
-
A transação é aprovada e executada.
-
Uma mensagem de confirmação é exibida.
Fluxos Alternativos
-
A1: Fundos Insuficientes
→ O sistema exibe: “Fundos insuficientes.”
→ O cliente pode cancelar ou ajustar o valor. -
A2: Fraude Detectada
→ O sistema bloqueia a transferência e envia um alerta.
→ O cliente deve verificar por meio de 2FA ou entrar em contato com o suporte. -
A3: Conta de Destino Inválida
→ O sistema exibe: “Conta não encontrada.”
→ O cliente pode reentrar ou usar a pesquisa de conta.
Extensões
-
<>: Enviar Notificação ao Destinatário
-
Gatilho: Transferência concluída.
-
Propósito: Informar o destinatário.
-
-
<>: Aplicar Taxa de Transferência
-
Gatilho: Valor da transferência > $1.000.
-
Propósito: Deduzir taxa de $5.
-
Requisitos Não-Funcionais
-
Todas as transferências devem ser registradas e auditáveis.
-
Tempo de resposta ≤ 2 segundos.
-
Dados criptografados em trânsito e em repouso.
8. Armadilhas Comuns e Como Evitá-las
| Armadilha | Solução |
|---|---|
| Muito vago (por exemplo, “O sistema deve processar pedidos”) | Use ações específicas e mensuráveis. |
| Linguagem excessivamente técnica | Use linguagem natural; evite termos de código ou banco de dados. |
| Caminhos de exceção ausentes | Use fluxos alternativos para cobrir falhas. |
| Critérios de sucesso não claros | Defina os pós-condições claramente. |
| Sem revisão de partes interessadas | Envolve usuários, testadores e analistas de negócios. |
9. Conclusão
A elaboração de casos de uso não é apenas um exercício de documentação—é um processo estratégico que garante que o sistema atenda às necessidades reais dos usuários com clareza, precisão e completude. Expandindo sistematicamente os casos de uso de alto nível em especificações detalhadas e passíveis de ação, as equipes reduzem riscos, melhoram a comunicação e estabelecem uma base sólida para a entrega bem-sucedida de software.
✅ Dica Final: Trate a elaboração de casos de uso como uma conversa iterativa—não como uma tarefa única. Aprimore-a conforme você aprender mais sobre o sistema e seus usuários.
Apêndice: Modelo para Elaboração de Casos de Uso
# Nome do Caso de Uso: [por exemplo, Atualizar Perfil]
**Ator Principal**: [por exemplo, Cliente]
**Ator(s) Secundário(s)**: [por exemplo, Banco de Dados, Serviço de E-mail]
**Partes Interessadas**: [por exemplo, Cliente, Equipe de Suporte]
### Pré-condições
- [Liste as condições]
### Pós-condições
- [Liste os resultados]
### Cenário Principal de Sucesso (Fluxo Básico)
1. [Passo 1]
2. [Passo 2]
...
### Fluxos Alternativos
- **A1: [Nome]**
1. [Passo]
2. [Passo]
- **A2: [Nome]**
...
### Extensões (<<extend>>)
- **<<extend>>: [Nome]**
- Disparador: [Quando]
- Propósito: [Por quê]
### Requisitos Não-Funcionais
- [Desempenho, Segurança, Usabilidade, etc.]
### Observações
- [Contexto adicional ou suposições]
Ao seguir este guia, as equipes podem dominar a arte da elaboração de casos de uso e construir sistemas que não são apenas funcionais, mas verdadeiramente alinhados às expectativas dos usuários.
Apêndice – Descrição do Caso de Uso para Saque de Dinheiro em um Caixa Eletrônico:
Nome do Caso de Uso
Sacar Dinheiro
Ator Principal
Cliente (titular da conta bancária)
Atores Secundários
-
Máquina de Caixa Eletrônico
-
Servidor Bancário (Sistema Bancário Central)
-
Gateway de Pagamento (para processamento de transações)
-
Sistema de Detecção de Fraude
-
Impressora (para geração de comprovante)
Partes Interessadas e Interesses
-
Cliente: Deseja sacar dinheiro de forma segura e eficiente.
-
Banco: Garante a integridade da transação, prevenção de fraudes e atualizações precisas da conta.
-
Operador do Caixa Eletrônico: Mantém a disponibilidade da máquina e o estoque de dinheiro.
-
Equipe de Segurança: Monitora comportamentos suspeitos e previne fraudes.
Pré-condições
-
O cliente possui um cartão bancário válido inserido na máquina.
-
O cliente se autenticou com sucesso (digitou o PIN correto).
-
A conta do cliente está ativa e não bloqueada.
-
A máquina possui dinheiro suficiente no cofre.
-
A conta do cliente possui saldo disponível suficiente.
-
O limite diário de saque não foi ultrapassado.
Pós-condições
-
O valor solicitado em dinheiro é entregue ao cliente.
-
O saldo da conta do cliente é reduzido pela quantia sacada.
-
Um registro de transação é criado no sistema do banco.
-
Um comprovante é impresso (se solicitado).
-
A máquina registra a transação para auditoria e reconciliação.
Cenário Principal de Sucesso (Fluxo Básico)
| Passo | Ação do Sistema | Resposta do Ator |
|---|---|---|
| 1 | Máquina solicita: “Por favor, digite seu PIN.” | Cliente digita o PIN. |
| 2 | A máquina valida o PIN com o servidor do banco. | O sistema confirma que o PIN está correto. |
| 3 | A máquina exibe o menu principal: “Sacar Dinheiro, Ver Saldo, Transferir, Sair.” | Cliente seleciona “Sacar Dinheiro.” |
| 4 | Máquina solicita: “Digite o valor a sacar.” | O cliente insere o valor (por exemplo, $100). |
| 5 | O caixa eletrônico valida: |
-
O valor está dentro do limite diário.
-
A conta possui fundos suficientes.
-
O caixa eletrônico tem dinheiro suficiente. | O sistema confirma a validade. |
| 6 | O caixa eletrônico solicita autorização ao servidor do banco. | O servidor do banco aprova a transação. |
| 7 | O caixa eletrônico dispensa dinheiro do cofre. | O cliente recebe o dinheiro. |
| 8 | O caixa eletrônico exibe: “Deseja um comprovante?” | O cliente seleciona “Sim” ou “Não”. |
| 9 | Se “Sim”: o caixa eletrônico imprime o comprovante com: -
Data/hora
-
Valor sacado
-
Saldo restante
-
ID da transação | O cliente coleta o comprovante. |
| 10 | O caixa eletrônico exibe: “Obrigado. Por favor, retire seu cartão.” | O cliente retira o cartão. |
| 11 | O caixa eletrônico retorna ao estado ocioso. | O sistema é reiniciado. |
✅ Resultado de sucesso: O cliente recebe o dinheiro e (opcionalmente) um comprovante. A conta é atualizada.
Fluxos alternativos (cenários de exceção)
A1: PIN inválido inserido (3 tentativas)
-
Gatilho: O cliente insere PIN incorreto três vezes.
-
Ação do sistema: O caixa eletrônico bloqueia o cartão e exibe: “Cartão bloqueado. Entre em contato com seu banco.”
-
Ação do ator: O cliente sai e entra em contato com o banco.
-
Pós-condição: O cartão é temporariamente bloqueado; a transação é registrada.
⚠️ Observação: Esta é uma medida de segurança para impedir o acesso não autorizado.
A2: Fundos Insuficientes
-
Gatilho: O cliente insere um valor superior ao saldo disponível.
-
Ação do Sistema: O ATM exibe: “Fundos insuficientes. Saldo atual: $X.”
-
Ação do Ator: O cliente seleciona “Cancelar” ou insere um valor menor.
-
Pós-condição: Nenhum dinheiro dispensado; nenhum alteração na conta.
A3: Caixa do ATM Insuficiente
-
Gatilho: O cliente insere um valor válido, mas o cofre do ATM está vazio ou abaixo do mínimo.
-
Ação do Sistema: O ATM exibe: “Dinheiro indisponível. Por favor, tente novamente mais tarde.”
-
Ação do Ator: O cliente cancela ou retorna mais tarde.
-
Pós-condição: Transação não processada; nenhuma alteração na conta.
A4: Valor de Saque Excede o Limite Diário
-
Gatilho: O cliente tenta sacar mais do que o limite diário (por exemplo, $1.000).
-
Ação do Sistema: O ATM exibe: “Excede o limite diário de saque. Tente um valor menor.”
-
Ação do Ator: O cliente reduz o valor ou cancela.
-
Pós-condição: Transação não processada.
A5: Transação Recusada pelo Servidor do Banco
-
Gatilho: O servidor do banco rejeita a transação (por exemplo, devido a alerta de fraude, congelamento de conta).
-
Ação do Sistema: O caixa eletrônico exibe: “Transação recusada. Entre em contato com seu banco.”
-
Ação do Ator: O cliente cancela e entra em contato com o banco.
-
Pós-condição: Nenhum dinheiro dispensado; nenhuma alteração na conta.
Extensões (<> Relacionamentos)
| Extensão | Gatilho | Propósito |
|---|---|---|
| <>: Notificar o Sistema de Detecção de Fraude | Quando um saque é realizado em um país estrangeiro ou excede o comportamento típico | Marcar atividade suspeita para revisão |
| <>: Enviar alerta por SMS ao cliente | Após o saque bem-sucedido | Notificar o cliente sobre a transação (segurança aprimorada) |
| <>: Aplicar taxa de saque | Para titulares de conta não primários ou certos tipos de conta | Cobrar taxa por serviços específicos |
| <>: Imprimir histórico de transações | Se o cliente selecionar “Imprimir Histórico” no menu | Fornecer um resumo impresso das transações recentes |
Requisitos Não-Funcionais (NFRs)
| Categoria | Requisito |
|---|---|
| Desempenho | A transação deve ser processada em até 3 segundos. |
| Segurança | Toda comunicação é criptografada (TLS 1.3). O PIN nunca é armazenado ou transmitido em texto claro. |
| Confiabilidade | O caixa eletrônico não deve dispensar dinheiro a menos que o servidor do banco confirme a autorização. |
| Usabilidade | A interface deve ser acessível (por exemplo, botões grandes, orientação por voz para pessoas com deficiência visual). |
| Disponibilidade | O caixa eletrônico deve estar operacional 99,9% do tempo. |
| Auditoria e Conformidade | Todas as transações devem ser registradas e rastreáveis por 7 anos (de acordo com as regulamentações bancárias). |
Observações
-
O caixa eletrônico deve ser regularmente mantido para garantir a disponibilidade de dinheiro e a confiabilidade do hardware.
-
Se o cartão não for retirado dentro de 30 segundos após a transação, ele será retido automaticamente (funcionalidade anti-furto).
-
O sistema suporta múltiplas moedas e cálculos de taxa de câmbio (se aplicável).
Diagrama de Caso de Uso (Resumo UML)
[Cliente] --(Sacar Dinheiro)--> [Caixa Eletrônico]
[Caixa Eletrônico] --(Autenticar PIN)--> [Servidor do Banco]
[Caixa Eletrônico] --(Verificar Fundos)--> [Servidor do Banco]
[Caixa Eletrônico] --(Dispensar Dinheiro)--> [Cofre de Dinheiro]
[Caixa Eletrônico] --(Imprimir Comprovante)--> [Impressora]
[Caixa Eletrônico] --(Notificar Sistema de Fraude)--> [Sistema de Detecção de Fraude]
(Observação: Em um diagrama UML completo, relações de caso de uso como <> e <> seriam mostradas.)
✅ Resumo
Este caso de uso elaborado para “Sacar Dinheiro” fornece uma especificação clara, estruturada e testável que:
-
Captura os objetivos do usuário e o comportamento do sistema.
-
Lida com exceções do mundo real.
-
Suporta segurança, conformidade e usabilidade.
-
Serve como base para o design, testes e implementação.
É adequado para uso em sprints ágeis, documentos de design de sistema ou especificações formais de requisitos.
📘 Próximos Passos:
-
Converta isso em um diagrama de sequência para mostrar as interações entre objetos.
-
Criar casos de teste baseado em cada fluxo (principal e alternativo).
-
Link para diagramas de classes (por exemplo,
Conta,Transação,Caixa Eletrônico,Detector de Fraude).
- O que é um Diagrama de Caso de Uso? – Um Guia Completo sobre Modelagem UML: Este guia oferece uma explicação aprofundada sobre diagramas de casos de uso, abrangendo seu propósito, componentes e melhores práticas para modelar requisitos de software.
- Tutorial Passo a Passo sobre Diagramas de Caso de Uso – Do Iniciante ao Profissional: Este recurso abrangente guia os usuários pelo processo de criação de diagramas de casos de uso eficazes, desde conceitos básicos até técnicas avançadas de modelagem.
- Visual Paradigm – Recursos para Descrição de Casos de Uso: Este artigo explora os recursos específicos disponíveis no Visual Paradigm para documentar interações do usuário e comportamento do sistema com precisão.
- Gerador de Descrições de Casos de Uso com IA por Visual Paradigm: Esta página detalha uma ferramenta com inteligência artificial que gera automaticamente descrições detalhadas de casos de uso a partir de entradas do usuário, acelerando significativamente o processo de documentação.
- Automatizando o Desenvolvimento de Casos de Uso com IA no Visual Paradigm: Este artigo explica como o gerador impulsionado por IA reduz o esforço manual e melhora a consistência durante o ciclo de vida do desenvolvimento de software.
- Tutorial do Gerador de Descrições de Casos de Uso do Visual Paradigm: Um tutorial passo a passo que demonstra como produzir automaticamente documentos estruturados e detalhados de casos de uso diretamente a partir dos seus diagramas.
- Documentando Casos de Uso no Visual Paradigm: Guia do Usuário: Este guia oficial explica como documentar efetivamente requisitos usando modelos estabelecidos e melhores práticas dentro do ambiente de modelagem.
- Produzindo Descrições de Casos de Uso no Visual Paradigm: Este guia técnico fornece instruções sobre como usar as ferramentas integradas do software para criar descrições formais para os requisitos do sistema.
- Desvendando Casos de Uso, Cenários e Fluxo de Eventos: Este recurso aprofundado explica as relações críticas entre casos de uso, cenários e o fluxo estruturado de eventos necessário para uma documentação precisa.
- Como Escrever Casos de Uso Efetivos? – Visual Paradigm: Este tutorial destaca que o propósito principal da modelagem de casos de uso é estabelecer uma base sólida para o sistema ao identificar claramente as necessidades dos usuários.











