A Linguagem de Modelagem Unificada (UML) é uma ferramenta poderosa para visualizar e projetar sistemas de software. Este guia explica os conceitos principais e as relações entre diagramas de casos de uso, modelos de casos de uso, fluxo de eventos, diagramas de sequência, diagramas de objetos e diagramas de classes. Usaremos um exemplo de um sistema de livraria online para ilustrar esses conceitos.
Diagrama de Casos de Uso
Propósito: Capturar os requisitos funcionais de um sistema a partir da perspectiva do usuário.
Componentes:
- Atores: Representam usuários ou sistemas externos que interagem com o sistema.
- Casos de Uso: Representam as funcionalidades ou serviços fornecidos pelo sistema.
- Relacionamentos: Mostram as interações entre atores e casos de uso.
Exemplo: Em um sistema de livraria online, os atores incluem “Cliente” e “Administrador”. Os casos de uso incluem “Navegar por Livros”, “Buscar Livros”, “Adicionar ao Carrinho”, “Fazer Pedido”, “Gerenciar Estoque” e “Processar Devoluções”.
Modelos de Casos de Uso
Propósito: Documentar os detalhes de um caso de uso, incluindo sua descrição, atores, pré-condições, pós-condições e fluxo de eventos.
Componentes:
- Nome do Caso de Uso: O nome do caso de uso.
- Atores: Os atores envolvidos no caso de uso.
- Pré-condições: Condições que devem ser verdadeiras antes do início do caso de uso.
- Pós-condições: Condições que devem ser verdadeiras após o término do caso de uso.
- Fluxo de Eventos: A sequência de passos realizados no caso de uso.
Exemplo: Modelo de Caso de Uso para “Fazer Pedido”
- Nome do Caso de Uso: Fazer Pedido
- Atores: Cliente
- Pré-condições: O cliente deve ter itens no carrinho.
- Pós-condições: O pedido é feito e o estoque é atualizado.
- Fluxo de Eventos:
- O cliente seleciona a opção “Fazer Pedido”.
- O sistema valida os itens no carrinho.
- O sistema cria um pedido.
- O sistema atualiza o estoque.
- O sistema envia uma confirmação do pedido ao cliente.
Fluxo de Eventos
Propósito: Descrever a sequência de passos realizados em um caso de uso.
Componentes:
- Fluxo Principal: A sequência principal de passos.
- Fluxos Alternativos: Sequências alternativas de passos para diferentes condições.
- Fluxos de Exceção: Sequências de passos para tratamento de exceções.
Exemplo: Fluxo de Eventos para “Fazer Pedido”
-
Fluxo Principal:
- O cliente seleciona a opção “Fazer Pedido”.
- O sistema valida os itens no carrinho.
- O sistema cria um pedido.
- O sistema atualiza o estoque.
- O sistema envia uma confirmação de pedido ao cliente.
-
Fluxo Alternativo:
- Se a validação falhar, o sistema notifica o cliente.
-
Fluxo de Exceção:
- Se a atualização do estoque falhar, o sistema notifica o administrador.
Diagrama de Sequência
Propósito: Modelar o comportamento dinâmico de um sistema mostrando como os objetos interagem ao longo do tempo.
Componentes:
- Objetos: Representam instâncias de classes.
- Mensagens: Representam as interações entre objetos.
- Linhas de Vida: Mostram a existência dos objetos ao longo do tempo.
Exemplo: Diagrama de Sequência para “Fazer Pedido”

Diagrama de Objetos
Propósito: Fornecer uma foto instantânea do sistema em um momento específico, mostrando objetos e suas relações.
Componentes:
- Objetos: Instâncias de classes.
- Links: Relações entre objetos.
Exemplo: Diagrama de Objetos para “Fazer Pedido”

Diagrama de Classes
Propósito: Modelar a estrutura estática de um sistema mostrando suas classes, atributos, métodos e relacionamentos.
Componentes:
- Classes: Representam as entidades no sistema.
- Atributos: Representam as propriedades das classes.
- Métodos: Representam os comportamentos das classes.
- Relacionamentos: Mostram as associações, heranças e dependências entre classes.
Exemplo: Diagrama de Classes para o Sistema de Livraria Online

Integração dos Diagramas
- Diagrama de Casos de Uso: Identifica as funcionalidades de alto nível do sistema.
- Modelos de Casos de Uso: Documenta os detalhes de cada caso de uso.
- Fluxo de Eventos: Descreve a sequência de passos em um caso de uso.
- Diagrama de Sequência: Modela as interações dinâmicas entre objetos para um caso de uso específico.
- Diagrama de Objetos: Fornece uma foto instantânea do sistema em um momento específico.
- Diagrama de Classes: Define a estrutura estática do sistema.
Ao integrar esses diagramas, você pode capturar os requisitos, projetar a estrutura do sistema e modelar as interações, fornecendo uma visão abrangente do sistema.
Conclusão
Compreender os conceitos-chave e as relações entre diagramas de casos de uso, modelos de casos de uso, fluxo de eventos, diagramas de sequência, diagramas de objetos e diagramas de classes é essencial para um design de software eficaz. Esses diagramas se complementam, oferecendo uma visão holística dos requisitos, estrutura e comportamento do sistema. Ao seguir este guia e o exemplo de um sistema de livraria online, você pode utilizar efetivamente esses diagramas para projetar e desenvolver sistemas de software robustos.