Panoramica del Modello C4 - Archyl Docs

Scopri il modello C4 e come Archyl lo implementa per la documentazione architetturale

Panoramica del Modello C4

Il modello C4 è una tecnica di notazione grafica snella per modellare l'architettura dei sistemi software. Creato da Simon Brown, fornisce un modo per comunicare l'architettura software a diversi livelli di astrazione.

Perché C4?

I diagrammi architetturali tradizionali spesso soffrono di:

  • Notazione inconsistente: Team diversi usano simboli diversi
  • Livello di dettaglio sbagliato: Troppo astratti o troppo dettagliati
  • Documentazione obsoleta: I diagrammi non riflettono la realtà

Il modello C4 affronta questi problemi fornendo:

  • Livelli di astrazione standardizzati: Quattro livelli chiari dall'alto al basso
  • Notazione semplice: Facile da comprendere per pubblici tecnici e non tecnici
  • Navigazione gerarchica: Ingrandisci per più dettagli, rimpicciolisci per il contesto

I Quattro Livelli

Livello 1: Contesto di Sistema

Il diagramma di Contesto di Sistema mostra il tuo sistema come un riquadro al centro, circondato dai suoi utenti e dagli altri sistemi con cui interagisce.

Scopo: Mostrare il quadro generale - come il tuo sistema si inserisce nel mondo

Pubblico: Tutti (tecnici e non tecnici)

Contiene:

  • Il tuo sistema software (centrale)
  • Utenti/personas che usano il sistema
  • Sistemi esterni da cui il tuo sistema dipende

Livello 2: Container

Il diagramma Container ingrandisce il tuo sistema per mostrare i blocchi tecnici di alto livello.

Scopo: Mostrare le principali scelte tecnologiche e come sono distribuite le responsabilità

Pubblico: Persone tecniche dentro e fuori dal team di sviluppo

Contiene:

  • Container (applicazioni, data store, ecc.)
  • Relazioni tra container
  • Connessioni a sistemi esterni

Livello 3: Componente

Il diagramma Componente ingrandisce un container per mostrare i suoi componenti interni.

Scopo: Mostrare come un container è composto da componenti e le loro responsabilità

Pubblico: Architetti software e sviluppatori

Contiene:

  • Componenti all'interno di un container
  • Relazioni tra componenti
  • Scelte tecnologiche/implementative

Livello 4: Codice

Il diagramma Codice (opzionale) mostra come un componente è implementato.

Scopo: Mostrare dettagli a livello di codice per componenti complessi o critici

Pubblico: Sviluppatori

Contiene:

  • Classi, interfacce, funzioni
  • Relazioni di ereditarietà e implementazione
  • Design pattern

C4 in Archyl

Archyl implementa il modello C4 con queste funzionalità:

Navigazione

  • Doppio click su qualsiasi elemento per ingrandire al livello successivo
  • Usa le breadcrumb per navigare verso l'alto
  • Scorciatoie da tastiera per navigazione rapida (← → ↑ ↓)

Tipi di Elemento

Ogni livello ha i suoi tipi di elemento:

Livello Tipi di Elemento
Contesto di Sistema Sistema, Sistema Esterno, Persona
Container Container, Container Esterno
Componente Componente
Codice Classe, Interfaccia, Funzione

Relazioni

Le relazioni possono essere create tra elementi a qualsiasi livello:

  • Trascina da un elemento all'altro
  • Aggiungi etichette che descrivono l'interazione
  • Specifica la tecnologia utilizzata

Stile

Personalizza l'aspetto dei tuoi diagrammi:

  • Colori per diversi tipi di elemento
  • Icone personalizzate
  • Raggruppamento con overlay

Best Practice

Parti dall'Alto

Inizia sempre con il diagramma di Contesto di Sistema. Ti costringe a pensare a:

  • Chi usa il tuo sistema?
  • Da quali sistemi esterni dipendi?
  • Qual è l'ambito del tuo sistema?

Mantienilo Semplice

Ogni diagramma dovrebbe stare in una singola pagina/schermo. Se non ci sta:

  • Dividi in più diagrammi
  • Riduci il livello di dettaglio
  • Usa il livello successivo per più dettagli

Usa Nomi Consistenti

  • Usa nomi chiari e descrittivi
  • Segui le convenzioni di denominazione del tuo team
  • Evita abbreviazioni non universalmente comprese

Documenta le Relazioni

Le relazioni sono importanti quanto gli elementi:

  • Aggiungi sempre etichette che descrivono l'interazione
  • Includi la tecnologia/protocollo quando rilevante
  • Mostra la direzione della comunicazione

Prossimi Passi