Relazioni del diagramma di classe UML spiegate con esempi
Pubblicato: 2012-03-01I 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.
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
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
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
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à
è 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
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
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
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
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:
Nell'esempio è raffigurata una classe denominata "conto prestito". Le classi nei diagrammi di classe sono rappresentate da caselle 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 è 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