UML (Unified Modeling Language): progetti costruttivi per il software

Perché UML?

Quando un processo viene discusso ripetutamente nelle riunioni di progetto e c'è bisogno di chiarimenti, quando uno sviluppatore software conosce la risposta a una domanda solo dopo aver cercato a lungo nel codice sorgente, quando la complessità continua ad aumentare e lentamente si perde la visione d'insieme, quando i colleghi si limitano ad alzare le spalle perché il collaboratore che ha il know-how è in ferie, allora l'ultima salvezza è UML - Unified Modeling Language.

Che cos'è UML?

UML è per lo sviluppatore software ciò che i progetti costruttivi sono per chi costruisce una casa.

Oggi difficilmente qualcuno penserebbe di costruire una casa senza prima redigere dei progetti. Nello sviluppo software, purtroppo, in alcune aziende la situazione è ancora questa. E del tutto indipendentemente dalle dimensioni dell'azienda.

Con l'aiuto di diagrammi vengono rappresentati graficamente la «casa» statica del software e i processi dinamici.

Chi l'ha inventato?

Negli anni '80 si affermarono i metodi di Booch, Jacobson e Rumbaugh, cioè nel periodo in cui la programmazione orientata agli oggetti si stava diffondendo sempre di più. Naturalmente esistevano già prima molti tipi di diagramma, come ad esempio il diagramma di flusso, le reti di Petri, SADT e molti altri, che avevano la loro ragion d'essere e che hanno influenzato anche UML.

La svolta arrivò quando Rumbaugh e Jacobson unirono le forze e in seguito anche Booch si aggiunse al gruppo. I tre amigos ci rifletterono a fondo, riunirono ciò che si era dimostrato valido e scartarono il superfluo. Ne nacque, negli anni '90, l'Unified Modeling Language, in breve UML.

Quali diagrammi esistono?

Diagramma dei casi d'uso, diagramma dei package, diagramma delle classi, diagramma di stato, diagramma di sintesi dell'interazione e diagramma di sequenza sono i più noti, ma non sono affatto tutti. UML conta ormai più di una dozzina di diagrammi diversi.

A chi è utile?

Utilizzati inizialmente dagli architetti software, i diagrammi UML non sono più limitati allo sviluppo software. Vengono impiegati in molti ambiti in cui si tratta di concetti, analisi e relazioni.

Che cosa significa UML?

Per esteso UML significa Unified Modeling Language, cioè linguaggio di modellazione unificato. Ma perché linguaggio e non grafica?

Come una lingua, UML definisce termini, identificatori e le loro relazioni reciproche, nonché la formulazione. Sembra un po' astratto, ma chi si addentra più a fondo nella materia si confronta soprattutto con la struttura di un linguaggio.

Quando viene utilizzato?

Come descritto all'inizio dell'articolo, UML non dovrebbe essere utilizzato solo durante lo sviluppo software, ma già nella fase di progettazione. Secondo il motto: prima riflettere, poi realizzare.

UML aiuta a fissare le idee, a rappresentare processi e relazioni e a lavorare verso soluzioni semplici. 

Qual è la giusta misura?

Si tratta di una piccola app per smartphone, di applicazioni più complesse con algoritmi matematici o addirittura di un sistema software per la medicina o l'aeronautica? A seconda dell'impiego, con UML si realizza di più o di meno. 

La giusta misura deriva da questi esempi in combinazione con le domande che emergono durante la progettazione e la realizzazione. Come spesso accade, dipende dalla valutazione e dall'esperienza.

Con i diagrammi UML si creano viste che rispondono a determinate domande e fissano concetti di dettaglio. Per i primi due esempi si sconsigliano quindi troppi diagrammi. Bisogna infatti considerare che anche questi devono essere mantenuti aggiornati. E così come una documentazione per sviluppatori errata sarebbe d'ostacolo e fonte di confusione, lo stesso vale per diagrammi UML obsoleti.

Ma coraggio: all'inizio forse si esagera. È solo con la pratica che si diventa maestri.

Se ha bisogno di supporto con UML, saremo lieti di consigliarLa. Offriamo inoltre corsi di formazione su UML. Ci contatti.

CONTACT