Diagrammi delle Classi
I diagrammi delle classi sono il tipo più comune di diagramma UML, usati per modellare la struttura statica di un sistema mostrando classi, i loro attributi, operazioni e relazioni.
Creare le classi
Usare lo strumento Classe
In una pagina UML Diagramma delle Classi, premi U o scegli Classe dal menu UML della barra degli strumenti. Fai clic sulla tela per posizionare una casella classe, oppure trascina per impostarne le dimensioni. Premi Return con una classe selezionata per rinominarla.
Struttura della casella classe
Una casella classe UML è composta da tre scomparti:
- Scomparto nome - Contiene il nome della classe e uno stereotipo opzionale
- Scomparto attributi - Elenca le proprietà/campi della classe
- Scomparto operazioni - Elenca i metodi/funzioni della classe
Proprietà della classe
Seleziona una classe e usa la scheda Disponi dell'Ispettore → sezione UML per configurarne le proprietà:
Nome
Il nome della classe appare in grassetto nello scomparto superiore. La convenzione usa il PascalCase (ad es. CustomerOrder).
Stereotipo
Classificatore opzionale che appare sopra il nome della classe tra virgolette angolari:
<<interface>>- Per le definizioni di interfaccia<<abstract>>- Per le classi astratte<<enumeration>>- Per i tipi enum<<entity>>- Per le entità di dominio- Sono supportati anche stereotipi personalizzati
Astratta
Attiva per rendere il nome della classe in corsivo, indicando una classe astratta.
Ridimensionamento vincolato
Quando attivo (predefinito), il ridimensionamento mantiene le proporzioni della casella classe.
Attributi
Gli attributi rappresentano i dati/le proprietà di una classe.
Aggiungere attributi
- Seleziona la classe
- Nella sezione UML, trova Attributi — un editor multilinea con un attributo per riga
- Fai clic su + (o premi
Cmd+L) per aggiungere un nuovo attributo, poi digitane i dettagli
Sintassi degli attributi
Gli attributi seguono questo formato: visibility name : type
Modificatori di visibilità:
| Simbolo | Significato | Descrizione |
|---|---|---|
+ | Pubblico | Accessibile da qualsiasi punto |
- | Privato | Accessibile solo all'interno della classe |
# | Protetto | Accessibile all'interno della classe e delle sottoclassi |
~ | Package | Accessibile all'interno dello stesso package |
Esempi:
-id: Int- ID intero privato+name: String- Nome stringa pubblico#createdAt: Date- Campo data protetto~cache: Map<String, Any>- Cache privata a livello di package
Operazioni
Le operazioni rappresentano il comportamento/i metodi di una classe.
Aggiungere operazioni
- Seleziona la classe
- Nella sezione UML, trova Operazioni — un editor multilinea con un'operazione per riga
- Fai clic su + (o premi
Shift+Cmd+L) per aggiungere una nuova operazione, poi digitane i dettagli
Sintassi delle operazioni
Le operazioni seguono questo formato: visibility name(parameters) : returnType
Esempi:
+getName(): String- Getter pubblico che restituisce String-validate(input: String): Boolean- Metodo di validazione privato+process(data: Data, options: Options): Result- Metodo con più parametri+save(): void- Metodo senza valore di ritorno
Relazioni
Premi R per attivare lo strumento Relazione, poi trascina da una classe all'altra per creare una connessione.
Tipi di relazione
| Tipo | Stile linea | Freccia | Caso d'uso |
|---|---|---|---|
| Associazione | Linea continua | Freccia aperta | Relazione generale |
| Dipendenza | Linea tratteggiata | Freccia aperta | Relazione "usa" |
| Ereditarietà | Linea continua | Triangolo vuoto | Relazione "è-un" (estende) |
| Realizzazione | Linea tratteggiata | Triangolo vuoto | Implementazione di interfaccia |
| Aggregazione | Linea continua | Rombo vuoto | "ha-un" (proprietà debole) |
| Composizione | Linea continua | Rombo pieno | "ha-un" (proprietà forte) |
Creare le relazioni
- Premi
Rper attivare lo strumento Relazione - Fai clic sulla classe di origine
- Trascina verso la classe di destinazione
- Rilascia per creare la connessione
- Usa la sezione UML dell'Ispettore per impostare il Tipo relazione — lo stile della linea e le punte di freccia seguono il tipo
Etichette delle relazioni
Seleziona una relazione e imposta le sue etichette nella sezione UML dell'Ispettore:
- Etichetta - Descrive la relazione (ad es. "gestisce", "contiene")
- Molteplicità - I valori Origine e Destinazione che indicano quante istanze (ad es. "1", "0..", "1..")
Buone pratiche
- Mantienilo semplice - Non cercare di modellare tutto; concentrati sulle classi chiave
- Usa gli stereotipi - Contrassegna chiaramente le interfacce e le classi astratte
- Mostra le relazioni chiave - Non ogni associazione deve essere mostrata
- Denominazione coerente - Usa il PascalCase per le classi, il camelCase per i membri
- Raggruppa le classi correlate - Usa la vicinanza visiva per mostrare i raggruppamenti logici