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:

  1. Scomparto nome - Contiene il nome della classe e uno stereotipo opzionale
  2. Scomparto attributi - Elenca le proprietà/campi della classe
  3. 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

  1. Seleziona la classe
  2. Nella sezione UML, trova Attributi — un editor multilinea con un attributo per riga
  3. 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à:

SimboloSignificatoDescrizione
+PubblicoAccessibile da qualsiasi punto
-PrivatoAccessibile solo all'interno della classe
#ProtettoAccessibile all'interno della classe e delle sottoclassi
~PackageAccessibile 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

  1. Seleziona la classe
  2. Nella sezione UML, trova Operazioni — un editor multilinea con un'operazione per riga
  3. 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

TipoStile lineaFrecciaCaso d'uso
AssociazioneLinea continuaFreccia apertaRelazione generale
DipendenzaLinea tratteggiataFreccia apertaRelazione "usa"
EreditarietàLinea continuaTriangolo vuotoRelazione "è-un" (estende)
RealizzazioneLinea tratteggiataTriangolo vuotoImplementazione di interfaccia
AggregazioneLinea continuaRombo vuoto"ha-un" (proprietà debole)
ComposizioneLinea continuaRombo pieno"ha-un" (proprietà forte)

Creare le relazioni

  1. Premi R per attivare lo strumento Relazione
  2. Fai clic sulla classe di origine
  3. Trascina verso la classe di destinazione
  4. Rilascia per creare la connessione
  5. 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

  1. Mantienilo semplice - Non cercare di modellare tutto; concentrati sulle classi chiave
  2. Usa gli stereotipi - Contrassegna chiaramente le interfacce e le classi astratte
  3. Mostra le relazioni chiave - Non ogni associazione deve essere mostrata
  4. Denominazione coerente - Usa il PascalCase per le classi, il camelCase per i membri
  5. Raggruppa le classi correlate - Usa la vicinanza visiva per mostrare i raggruppamenti logici