Resumo em uma tabela
| Critério | UML | C4 |
|---|---|---|
| Ano | 1997 | 2018 |
| Tipos de diagrama | 14 (Class, Sequence, Component, etc.) | 4 níveis + 2 suplementares |
| Curva de aprendizado | Alta — notação rica com dezenas de símbolos | Baixa — 5 formas geométricas resolvem |
| Público-alvo | Arquitetos formais, academia | Todo o time técnico + stakeholders |
| Escopo | Modela sistema inteiro em detalhes | Modela em zoom progressivo |
| Ferramentas dominantes | Enterprise Architect, PlantUML | Structurizr, Mermaid, ferramentas de diagrama como código |
| Adoção atual (2026) | Legado corporativo, disciplinas acadêmicas | Padrão de facto em times ágeis |
Por que UML perdeu tração
UML nasceu para ser o "esperanto do software": uma notação universal capaz de modelar qualquer sistema. O resultado foi excesso. Com 14 tipos de diagrama e centenas de variações de setas, estereótipos e multiplicidades, a maioria dos times acaba usando errado — ou usando só 2 tipos (Class e Sequence) e chamando isso de "UML".
Pior: UML foi desenhada para engenharia direta (desenhar tudo antes de codar). Em um mundo ágil, isso virou dead documentation. Diagramas UML detalhados envelhecem em semanas e ninguém os atualiza.
Por que C4 venceu
C4 Model partiu de uma premissa oposta: documentação existe pra comunicar, não pra especificar. Simon Brown propôs 4 níveis (Contexto, Contêineres, Componentes, Código) e uma notação minimalista — retângulo, seta, rótulo. Qualquer pessoa entende em 5 minutos.
Três coisas seladas a favor do C4:
- Zoom em vez de tipos. Você não escolhe entre "diagrama de classes" ou "diagrama de sequência" — escolhe o nível de detalhe.
- Notação ferramenta-agnóstica. Funciona em quadro branco, no PlantUML, no Mermaid ou em qualquer editor visual.
- Diagrama como código nativo. Structurizr DSL, Mermaid e afins tornaram C4 versionável — o oposto do UML feito em Visio.
Quando UML ainda faz sentido
Não é fair matar UML por completo. Há nichos onde ela ainda é a melhor ferramenta:
- Diagrama de sequência para fluxos assíncronos complexos (autenticação OAuth, sagas distribuídas). C4 não cobre isso — o próprio Simon Brown recomenda complementar com sequence diagrams UML.
- State machines — modelagem de estados de uma entidade (pedido, assinatura). O State Diagram UML é insubstituível.
- Compliance e certificações — setores regulados (banking, avionics) ainda exigem UML formal para auditoria.
Recomendação prática
Para 90% dos times de produto em 2026, C4 é o padrão. Documente arquitetura em 3 níveis (Contexto, Contêineres, Componentes) versionados como código, complementados por ADRs para justificar as decisões. Use UML de sequência ou de estado só onde o C4 não alcança — e mesmo assim, versione o texto (não a imagem exportada).
Ferramentas que suportam os dois
- PlantUML — sintaxe textual que gera UML e C4 (via extensão C4-PlantUML).
- Structurizr — nativo C4, criado por Simon Brown.
- Mermaid — cobre sequence, state, class UML e C4 (via
C4Context). - Excahub — editor de diagrama como código com suporte a C4, Mermaid e componentes de infra visuais.
