Unified Modeling Language
L'UML, Unified Modeling Language, è un linguaggio grafico usato, di solito ma non necessariamente, nell'ambito della progettazione software.
L'UML è un linguaggio che definisce una sintassi e delle regole di interpretazione; non si tratta quindi di una metodologia di progettazione e per questo motivo può essere adottato con diverse metodologie o in ambiti diversi da quello informatico.
Nell'ambito della progettazione software è utilizzato per progettare e documentare un'applicazione ( un programma ) a diversi livelli di dettaglio e per diverse prospettive.
L'UML si basa sul disegno grafico di diagrammi; questi si possono dividere in diagrammi statici e diagrammi dinamici.
I diagrammi di tipo statico danno una visione statica e strutturale del sistema che si sta descrivendo o progettando, mentre quelli dinamici cercano di coglierne gli aspetti evolutivi.
I diagrammi di tipo statico previsti dall'UML sono gli Use Case Diagram, Class Diagram, Object Diagram, Component Diagram, Deployment Diagram.
I diagrammi di tipo dinamico previsti dall'UML sono Statechart Diagram, Activity Diagram, Sequence Diagram, Collaboration Diagram.
Essendo un linguaggio e non una metodologia è buona regola utilizzano solo quei diagrammi che risultano utili alla definizione dello specifico sistema che si vuole analizzare; non è quindi obbligatorio utilizzare tutti i diagrammi previsti dall'UML per la descrizione di un sistema.