Composite Structure Diagram: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Tassobot (discussione | contributi)
m Bot: Sostituzione automatica (-== ?[Aa]rgomenti [Cc]orrelati ?== +== Voci correlate ==)
Alfiobot (discussione | contributi)
m Bot: Sostituzione automatica (-[[Image: +[[Immagine:)
Riga 4:
UML 2.0 introduce un nuovo stile per rappresentare la ''composizione'', ovvero relazioni parte-tutto fra classi. Il seguente [[Class Diagram|diagramma delle classi]] UML mostra la struttura di due diversi tipi di impianti sonori usando la notazione standard per la composizione (rappresentata graficamente dal [[rombo]] pieno).
 
[[ImageImmagine:UML esempio compostruct 1.gif|center|Composizione in UML 1.x]]
 
Il diagramma indica che un sistema [[hi-fi]] standard è composto da un [[amplificatore]] e due [[altoparlante|altoparlanti]], mentre un sistema [[home theater]] è composto da un [[amplificatore]] e sei altoparlanti (fra cui un [[subwoofer]]). Il diagramma indica anche che gli altoparlanti sono controllati attraverso le uscite dell'amplificatore.
Riga 10:
Di per sé, il diagramma non include alcuni vincoli fondamentali. Il seguente [[Object Diagram|diagramma degli oggetti]] mostra una combinazione di oggetti completamente consistente con il modello proposto, in cui però i collegamenti fra altoparlanti e amplificatori sono fatti in modo evidentemente scorretto:
 
[[ImageImmagine:UML esempio compostruct 3.gif|center|Scenario non valido ma corretto]]
 
Quest'ultimo diagramma contraddice l'ovvia regola che gli altoparlanti di un certo sistema hi-fi sono collegati all'amplificatore ''di quello stesso'' sistema hi-fi, e non di un altro. Nel caso specifico, questa regola potrebbe essere aggiunta, a completamento del modello, nella forma di un vincolo [[Object Constraint Language|OCL]]:
Riga 19:
Tuttavia, a fronte di strutture composte complesse, i corrispondenti vincoli OCL tenderebbero a diventare sempre più numerosi e intricati. UML 2.0 consente di rappresentare questi vincoli graficamente come segue:
 
[[ImageImmagine:UML esempio compostruct 2.gif|center|Diagramma UML 2.0]]
 
Nel diagramma, gli elementi che si trovano all'interno della classe <code>SistemaHifi</code> sono detti ''parti'' (da intendersi nel senso di "parte in una recita", e non nel senso di "pezzo"). Sono caratterizzati da un nome (opzionale) e, dopo i due punti, il nome della classe i cui oggetti possono ricoprire quel ruolo. Le parti possono essere legate da linee dette ''[[connettore|connettori]]''. Affinché un connettore possa connettere due parti, dovrebbe esistere una [[associazione (modelli a oggetti)|associazione]] fra le due classi corrispondenti; questa associazione viene indicata dopo i due punti (nel caso specifico, i connettori sono lasciati anonimi, e solo il nome dell'associazione è mostrato).