Unified Modelling Language
UML è il linguaggio visuale standard (o meglio un insieme di linguaggi) per definire, progettare, realizzare, documentare e testare i sistemi software, secondo un approccio object-oriented. Esso:
- riunisce molte proposte preesistenti
- è sponsorizzato dalle maggiori industrie produttrici di software
- è standardizzato e gestito dall'Object Management Group (OMG)
- copre l'intero processo di produzione del software, permettendo di descrivere/modellare tutti (o quasi) gli aspetti rilevanti di un sistema
- può essere usato anche per analizzare sistemi già esistenti
- è basato su una notazione grafica, costituita da vari tipi di diagrammi
- è un linguaggio semi-formale (in particolare, alcuni diagrammi sono più formali, mentre altri meno)
- ha uno stile misto, parzialmente descrittivo e parzialmente operazionale (i diagrammi statici sono più descrittivi, mentre quelli dinamici sono più operazionali)
- è indipendente da qualsiasi linguaggio di programmazione
- riunisce aspetti dell'ingegneria del software, delle basi di dati e della progettazione dei sistemi
- è utilizzabile in domini applicativi diversi e per progetti di diverse dimensioni
- è estendibile, per modellare meglio le diverse realtà
Viste e diagrammi UML
UML definisce numerosi diagrammi, organizzati in "4+1" viste:
- vista dei casi d'uso (che si distingue dalle altre per il suo ruolo centrale, in quanto definisce i principali requisiti)
- vista strutturale
- class diagram
- object diagram
- composite structure diagram
- package diagram
- vista comportamentale
- sequence diagram
- communication diagram
- state diagram
- activity diagram
- interaction overview diagram
- timing diagram
- vista implementativa
- component diagram
- composite structure diagram