Diagrama de caso de uso

O diagrama de caso de uso descreve a funcionalidade proposta para um novo sistema que será projetado, é uma excelente ferramenta para o levantamento dos requisitos funcionais do sistema. Segundo Ivar Jacobson, podemos dizer que um caso de uso é um "documento narrativo que descreve a sequência de eventos de um ator que usa um sistema para completar um processo". Um caso de uso representa uma unidade discreta da interação entre um ator (humano, dispositivo ou outro software[1]) e o sistema. Um caso de uso é uma unidade de um trabalho significante. Por exemplo: o "login para o sistema", "registrar no sistema" e "criar pedidos" são todos casos de uso. Cada caso de uso tem uma descrição da funcionalidade que será construída no sistema proposto. Um caso de uso pode "incluir" outra funcionalidade de caso de uso ou "estender" outro caso de uso com seu próprio comportamento.

Casos de uso são tipicamente relacionados a "atores". Um ator é um humano ou entidade máquina que interage com o sistema para executar um significante trabalho.

Componentes do diagrama de Caso de Uso

Ator

O ator especifica um papel executado por um usuário ou outro sistema que interage com o assunto (sistema). O Ator deve ser externo ao sistema. Um ator deve ter associações exclusivamente para casos de uso, componentes ou classes a exceção que um ator possa herdar o papel de outro. Um ator é representado por um boneco palito (stick man).

A identificação dos atores conta com um conjunto de questões auxiliares, como: quem utiliza, instala, inicia, mantém ou desliga o sistema; quais outros sistemas interagem com ele; quem fornece ou obtém informações; e se existem processos ou eventos que ocorrem de forma automática. Essas perguntas ajudam a mapear os diferentes papéis externos envolvidos no sistema, conforme descrito por Schneider e Winters (1998, apud VISUAL PARADIGM, s.d.).

Caso de uso

É uma especificação de um conjunto de ações executadas por um sistema, que contém um resultado observável. Caso de uso é representado por uma elipse, com o nome do caso de uso dentro ou abaixo. Se há limites do sistema no diagrama, o caso de uso deve ficar dentro.

Para auxiliar na identificação dos casos de uso, a literatura propõe um conjunto de questões orientadoras, como: quais funções o ator deseja obter do sistema; se o sistema armazena informações e quais atores são responsáveis por criar, ler, atualizar ou excluir esses dados; se o sistema precisa notificar atores sobre alterações em seu estado interno; e se existem eventos externos que o sistema deve reconhecer, bem como os agentes responsáveis por informá-lo sobre esses eventos (SCHNEIDER; WINTERS, 1998, apud VISUAL PARADIGM, s.d.).

Relação entre componentes

Herança entre atores
Relação entre casos de usos

Interações entre atores não são mostradas no diagrama de caso de uso. Se esta interação é essencial para uma descrição coerente do comportamento desejado, talvez o limite do sistema ou caso de uso deva ser re-examinado. Alternativamente, interação entre atores pode fazer parte de suposições dos sistemas.

Generalização de atores

Uma popular relação entre atores é a generalização/especialização. Isto é útil para definir sobreposição de papéis entre atores. A notação é uma linha sólida com um triângulo em direção ao ator mais geral.

Relações entre casos de usos

Include

Uma das formas de interação, um dado caso de uso pode incluir outro. Incluir é uma relação direta entre dois casos de usos, implicando que o comportamento do caso de uso incluído é inserido no comportamento do caso de uso inclusor. Esta relação indica uma obrigatoriedade do caso de uso incluir a funcionalidade do caso de uso incluído. Assim, sempre que o primeiro ocorrer obrigatoriamente o incluído ocorrerá.

Ex: Caso de Uso:

ALTERAR DADOS DO CLIENTE e INCLUIR CLIENTE, obrigatoriamente será necessário CONSULTAR DADOS DO CLIENTE.

A seta pontilhada escrita <<include>> partirá de ALTERAR DADOS DO CLIENTE e de INCLUIR CLIENTE e apontará para CONSULTAR DADOS DO CLIENTE.

A notação é uma seta pontilhada para o caso de uso incluído com o estereótipo <<include>>.

"Extend"

Outra forma de interação, um caso de uso pode estender outro. Esta relação indica que o comportamento do caso de uso extensor pode ser ou não inserido no caso de uso estendido. Notas ou restrições podem ser associadas ao relacionamento para ilustrar as condições em que este comportamento será executado.

A notação é uma seta pontilhada da extensão (caso de uso extensor) para o caso de uso estendido com a etiqueta <<extend>>.

Exemplo de um Diagrama de Caso de Uso

O diagrama de casos de uso corresponde a uma visão externa do sistema e representa graficamente os atores, os casos de uso, e os relacionamentos entre estes elementos. Ele tem como objetivo ilustrar em um nível alto de abstração quais elementos externos interagem com que funcionalidades do sistema, ou seja, a finalidade de um diagrama de caso de uso é apresentar um tipo de diagrama de contexto que apresenta os elementos externos de um sistema e as maneiras segundo as quais eles as utilizam.

A notação utilizada para ilustrar atores em um diagrama de caso de uso é a figura de um boneco, com o nome do ator definido abaixo dessa figura. Vale ressaltar que um ator nem sempre é um ser humano. É qualquer elemento externo que interage com o sistema (pessoas, organizações, outros sistemas, equipamentos).

Para representar casos de uso, utilizamos uma elipse, com o nome do caso de uso dentro da elipse, ou abaixo dela.

Um relacionamento de comunicação é representado por um segmento de reta ligando ator e caso de uso, sendo que um ator pode estar relacionado a vários casos de uso em um mesmo diagrama.

Características de um diagrama de caso de uso bem-estruturado

  • Possui somente casos de usos ("funcionalidades") e atores essenciais para sua compreensão;
  • Descreve detalhes apenas condizentes com seu alto nível de abstração;
  • Informações ou especificações essenciais para seu entendimento devem ser fornecidas (através de notas por exemplo);
  • Não deve ser exageradamente resumido a ponto de não ser possível compreender o seu objetivo principal: descrever as funcionalidades do sistema com relação a cada ator.

Boas práticas em um diagrama de caso de uso

Para um bom entendimento tanto do desenvolvedor quanto do cliente, é muito importante que um diagrama de caso de uso seja definido corretamente, dito isso, algumas das melhores práticas a serem adotadas para isso são:

  • Dar um nome ao caso de uso que comunique com clareza o seu propósito;
  • Distribuir os elementos de forma estratégica para evitar ao máximo cruzamentos de linhas, já que isso pode confundir o leitor;
  • Organizar os elementos de forma que aqueles semanticamente relacionados fiquem próximos um do outro;
  • Usar notas e cores para dar destaques à características importantes do sistema, isso pode ajudar no entendimento por parte do espectador;
  • Não usar muitos relacionamentos de inclusão e extensão complicados, pois isso afeta o entendimento do diagrama e pode acabar causando desorganização espacial.

Ligações externas

Referências

[2] [3]

  1. Vazquez, Carlos; Simões, Guilherme (2016). Engenharia de Requisitos: Software Orientado ao Negócio. [S.l.]: Brasport 
  2. BUENO, João. Análise e Projeto de Sistemas: casos de uso (use case). Santa Catarina: IFSC, 2018. Slide em PDF. Disponível em: https://docente.ifsc.edu.br/joao.augusto/MaterialDidatico/2018-1/An%C3%A1lise%20e%20Projeto%20de%20Sistemas/Diagrama%20de%20Casos%20de%20Uso.pdf. Acesso em: 02 fev. 2026.
  3. VISUAL PARADIGM. What is Use Case Diagram? Disponível em: https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-use-case-diagram/ . Acesso em: 02 fev. 2026.