Il linguaggio di modellazione UML nella sua ultima versione
2.0 comprende un numero di diagrammi pari a tredici, divisi in tre categorie:
- Structure Diagrams (strutturale) Class Diagram, Object Diagram, Component Diagram, Composite Structure Diagram, Package Diagram, e Deployment Diagram.
- Behavior Diagrams (comportamentale) Use Case Diagram (used by some methodologies during requirements gathering); Activity Diagram, e State Machine Diagram.
- Interaction Diagrams (dinamica) Sequence Diagram, Communication Diagram, Timing Diagram, e Interaction Overview Diagram.
Il Diagramma degli oggetti è un diagramma previsto dall’UML per
descrivere un sistema in termini di oggetti e relazioni tra di essi. Molto simile
al diagramma delle classi, esso è tuttavia concettualmente distinto. L’OMG lo
ha definito come: una rappresentazione di istanze, che includono oggetti e i
valori dei dati. Un diagramma degli oggetti è una istanza di un diagramma delle
classi. Esso mostra una fotografia dettagliata dello stato del sistema (con
tutti i suoi oggetti) in un determinato tempo t. Il maggiore utilizzo di questo
tipo di diagramma è per mostrare degli esempi di strutture dati.
Nonostante sia presente nelle specifiche dell’UML da
parecchi anni, questo diagramma risulta poco utilizzato. Tuttavia, riuscire a
mostrare una fotografia di un particolare stato di un sistema quando si parla
di progettazione software è ottimo soprattutto quando si lavora in team. Non
solo, quello che viene rappresentato attraverso questo diagramma è l’Oggetto,
elemento che è alla base del paradigma più diffuso attualmente: l’Object
oriented.
Quando si rappresenta un oggetto, in genere si utilizza un
rettangolo separato in due parti:
- La parte superiore mostra il nome dell’oggetto e la sua classe (nome oggetto : nome classe).
- La parte inferiore mostra gli attributi per l’oggetto insieme ai suoi valori. Ogni linea ha la seguente sintassi: nome attributo: tipo = valore. Il tipo è ridondante con il tipo dichiarato nella classe corrispondente per questo può essere omesso.
L’OMG nelle specifiche dell’UML 1.5 definisce alcune opzioni
di presentazione:
- Il nome dell’oggetto può essere omesso. In tal caso, la parte superiore deve indicare il nome della classe. Ciò rappresenta un oggetto anonimo di una data classe.
- La classe di un oggetto può non essere indicata.
- La parte inferiore contenente gli attributi e i valori può non essere mostrata.
- Gli attributi i cui valori non costituiscono importanza nella rappresentazione possono essere omessi.
- Gli attributi i cui valori cambiano durante una computazione possono essere mostrati come una lista di valori. Una notazione alternativa è di mostrare lo stesso oggetto più di una volta. Ogni oggetto verrà collegato al precedente attraverso un link con lo stereotipo <<becomes>>.
Un altro elemento importante per la rappresentazione degli
oggetti è un Link.
Un link è una istanza di una associazione. Esso è graficamente
un collegamento tra due oggetti. Per indicare che il link creato è una istanza
di una associazione si sottolinea il nome di quest’ultima (se presente). Un
role name può essere indicato al termine del link. I link non hanno un nome, poiché
la loro identità deriva dagli oggetti a cui si riferisce. Inoltre, la
molteplicità non viene mostrata poiché un link è una istanza.
Un esempio di diagramma degli oggetti è mostrato in Figura
1, dove si hanno due oggetti di nome Giuseppe e corsoDiInformatica che sono rispettivamente istanze delle classi Professore e Corso. Si tenga presente che il diagramma degli oggetti viene sempre dedotto dal
diagramma delle classi.
Figura 1 - Diagramma degli oggetti di esempio
0 commenti:
Posta un commento