Visão Geral do Modelo C4 - Archyl Docs

Aprenda sobre o modelo C4 e como o Archyl o implementa para documentação de arquitetura

Visão Geral do Modelo C4

O modelo C4 é uma técnica de notação gráfica enxuta para modelar a arquitetura de sistemas de software. Criado por Simon Brown, ele oferece uma forma de comunicar a arquitetura de software em diferentes níveis de abstração.

Por que C4?

Diagramas de arquitetura tradicionais frequentemente sofrem de:

  • Notação inconsistente: Diferentes equipes usam diferentes símbolos
  • Nível de detalhe inadequado: Ou muito abstrato ou muito detalhado
  • Documentação desatualizada: Diagramas não refletem a realidade

O modelo C4 resolve essas questões oferecendo:

  • Níveis de abstração padronizados: Quatro níveis claros, do alto ao baixo nível
  • Notação simples: Fácil de entender para públicos técnicos e não técnicos
  • Navegação hierárquica: Aproxime para mais detalhes, afaste para contexto

Os Quatro Níveis

Nível 1: Contexto do Sistema

O diagrama de Contexto do Sistema mostra seu sistema como uma caixa no centro, cercado por seus usuários e os outros sistemas com os quais ele interage.

Objetivo: Mostrar o panorama geral — como seu sistema se encaixa no mundo

Público: Todos (técnicos e não técnicos)

Contém:

  • Seu sistema de software (central)
  • Usuários/personas que usam o sistema
  • Sistemas externos dos quais seu sistema depende

Nível 2: Container

O diagrama de Container amplia seu sistema para mostrar os blocos de construção técnicos de alto nível.

Objetivo: Mostrar as principais escolhas tecnológicas e como as responsabilidades são distribuídas

Público: Pessoas técnicas dentro e fora da equipe de desenvolvimento

Contém:

  • Containers (aplicações, armazenamentos de dados, etc.)
  • Relacionamentos entre containers
  • Conexões com sistemas externos

Nível 3: Componente

O diagrama de Componente amplia um container para mostrar seus componentes internos.

Objetivo: Mostrar como um container é composto por componentes e suas responsabilidades

Público: Arquitetos de software e desenvolvedores

Contém:

  • Componentes dentro de um container
  • Relacionamentos entre componentes
  • Escolhas de tecnologia/implementação

Nível 4: Código

O diagrama de Código (opcional) mostra como um componente é implementado.

Objetivo: Mostrar detalhes no nível de código para componentes complexos ou críticos

Público: Desenvolvedores

Contém:

  • Classes, interfaces, funções
  • Relacionamentos de herança e implementação
  • Padrões de design

C4 no Archyl

O Archyl implementa o modelo C4 com estas funcionalidades:

Navegação

  • Duplo clique em qualquer elemento para ampliar para o próximo nível
  • Use breadcrumbs para navegar de volta
  • Atalhos de teclado para navegação rápida (← → ↑ ↓)

Tipos de Elementos

Cada nível tem seus próprios tipos de elementos:

Nível Tipos de Elementos
Contexto do Sistema Sistema, Sistema Externo, Pessoa
Container Container, Container Externo
Componente Componente
Código Classe, Interface, Função

Relacionamentos

Relacionamentos podem ser criados entre elementos em qualquer nível:

  • Arraste de um elemento para outro
  • Adicione rótulos descrevendo a interação
  • Especifique a tecnologia utilizada

Estilização

Personalize a aparência dos seus diagramas:

  • Cores para diferentes tipos de elementos
  • Ícones personalizados
  • Agrupamento com overlays

Boas Práticas

Comece pelo Topo

Sempre comece com o diagrama de Contexto do Sistema. Ele força você a pensar sobre:

  • Quem usa seu sistema?
  • De quais sistemas externos você depende?
  • Qual é o escopo do seu sistema?

Mantenha a Simplicidade

Cada diagrama deve caber em uma única página/tela. Se não couber:

  • Divida em múltiplos diagramas
  • Reduza o nível de detalhe
  • Use o próximo nível abaixo para mais detalhes

Use Nomenclatura Consistente

  • Use nomes claros e descritivos
  • Siga as convenções de nomenclatura da sua equipe
  • Evite abreviações que não sejam universalmente compreendidas

Documente os Relacionamentos

Relacionamentos são tão importantes quanto os elementos:

  • Sempre adicione rótulos descrevendo a interação
  • Inclua a tecnologia/protocolo quando relevante
  • Mostre a direção da comunicação

Próximos Passos