Relazioni del diagramma di classe UML spiegate con esempi

Pubblicato: 2012-03-01

I diagrammi di classe sono i principali elementi costitutivi della modellazione orientata agli oggetti, quindi è importante comprendere le varie relazioni dei diagrammi di classe e il modo in cui influiscono sulla soluzione. Li abbiamo elencati di seguito con esempi.

Semplifica notevolmente la creazione di diagrammi di classe mostrando la relazione logica basata sul contesto.

Crea un diagramma di classe >>

Relazioni del diagramma 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. Di seguito sono riportati i tipi di connessioni logiche possibili in UML:

  • Associazione
  • Associazione Diretta
  • Associazione riflessiva
  • Molteplicità
  • Aggregazione
  • Composizione
  • Ereditarietà/generalizzazione
  • Realizzazione
Relazioni del diagramma di classe (UML)
Relazioni nei diagrammi di classe UML

Associazione

Associazione - Una delle relazioni più comuni nei diagrammi di classe
Associazione

è un termine ampio che comprende praticamente qualsiasi connessione logica o relazione tra classi. Ad esempio, passeggero e compagnia aerea possono essere collegati come sopra.

Associazione Diretta

Relazione di associazione diretta nei diagrammi di classe UML
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 in un contenitore.

Associazione riflessiva

Relazione di associazione riflessiva nei diagrammi di classe UML
Associazione riflessiva

Ciò si verifica quando una classe può avere più funzioni o responsabilità. Ad esempio, un membro del personale che lavora in un aeroporto può essere un pilota, un ingegnere aeronautico, un addetto alla biglietteria, una guardia o un membro dell'equipaggio di manutenzione. Se il membro dell'equipaggio di manutenzione è gestito dall'ingegnere aeronautico, potrebbe esserci un parente gestito in due istanze della stessa classe.

Molteplicità

Relazione di molteplicità nei diagrammi di classe UML
Molteplicità

è l'associazione logica attiva quando viene rappresentata la cardinalità di una classe rispetto a un'altra. Ad esempio, una flotta può includere più aeroplani, mentre un aeroplano commerciale può contenere da zero a molti passeggeri. La notazione 0..* nel diagramma significa "da zero a molti".

Aggregazione

Relazione di aggregazione
Aggregazione

si riferisce alla formazione di una classe particolare a seguito dell'aggregazione o della creazione di una classe come raccolta. Ad esempio, la classe "biblioteca" è composta da uno o più libri, tra gli altri materiali. Nell'aggregazione, le classi contenute non dipendono fortemente 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, traccia una linea dalla classe madre alla classe figlia con un rombo vicino alla classe madre.

Per mostrare l'aggregazione in un diagramma, traccia una linea dalla classe madre alla classe figlia con un rombo vicino alla classe madre.

Composizione

Relazione di composizione nei diagrammi di classe
Composizione

La relazione di composizione è molto simile alla relazione di aggregazione. con l'unica differenza che il suo scopo principale è quello di enfatizzare la dipendenza della classe contenuta dal ciclo di vita della classe contenitore. Cioè, la classe contenuta verrà cancellata quando la classe contenitore viene distrutta. Ad esempio, anche la tasca laterale di una borsa a tracolla cesserà di esistere una volta che la borsa a tracolla viene distrutta.

Per mostrare una relazione di composizione in un diagramma UML, utilizzare una linea direzionale che collega le due classi, con un diamante pieno adiacente alla classe contenitore e la freccia direzionale alla classe contenuta.

Ereditarietà / Generalizzazione

Relazione di ereditarietà nei diagrammi di classe UML
Eredità

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 genitore. In altre parole, la classe figlia è un tipo specifico della classe genitore. Per mostrare l'ereditarietà in un diagramma UML, viene tracciata una linea continua dalla classe figlia alla classe padre utilizzando una punta di freccia vuota.

Realizzazione

Relazione di realizzazione nei diagrammi di classe UML
Realizzazione

denota l'implementazione della funzionalità definita in una classe da un'altra classe. Per mostrare la relazione in UML, dalla classe che definisce la funzionalità della classe che implementa la funzione viene tracciata una linea spezzata con una punta di freccia piena non riempita. Nell'esempio, le preferenze di stampa impostate utilizzando l'interfaccia di configurazione della stampante vengono implementate dalla stampante.

Disegnare diagrammi di classe usando Creately

Abbiamo pensato molto alle relazioni quando abbiamo creato i nostri strumenti di diagramma di classe. I nostri connettori si adattano al contesto e mostrano solo le relazioni più logiche quando si connettono le classi. Ciò ha ridotto significativamente le tue possibilità di commettere un errore.

Crea un diagramma di classe >>

Disegnare da zero può essere ingombrante. Puoi iniziare immediatamente a utilizzare i nostri diagrammi di classe progettati professionalmente. Sfoglia i nostri esempi di diagrammi di classe e scegli quello strettamente correlato al tuo sistema.

Cosa sono i diagrammi di classe?

I diagrammi di classe sono l'elemento costitutivo principale 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 di loro.

La figura seguente è un esempio di una classe semplice:

Diagramma di classe semplice
Diagramma di classe semplice con attributi e operazioni

Nell'esempio è raffigurata una classe denominata "conto prestito". Le classi nei diagrammi di classe sono rappresentate da caselle suddivise in tre:

  1. La partizione superiore contiene il nome della classe.
  2. La parte centrale contiene gli attributi della classe.
  3. 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 è una raccolta di classi simili a quella sopra.

Altre domande sulle relazioni del diagramma di classe?

Spero di aver spiegato chiaramente le varie relazioni tra i diagrammi di classe. Non sono così complessi come pensi e possono essere padroneggiati con un po' di pratica. E usando il nostro strumento non dovresti avere problemi a trovare diagrammi di classe. Se hai altre domande non esitare a chiedere nella sezione commenti. Inoltre, consulta questa guida ai tipi di diagramma UML con esempi per ulteriori letture.

Riferimenti:

1. Nozioni di base su UML: Il diagramma di classe Un'introduzione ai diagrammi di struttura in UML 2 di Donald Bell

2. Diagramma di classe pubblicato sul sito web di Wikipedia

3. Il diagramma delle classi UML, parte 1 , pubblicato sul sito Web developer.com

4. Il diagramma delle classi di Visual Case Tool – Tutorial UML pubblicato sul sito Web di Visual Case

5. Associazioni come pubblicate sul sito Sybase