Comprendere il formato PlantUML
PlantUML ti permette di scrivere diagrammi come testo semplice. Scopri cos'è, come GanttTool lo utilizza internamente per generare diagrammi di Gantt e quali altri tipi di diagrammi supporta.
Cos'è PlantUML?
PlantUML è uno strumento open-source che ti permette di creare diagrammi a partire da descrizioni in testo semplice. Invece di trascinare riquadri su una tela, scrivi alcune righe di sintassi semplice e PlantUML genera un diagramma professionale per te. Questo approccio è spesso chiamato "diagrammi come codice" o "testo a diagramma".
Un diagramma PlantUML minimo ha questo aspetto: apri con un tag @start<tipo>, descrivi la struttura in alcune righe leggibili e chiudi con @end<tipo>. Lo strumento analizza questo testo e produce un SVG, PNG o PDF — ovunque tu lo generi.
Perché scrivere diagrammi come testo?
- Controllo versione — Il testo semplice produce diff puliti in Git. Puoi tracciare ogni modifica a un diagramma, revisionarla in una pull request e tornare indietro se qualcosa si rompe.
- Velocità — Digitare
[Attività A] lasts 5 daysè più veloce che disegnare una barra su una tela e ridimensionarla. - Coerenza — Il motore di rendering applica automaticamente spaziatura, caratteri e colori uniformi. Ti concentri sul contenuto, non sul layout.
- Portabilità — Un file di testo
.pumlè minuscolo, leggibile e produce lo stesso risultato ovunque. - Automazione — I diagrammi possono essere generati programmaticamente dai dati, integrati nelle pipeline CI e mantenuti sincronizzati con il codice.
Suggerimento: PlantUML è ampiamente utilizzato nella documentazione dell'ingegneria del software (diagrammi di architettura, flussi API), ma il suo supporto per i diagrammi di Gantt lo rende altrettanto potente per project manager e team leader che desiderano pianificazioni riproducibili e versionate.
Come GanttTool utilizza PlantUML
GanttTool ti offre un editor GUI visivo — aggiungi attività, imposti durate, definisci dipendenze, scegli colori — ma dietro le quinte tutto ciò che costruisci viene compilato in codice PlantUML. Quel codice viene quindi inviato a un server di rendering che lo converte in un diagramma SVG visualizzato nel tuo browser.
La pipeline di rendering
La rotta API in /api/kroki funge da proxy tra il tuo browser e i server di rendering. Funziona in due fasi:
- Primario: server PlantUML.com — Il codice PlantUML viene compresso con Deflate (livello 9) e codificato usando la variante base-64 personalizzata di PlantUML. La stringa risultante viene aggiunta a
https://www.plantuml.com/plantuml/svg/~1{encoded}come richiesta GET. Un timeout di 3 secondi protegge da risposte lente. - Fallback: server Kroki.io — Se PlantUML.com fallisce o va in timeout, il testo PlantUML grezzo viene inviato tramite POST come
text/plainahttps://kroki.io/plantuml/svgcon un timeout di 5 secondi. Kroki è un gateway di rendering open-source che supporta molti formati di diagrammi.
Qualunque server risponda per primo con un SVG valido, quell'immagine viene restituita al browser con un header Content-Type: image/svg+xml e visualizzata in linea. Non devi mai preoccuparti della codifica o del fallback — funziona e basta.
Dietro le quinte: La vista "Codice PlantUML" nella barra laterale di GanttTool ti mostra il testo esatto che viene inviato al server. Puoi copiarlo, incollarlo in PlantText o nel server online PlantUML e ottenere lo stesso diagramma.
Sintassi dei diagrammi di Gantt in PlantUML
Ogni diagramma di Gantt PlantUML è racchiuso tra i tag @startgantt / @endgantt. All'interno, descrivi il tuo progetto in uno stile naturale e leggibile.
Struttura base delle attività
@startgantt ' Titolo del progetto e scala title Progetto di restyling del sito web Project starts 2026-07-01 printscale weekly ' Separatore di fase -- Scoperta -- ' Attività regolari: [Nome] lasts N days [Raccolta requisiti] lasts 5 days [Analisi concorrenza] lasts 3 days -- Design -- [Wireframe] lasts 7 days [Design visivo] lasts 10 days [Design visivo] starts at [Wireframe]'s end -- Sviluppo -- [Sviluppo frontend] lasts 14 days [Sviluppo frontend] starts at [Design visivo]'s end [Integrazione backend] lasts 10 days [Integrazione backend] starts at [Sviluppo frontend]'s end @endgantt
Milestone
Le milestone hanno durata zero e appaiono come un marcatore a diamante sulla timeline. Definiscile con happens at anziché lasts.
@startgantt Project starts 2026-07-01 [Sviluppo] lasts 14 days and is colored in CornflowerBlue [Test QA] lasts 5 days and is colored in LightGreen [Test QA] starts at [Sviluppo]'s end ' Milestone — accade alla fine di un'attività specifica [Release v1.0] happens at [Test QA]'s end ' Percentuale di completamento [Sviluppo] is 70% completed @endgantt
Separatori di fase e impostazioni di progetto
Racchiudi i nomi delle sezioni tra doppi trattini (-- Nome fase --) per inserire una riga separatrice. Combina con le impostazioni globali di progetto per un controllo completo.
@startgantt title Lancio prodotto Q3 Project starts 2026-07-01 printscale weekly zoom 2 saturday are closed sunday are closed today is colored in Lavender -- Pianificazione -- [Riunione di avvio] lasts 1 day [Definizione ambito] lasts 3 days [Definizione ambito] starts at [Riunione di avvio]'s end -- Realizzazione -- [Sprint ingegneria 1] lasts 10 days [Sprint ingegneria 1] starts at [Definizione ambito]'s end [Sprint ingegneria 2] lasts 10 days [Sprint ingegneria 2] starts at [Sprint ingegneria 1]'s end -- Lancio -- [Test di fumo] lasts 2 days [Test di fumo] starts at [Sprint ingegneria 2]'s end [Go live] happens at [Test di fumo]'s end @endgantt
Sintassi Gantt chiave a colpo d'occhio
| Sintassi | Cosa fa |
|---|---|
| [Task] lasts N days | Crea un'attività con una durata in giorni |
| [Task] lasts N weeks | Durata in settimane |
| [B] starts at [A]'s end | Dipendenza fine-inizio |
| [M] happens at [A]'s end | Milestone alla fine dell'attività |
| -- Nome fase -- | Inserisce una riga separatrice di fase |
| [T] is 50% completed | Mostra il progresso di completamento |
| printscale weekly zoom 2 | Scala settimanale, zoom 2x |
| saturday are closed | Salta i sabati nella durata |
| [T] is colored in Red | Colore personalizzato della barra attività |
PlantUML oltre i diagrammi di Gantt
Gantt è solo uno degli oltre una dozzina di tipi di diagrammi supportati da PlantUML. La stessa filosofia di testo semplice — tag di apertura, descrizione, tag di chiusura — si applica a tutti. Ecco una panoramica dei tipi più utilizzati.
Diagrammi di sequenza
I diagrammi di sequenza mostrano come oggetti o componenti interagiscono nel tempo — perfetti per flussi API, sequenze di autenticazione e comunicazione tra microservizi.
@startuml title Flusso di login utente Browser -> API: POST /login {email, password} API -> Database: SELECT user WHERE email=? Database --> API: record utente alt credenziali valide API --> Browser: 200 OK + token JWT else non valide API --> Browser: 401 Non autorizzato end @enduml
Diagrammi di classe
I diagrammi di classe modellano la struttura orientata agli oggetti: classi, attributi, metodi e relazioni. Essenziali per la documentazione dell'architettura software.
@startuml class Progetto { +id: String +nome: String +dataInizio: Date +getAttività(): Attività[] } class Attività { +id: String +nome: String +durata: Number +completa(): void } class Milestone { +nome: String +data: Date } Progetto "1" o-- "molti" Attività Progetto "1" o-- "molti" Milestone Attività <|-- Milestone @enduml
Altri tipi di diagrammi PlantUML
Diagrammi dei casi d'uso
Mostrano quali attori interagiscono con quali funzioni del sistema. Utili per la raccolta dei requisiti e le presentazioni agli stakeholder. Sintassi: @startuml con actor, usecase e frecce -->.
Diagrammi di attività
Modellano flussi di lavoro, processi aziendali e flussi decisionali con nodi di inizio/fine, biforcazioni, unioni e rami condizionali. Pensali come diagrammi di flusso con semantica formale.
Diagrammi di stato
Rappresentano il ciclo di vita di un oggetto attraverso stati e transizioni. Perfetti per modellare lo stato degli ordini, gli stati delle sessioni utente o le modalità dei dispositivi.
Diagrammi dei componenti
Mostrano come sono assemblati componenti di sistema, librerie e interfacce. Ottimi per documentare architetture a microservizi e topologie di deployment.
Mappe mentali
Brainstorming e organizzazione di idee in un formato ad albero radiale. Utilizza marcatori * indentati per definire la gerarchia. Perfetto per scomposizioni di funzionalità e mappe della conoscenza.
Entità-Relazione (ER)
Modellano schemi di database con entità, attributi e relazioni. Supportati tramite @startuml / parola chiave entity o tramite estensioni ER dedicate.
Ecco un rapido esempio di una mappa mentale PlantUML per illustrare come i diagrammi non-Gantt seguano la stessa filosofia testuale:
@startmindmap * Pianificazione progetto ** Ambito *** Requisiti *** Deliverable ** Pianificazione *** Diagramma di Gantt *** Milestone ** Team *** Ruoli *** Risorse ** Rischi *** Piano di mitigazione @endmindmap
Prova PlantUML online
Non devi installare nulla per iniziare a sperimentare con PlantUML. L'ecosistema dispone di eccellenti renderer online gratuiti:
PlantUML.com
Il sito ufficiale di PlantUML con documentazione completa, riferimento alla sintassi e un server di rendering online.
plantuml.com ↗PlantText
Un editor online pulito con anteprima in tempo reale. Incolla o digita il tuo codice PlantUML e vedi il diagramma istantaneamente nel tuo browser.
planttext.com ↗Kroki.io
Un gateway di rendering open-source che supporta PlantUML oltre a più di 20 altri formati di diagrammi (Mermaid, Graphviz, D2 e altri) tramite un'API unificata.
kroki.io ↗Flusso di lavoro consigliato: Costruisci il tuo diagramma di Gantt visivamente in GanttTool, clicca su "Codice PlantUML" nella barra laterale per vedere il testo generato, quindi incollalo in PlantText o PlantUML.com se vuoi iterare sulla sintassi grezza. Ottieni il meglio di entrambi i mondi: un editor visivo e pieno accesso al formato diagrammi-come-codice sottostante.
Inizia a creare diagrammi di Gantt
GanttTool ti dà la potenza di PlantUML senza dover scrivere una sola riga di codice. Usa l'editor visivo per costruire la pianificazione del tuo progetto e lascia che l'app gestisca automaticamente la sintassi PlantUML e il rendering del diagramma.
- Aggiungi attività, milestone e separatori di fase con un clic.
- Imposta durate, dipendenze, colori e percentuali di completamento visivamente.
- Ispeziona il codice PlantUML generato in qualsiasi momento — copialo e riutilizzalo ovunque.
- Esporta come SVG o copia negli appunti come PNG per presentazioni e documenti.
- Descrivi il tuo progetto in italiano semplice e lascia che l'assistente AI generi una bozza Gantt completa.
Prova GanttTool — gratuito, nessun account richiesto
Crea un diagramma di Gantt PlantUML professionale in pochi minuti. L'app genera il codice PlantUML per te — esporta, condividi o incollalo ovunque.
Apri GanttTool — è gratuitoArticoli correlati
Cos'è un diagramma di Gantt?
Storia, anatomia e come i diagrammi di Gantt si inseriscono nella pianificazione di progetto a cascata.
Come creare un diagramma di Gantt online
Tutorial passo-passo per costruire un diagramma di Gantt da zero con GanttTool.
Assistente AI per diagrammi di Gantt
Come l'AI di GanttTool comprende le istruzioni in linguaggio naturale e genera automaticamente le attività.