Come disegnare un diagramma delle classi

tramite: O2O
Difficoltà: difficile
19

Introduzione

Nel linguaggio di modellizzazione unificato (UML), il diagramma delle classi è una delle rappresentazioni essenziali più comunemente utilizzate ed è utile per illustrare la struttura statica del sistema object-oriented, scomponendolo in classi definite dalle relazioni, dagli attributi, dalle operazioni per mezzo d'interfacce, dalle associazioni e dalle collaborazioni.
Siccome vengono impiegati per numerosi obiettivi, nella seguente pratica e minuziosa guida che vi esporrò nei passaggi successivi, vi spiegherò come bisogna disegnare un diagramma di classe e analizzerò le caratteristiche di quest'ultimo modellato sulle necessità di un fornitore
e quelle di un piano di studi scolastico, ricorrendo ad una classe diversa per ogni circostanza.

29

Per realizzare il vostro diagramma delle classi, affronterò in sequenza i seguenti punti:
- le linee generali;
- le classi;
- le interfacce;
- l'aggregazione e la composizione;
- l'eredità;
- le relazioni.
Le linee generali descrivono le linee guida di stile che sono importanti per varie tipologie di diagrammi di classe e, precisamente, dovrete attenervi ai seguenti parametri:
- mostrare visibilità soltanto sui modelli di progetto;
- determinare le responsabilità sui diagrammi di classe di dominio;
- evidenziare le visibilità linguistiche con le stringhe di proprietà;
- sottolineare le tipologie solamente sui progetti modello;
- mettere in evidenza le tipologie nei modelli di analisi esclusivamente quando esse sono una richiesta effettiva.

39

I diagrammi di classe di progetto si devono conformare alle convenzioni sintattiche:
- nell'immagine "A", noterete che la versione di progetto della classe "Ordine" usa dei nomi conformi alle convenzioni di programmazione comune Java (come “Placement Date" e "Calculate Taxes”);
- nell'immagine "B", sono indicate le classi di associazione, laddove le classi vengono collegate tramite una linea tratteggiata ad una associazione.
Mi raccomando di attenervi alle seguenti regole:
- non nominare quelle associazioni che hanno delle classi d'associazione;
- centrare la linea tratteggiata di una classe di associazione.

Continua la lettura
49

Una classe rappresenta un insieme di oggetti, una categoria d'entità o istanze, un “template” da cui vengono derivati gli oggetti: le classi definiscono gli attributi, ovvero delle informazioni rilevanti per le proprie istanze, operazioni e funzionalità supportanti gli oggetti.
Alcune delle linee guida essenziali riguardanti una qualsiasi classe sono le seguenti:
- ricorrere alla terminologia comune per i nomi;
- scegliere dei sostantivi singolari;
- nominare le operazioni mediante un verbo forte;
- designare gli attributi tramite un nome fondato sul dominio;
- non modellare il codice armatura “Scaffolding code”, che si riferisce agli attributi e alle operazioni richieste per utilizzare la funzionalità basilare senza le vostre classi (come il codice occorrente per l'implementazione delle relazioni con ulteriori classi;
- non mostrare le classi con soltanto due compartimenti;
- etichettare i compartimenti di classe insoliti;
- includere una parentesi alla fine delle liste incomplete;
- elencare operazioni/attributi statici, prima di operazioni/attributi istanza;
- enumerare operazioni/attributi in visibilità decrescente;
- specificare unicamente il tipo, per i parametri che sono oggetti;
- sviluppare le signature di metodo coerenti;
- evitare stereotipi implicanti delle convenzioni linguistiche;
- indicare le eccezioni nella stringa di proprietà di un'operazione, con una stringa di proprietà "UML".

59

L'interfaccia è un insieme di operazioni signature e/o attributi che idealmente definiscono una tipologia coerente di comportamenti: essa viene implementato attraverso le classi e le componenti.
Per realizzare un'interfaccia, una classe oppure un componente deve utilizzare le operazioni e gli attributi definiti nella stessa: qualunque classe o componente data potrebbe impiegare zero o più interfacce ed una o più classi/componenti potrebbero utilizzare la medesima interfaccia.

69

Un oggetto è costituito da ulteriori oggetti (ad esempio, un aeroplano è composto dalle ali, dalla fusoliera, dal motore e dai flaps): il concetto d'aggregazione illustra la relazione “far parte di” e questa mette a fuoco una relazione complessa esistente tra due oggetti.
La composizione rappresenta una forma abbastanza potente di aggregazione, laddove l’intero e le parti hanno una vita corrispondente ed è molto comune che l’intero gestisca il ciclo vitale delle proprie parti componenti.
Dal punto di vista stilistico, l'aggregazione e la composizione sono delle specializzazioni di un’associazione alla quale si applicano le linee guida per le associazioni:
- focalizzare sia le parti che l’intero;
- descrivere quest'ultimo alla sinistra della parte;
- ricorrere alla composizione, per gli aggregati d'oggetti fisici.

79

I modelli di dipendenza “is a”, “è un”, “is like” e “è come” sono delle relazioni che permettono di riutilizzare i dati e i codici preesistenti: quando “A” eredita da “B”, si dice che “A” è sottotipo di “B” e che “B” è superclasse di “A".
Inoltre, si avrà una “eredità pura”, quando “A” eredita tutti gli attributi e i metodi di “B”: nel linguaggio di modellizzazione unificato (UML), questo concetto viene generalmente espresso con una linea provvista di freccia, che punta dal sottotipo alla superclasse.
Le due linee guida che dovrete assolutamente seguire sono:
- mettere i sottotipi sotto le superclassi;
- un sottotipo deve ereditare tutto.

89

Con il termine relazione vengono inglobati tutti i concetti "UML": in altre parole, se è una linea sul diagramma di classe, essa si può considerare una relazione.
Le linee guida alle quali bisogna sempre attenersi sono le seguenti:
- disporre le relazioni orizzontalmente;
- collaborazione significa necessità di una relazione;
- creare una dipendenza quando una relazione è in transizione;
- rappresentare le relazioni simili coinvolgenti una classe comune come un albero (Figura A);
- indicare sempre la molteplicità;
- evitare l'utilizzo eccessivo di “*”, per evitare confusione;
- sostituire le relazioni indicando tipologie di attributi (Figura C);
- non realizzare delle relazioni implicite;
- fare delle associazioni bidirezionali soltanto quando la collaborazione avviene in entrambe le direzioni (Figura B).

Potrebbe interessarti anche

Segnala contenuti non appropriati

Tipo di contenuto
Devi scegliere almeno una delle opzioni
Descrivi il problema
Devi inserire una descrizione del problema
Si è verificato un errore nel sistema. Riprova più tardi.
Verifica la tua identità
Devi verificare la tua identità
chiudi
Grazie per averci aiutato a migliorare la qualità dei nostri contenuti

Guide simili

Superiori

Come calcolare i quartili in una distribuzione in classi

La statistica è una scienza che si occupa di elaborare e raccogliere dati. Lo studio dei dati a disposizione si basa su strumenti matematici molto potenti. Questi a sua volta ci consentono di trarre diverse conclusioni dall'analisi dei dati. Uno di questi...
Superiori

Scienze: il diagramma di Hertzsprung-Russell

Il diagramma di HertzSprung-Russel è un utilissimo "strumento" teorico per lo studio delle stelle. Esso infatti mette in relazione la temperatura effettiva (riportata sull'asse delle ascisse) e la luminosità (riportata sull'asse delle ordinate) delle...
Superiori

Come costruire il diagramma di Gantt

Forse non tutti conoscerete una funzione che si chiama "diagramma di Gantt": il diagramma di Gantt è un tipo di strumento di supporto per il management di un progetto, che prende il suo nome a memoria dell'ingegnere americano H. L. Gannt, vissuto a cavallo...
Superiori

come realizzare un diagramma a coordinate polari

In questa guida vedremo come disegnare un diagramma a coordinate polari. Questo tipo di diagramma viene spesso utilizzato per esprimere un fenomeno e fa uso di circonferenze concentriche. Per realizzarlo bisogna avere semplicemente a disposizione un foglio...
Superiori

Fisica: il diagramma di Andrews

Il comportamento di un sistema gas-liquido in fisica venne studiato approfonditamente nel 1863 da Thomas Andrews. Egli ideó un apparato (fig. 1) in grado di applicare ad un gas pressioni misurate pari fino a 200 volte la pressione atmosferica, che gli...
Superiori

Come costruire il diagramma di Mollier

Il diagramma di Mollier è un grafico a variabili termodinamiche che contiene necessariamente la funzione di stato H, l'entalpia. L'entalpia viene messa in relazione con una qualsiasi variabile termodinamica, che sia in ascissa o in ordinata. La combinazione...
Superiori

Come disegnare un areogramma

Quando si parla di statistica, è molto utile raccogliere i dati e riportarli su diagrammi per renderne semplice la lettura. I grafici o diagrammi utilizzati per raccogliere i dati sono molti ma i più conosciuti sono gli istogrammi e gli areogrammi....
Superiori

Come disegnare un ortogramma

Sin dalle scuole medie e superiori, si cominciano a studiare delle materie scientifiche in cui è necessario (anche attraverso dei diagrammi) calcolare determinati dati e verificare delle statistiche molto precise in base a tali dati. Uno dei grafici...
I presenti contributi sono stati redatti dagli autori ivi menzionati a solo scopo informativo tramite l’utilizzo della piattaforma www.o2o.it e possono essere modificati dagli stessi in qualsiasi momento. Il sito web, www.o2o.it e Arnoldo Mondadori Editore S.p.A. (già Banzai Media S.r.l. fusa per incorporazione in Arnoldo Mondadori Editore S.p.A.), non garantiscono la veridicità, correttezza e completezza di tali contributi e, pertanto, non si assumono alcuna responsabilità in merito all’utilizzo delle informazioni ivi riportate. Per maggiori informazioni leggi il “Disclaimer »”.