L’UML (Unified Modeling Language) è lo standard industriale per la modellazione visuale di sistemi software complessi, specialmente quelli orientati agli oggetti (OOP). Non è un linguaggio di programmazione, ma un linguaggio grafico per descrivere l’architettura e il comportamento di un sistema.
L’UML mette a disposizione diversi tipi di diagrammi, divisi in due categorie:
- Diagrammi Strutturali: descrivono l’organizzazione statica del sistema (es. Class Diagram per le classi e le loro relazioni, Component Diagram).
- Diagrammi di Comportamento: descrivono come il sistema evolve nel tempo o interagisce con gli utenti (es. Use Case Diagram per i requisiti, Sequence Diagram per lo scambio di messaggi, State Chart per le macchine a stati).
Per un ingegnere del software, l’UML è uno strumento di comunicazione fondamentale per progettare il sistema prima di scrivere il codice e per documentare l’architettura in modo che sia comprensibile a tutto il team di sviluppo.