Molte persone considerano i diagrammi di classe un po’ più complicati da costruire rispetto ai diagrammi ER. Il più delle volte è dovuto all’incapacità di capire le diverse relazioni nei diagrammi di classe. Questo articolo spiega come determinare e implementare correttamente le diverse relazioni dei diagrammi di classe che sono applicabili nella modellazione orientata agli oggetti. Inoltre, puoi creare facilmente diagrammi di classe online usando il nostro strumento di diagrammi.
Cosa sono i diagrammi di classe?
I diagrammi di classe sono il principale blocco di costruzione nella modellazione orientata agli oggetti. Sono usati per mostrare i diversi oggetti in un sistema, i loro attributi, le loro operazioni e le relazioni tra loro. La figura seguente è un esempio di una classe semplice:
Nell’esempio, è raffigurata una classe chiamata “conto di prestito”. Le classi nei diagrammi di classe sono rappresentate da caselle che sono suddivise in tre:
- La partizione superiore contiene il nome della classe.
- La parte centrale contiene gli attributi della classe.
- La partizione inferiore mostra le possibili operazioni associate alla classe.
L’esempio mostra come una classe può incapsulare tutti i dati rilevanti di un particolare oggetto in modo molto sistematico e chiaro. Un diagramma di classe è un insieme di classi simile a quello sopra.
Relazioni nei diagrammi di classe
Le classi sono interconnesse tra loro in modi specifici. In particolare, le relazioni nei diagrammi di classe includono diversi tipi di connessioni logiche. I seguenti sono questi tipi di connessioni logiche che sono possibili in UML:
- Associazione
- Associazione diretta
- Associazione riflessiva
- Molteplicità
- Aggregazione
- Composizione
- Ereditarietà/Generalizzazione
- Realizzazione
Associazione
è un termine ampio che comprende praticamente qualsiasi connessione logica o relazione tra le classi. Per esempio, il passeggero e la compagnia aerea possono essere collegati come sopra:
Associazione diretta
si riferisce a una relazione direzionale rappresentata da una linea con una punta di freccia. La punta della freccia rappresenta un flusso direzionale contenuto nel contenitore.
Associazione riflessiva
Questo si verifica quando una classe può avere più funzioni o responsabilità. Per esempio, un membro del personale che lavora in un aeroporto può essere un pilota, un ingegnere dell’aviazione, un addetto ai biglietti, una guardia o un membro del personale di manutenzione. Se il membro dell’equipaggio di manutenzione è gestito dall’ingegnere aeronautico, ci potrebbe essere una relazione managed by in due istanze della stessa classe.
Molteplicità
è l’associazione logica attiva quando si sta rappresentando la cardinalità di una classe in relazione a un’altra. Per esempio, una flotta può includere più aerei, mentre un aereo commerciale può contenere da zero a molti passeggeri. La notazione 0..* nel diagramma significa “da zero a molti”.
Aggregazione
si riferisce alla formazione di una classe particolare come risultato di una classe che viene aggregata o costruita come una collezione. Per esempio, la classe “biblioteca” è composta da uno o più libri, tra gli altri materiali. Nell’aggregazione, le classi contenute non sono fortemente dipendenti dal ciclo di vita del contenitore. Nello stesso esempio, i libri rimarranno tali anche quando la biblioteca sarà sciolta. Per mostrare l’aggregazione in un diagramma, disegnate una linea dalla classe madre alla classe figlia con una forma di diamante vicino alla classe madre. Per mostrare l’aggregazione in un diagramma, disegnate una linea dalla classe madre alla classe figlia con una forma di diamante vicino alla classe madre.
Composizione
La relazione di composizione è molto simile alla relazione di aggregazione. con l’unica differenza che il suo scopo chiave è quello di sottolineare la dipendenza della classe contenuta dal ciclo di vita della classe contenitore. Cioè, la classe contenuta sarà cancellata quando la classe contenitore sarà distrutta. Per esempio, anche la tasca laterale di una borsa a tracolla cesserà di esistere una volta che la borsa a tracolla sarà distrutta. Per mostrare una relazione di composizione in un diagramma UML, usate una linea direzionale che collega le due classi, con una forma di diamante riempita adiacente alla classe contenitore e la freccia direzionale alla classe contenuta.
Ereditarietà / Generalizzazione
si riferisce a un tipo di relazione in cui una classe associata è figlia di un’altra in virtù dell’assunzione delle stesse funzionalità della classe madre. In altre parole, la classe figlio è un tipo specifico della classe genitore. Per mostrare l’ereditarietà in un diagramma UML, una linea solida dalla classe figlia alla classe madre è disegnata usando una punta di freccia non riempita.
Realizzazione
denota l’implementazione della funzionalità definita in una classe da un’altra classe. Per mostrare la relazione in UML, una linea spezzata con una punta di freccia solida non riempita è disegnata dalla classe che definisce la funzionalità della classe che implementa la funzione. Nell’esempio, le preferenze di stampa impostate tramite l’interfaccia di configurazione della stampante vengono implementate dalla stampante.
Disegnare diagrammi di classe usando Creately
Abbiamo pensato molto alle relazioni quando abbiamo costruito i nostri strumenti di diagrammi di classe. I nostri connettori si adattano al contesto e mostrano solo le relazioni più logiche quando si collegano le classi. Questo riduce significativamente le possibilità di commettere un errore. Disegnare da zero può essere macchinoso. Puoi iniziare immediatamente usando i nostri diagrammi di classe progettati in modo professionale. Sfoglia i nostri esempi di diagrammi di classe e scegli quello che è strettamente legato al tuo sistema.
Altre domande sulle relazioni dei diagrammi di classe?
Spero di aver spiegato chiaramente le varie relazioni tra i diagrammi di classe. Non sono così complessi come si pensa e possono essere padroneggiati con un po’ di pratica. E usando il nostro strumento non dovreste avere problemi a creare diagrammi di classe. Se hai altre domande non esitare a chiedere nella sezione dei commenti. Inoltre, controlla questa guida ai tipi di diagrammi UML con esempi per ulteriori letture. Riferimenti: 1. Basi di UML: Il diagramma di classe Un’introduzione ai diagrammi di struttura in UML 2 di Donald Bell 2. Diagramma di classe come pubblicato sul sito web di Wikipedia 3. Il diagramma di classe UML Parte 1 come pubblicato sul sito developer.com 4. Il diagramma di classe da Visual Case Tool – UML Tutorial come pubblicato sul sito web di Visual Case 5. Associazioni come pubblicate sul sito web di Sybase