Análise e Modelagem

O que é UML e para que serve?

UML é uma linguagem visual padronizada para especificar, visualizar e documentar modelos de sistemas. Ela ajuda pessoas diferentes a conversar sobre uma solução.

Modelo visual representando análise de um sistema.

Introdução

Explicar um sistema apenas com frases pode ser difícil. Uma pessoa imagina entidades, outra pensa em telas e outra está preocupada com integrações. Um modelo visual cria um ponto de apoio para comparar entendimentos e fazer perguntas.

UML não substitui conversas, requisitos ou código. Ela é uma linguagem para representar aspectos selecionados de um sistema, com símbolos e relações que outras pessoas conseguem interpretar.

O que é UML?

UML significa Unified Modeling Language, ou Linguagem de Modelagem Unificada. Ela foi criada para padronizar formas de representar estrutura, comportamento e interação em sistemas. A Object Management Group (OMG) mantém recursos e especificações oficiais da linguagem.

Um diagrama UML é uma visão parcial. Ele não precisa mostrar tudo: cada tipo de diagrama destaca um aspecto do sistema, como estrutura, objetivos de usuários ou interações em ordem temporal.

Por que utilizar UML?

Um modelo visual reduz a quantidade de detalhes que cada pessoa precisa manter na memória. Ele ajuda a encontrar atores esquecidos, responsabilidades confusas, dependências e comportamentos que precisam ser discutidos. Também cria um vocabulário comum entre pessoas de negócio, análise, desenvolvimento e testes.

UML não transforma uma decisão ruim em uma decisão boa. O benefício vem de escolher a representação adequada para a pergunta e mantê-la atualizada enquanto ela continuar sendo útil.

Principais diagramas e quando usar cada um

Casos de usoQuem interage e quais objetivos o sistema oferece?
ClassesQuais conceitos, dados e relações existem?
SequênciaComo mensagens e responsabilidades se encadeiam?
AtividadeComo um processo flui e onde há decisões?
O mesmo sistema pode usar mais de um diagrama. Cada visão responde a uma pergunta diferente e não precisa representar todos os detalhes do produto.

Casos de uso

Respondem quem interage com o sistema e qual objetivo busca. Use-os quando a conversa está centrada em objetivos de atores e é preciso delimitar o escopo. O guia sobre diagrama de casos de uso mostra como montar um.

Classes

Representam conceitos, atributos, operações e relações. Use-os quando conceitos e relações de dados precisam ser esclarecidos, lembrando que não devem ser confundidos automaticamente com tabelas do banco. Veja um exemplo completo no artigo sobre diagrama de classes.

Sequência

Mostram as mensagens de uma interação ao longo do tempo. Use-os para investigar como componentes ou objetos colaboram e para encontrar responsabilidades, dependências e caminhos alternativos. O artigo sobre diagrama de sequência explica como ler e criar um.

Atividade

Representam fluxos de trabalho, etapas, decisões e paralelismo. São úteis quando o processo é mais importante do que a estrutura de objetos.

Um diagrama de casos de uso pode ser o primeiro passo; depois, um caso importante pode ganhar um diagrama de sequência ou atividade. O critério é a dúvida que precisa ser resolvida, não a quantidade de diagramas produzidos.

Exemplo: pré-cadastro

Para um pré-cadastro, um caso de uso pode mostrar a pessoa solicitante e a equipe revisora. Um diagrama de atividade pode representar preencher, validar, enviar e aprovar. Um diagrama de sequência pode detalhar a interação entre formulário, serviço e banco de dados.

Cada visão responde a uma pergunta diferente. Juntas, elas ajudam a encontrar regras, exceções e responsabilidades antes da implementação.

De requisitos a modelo

Considere o requisito “uma pessoa autorizada deve cancelar uma inscrição antes do início do curso”. O caso de uso pode representar a pessoa autorizada e o objetivo de cancelar. Um diagrama de atividade pode mostrar validação de prazo, confirmação e atualização de vaga. Um diagrama de sequência pode detalhar mensagens entre interface, serviço e banco de dados.

O modelo não substitui o requisito. Ele oferece outra perspectiva para descobrir perguntas e verificar se a solução imaginada respeita o comportamento esperado. Veja também o guia sobre diagramas de casos de uso.

Como usar UML sem criar burocracia

  • Comece pela pergunta que o modelo precisa responder.
  • Escolha o diagrama mais simples que esclareça o assunto.
  • Use nomes do domínio conhecidos pelas pessoas envolvidas.
  • Mostre hipóteses e pontos em aberto, em vez de fingir certeza.
  • Atualize o modelo quando ele ainda tiver valor para o projeto.

Um desenho em uma conversa pode ser suficiente. Um modelo que orienta uma decisão arquitetural merece mais cuidado e talvez seja guardado junto à documentação.

Conclusão

UML serve para melhorar o entendimento, não para produzir desenhos por obrigação. O material introdutório da OMG explica que a linguagem apoia especificação, visualização e documentação de sistemas. Na prática, escolha modelos que ajudem sua equipe a pensar e decidir.

Leia também

Voltar à Engenharia de Software