Class Diagram
I class diagram definiscono la visione statica del sistema:
- classi
- relazioni tra le classi
- associazione (uso)
- generalizzazione (ereditarietà)
- *aggregazione (*contenimento)
Questo è forse il modello più importante, dato che definisce il dizionario dei dati, cioè quali sono le entità rappresentate nel sistema e i dati associati a ciascuna di esse.
Classe
In UML, una classe è composta da tre parti:
- nome (che da anche alcune altre informazioni)
- attributi (lo stato)
- metodi/operazioni (il comportamento)
Queste tre parti si rappresentano mediante un rettangolo diviso in altrettante sezioni
E' però possibile omettere la sezione degli attributi e/o quella dei metodi (ma non il nome della classe). Quindi, anche le seguenti sono rappresentazioni valide della stessa classe:
Un esempio di rappresentazione ancora più completa, invece, è:
- Il numero 45 nell'angolo indica la molteplicità della classe, cioè quante sue istanze esistono nel sistema. In questo caso è data una quantità esatta, ma si possono anche specificare vincoli più flessibili, definendo un insieme/range di numeri di istanze consentiti (ad esempio 0...5)
- Il nome scritto in corsivo indica che la classe è astratta
- La sottolineatura indica che l'attributo "nome" è statico