🗺️Introduzione a UML
Origini, utilizzo, tipi di diagrammi
L'Unified Modeling Language (UML) è un linguaggio di modellazione visuale standardizzato, utilizzato per specificare, visualizzare, costruire e documentare gli artefatti di un sistema, solitamente di tipo software.
Non si tratta di un linguaggio di programmazione, ma di una "lingua franca" della progettazione informatica che opera indipendentemente dalla tecnologia o dal processo di sviluppo adottato.
L'UML è nato nei primi anni '90 per rispondere alla proliferazione di diversi linguaggi e approcci alla modellazione orientata agli oggetti (Object-Oriented), che ostacolavano la diffusione dei metodi stessi.
I "Three Amigos": Nel 1994, Grady Booch e James Rumbaugh della Rational Software unificarono i propri metodi (Booch e OMT).
Nel 1995 si unì a loro Ivar Jacobson (metodo OOSE).
Standardizzazione: La specifica UML 1.0 fu presentata nel 1997 all'OMG (Object Management Group), un consorzio che tuttora ne cura lo standard.
Evoluzione: Dalla versione 2.0 (2005) il linguaggio è stato notevolmente ampliato; lo standard attuale ha raggiunto versioni come la 2.5.
L'UML è stato creato per fornire un metodo standard per rappresentare il design di un sistema, rendendo le idee complesse più chiare e strutturate.
I suoi obiettivi principali sono:
Migliorare la comunicazione: Permette a sviluppatori, designer e stakeholder di allinearsi rapidamente senza lunghe spiegazioni testuali.
Semplificare la progettazione: Aiuta a identificare lacune, inefficienze e colli di bottiglia prima dell'inizio dello sviluppo.
Documentazione: Fornisce una rappresentazione visiva che facilita il riferimento futuro ai componenti e ai flussi di lavoro.
Sebbene sia nato per l'ingegneria del software, l'UML è oggi applicato in molteplici settori:
Sviluppo Software: Per strutturare applicazioni e definire relazioni tra classi.
Processi Aziendali: Per mappare flussi di lavoro, alberi decisionali e migliorare l'efficienza operativa.
Pianificazione di Progetti: Per delineare dipendenze e flussi di task.
Settori specifici: Viene usato in ambito sanitario (gestione dati pazienti), finanziario (sistemi di transazione sicuri) e nella produzione.
In UML 2.0 sono definiti 13 tipi di diagrammi, suddivisi in due grandi categorie principali:
Rappresentano l'architettura del sistema e come i componenti sono connessi tra loro.
Diagramma delle Classi: Definisce la struttura tramite classi, attributi e relazioni.
Diagramma degli Oggetti: Mostra istanze specifiche in un dato momento.
Diagramma dei Componenti: Illustra l'organizzazione dei componenti software.
Diagramma di Distribuzione (Deployment): Mostra la configurazione dell'hardware e del software.
Diagramma dei Pacchetti e della Struttura Composta.
Modellano le interazioni e come il sistema si comporta nel tempo.
Diagramma dei Casi d'Uso: Definisce le interazioni tra utenti (attori) e sistema.
Diagramma di Sequenza: Traccia le interazioni passo dopo passo tra oggetti nel tempo.
Diagramma di Attività: Rappresenta processi e flussi decisionali (simile a un diagramma di flusso).
Diagramma di Stato: Descrive i cambiamenti di stato di un'entità in risposta a eventi.
Diagramma di Comunicazione, Temporale e di Panoramica delle Interazioni.