Condividi tramite


Proprietà di associazioni nei diagrammi classi UML

In un diagramma classi UML di Visual Studio Ultimate è possibile creare le associazioni tra qualsiasi coppia di tipi. Un tipo è una classe, un'interfaccia o un'enumerazione.

Un'associazione indica che nel sistema che si sta sviluppando sono archiviati collegamenti di qualche tipo tra le istanze dei tipi associati. Generalmente, ciò non implica alcunché sull'implementazione dei collegamenti. Potrebbero ad esempio essere puntatori, righe in una tabella, nomi a riferimenti incrociati in XML e così via.

Un'associazione è un metodo diagrammatico di mostrare un attributo o una coppia di attributi. Se ad esempio è stata definita una classe Ristorante con un attributo di tipo Menu, è possibile dichiarare la stessa definizione creando un'associazione tra Ristorante e Menu.

Per creare un'associazione, fare clic su Associazione nella casella degli strumenti, quindi fare clic sul primo tipo e infine sul secondo. È possibile fare clic sullo stesso tipo due volte per mostrare che le istanze possono essere collegate ad altre istanze dello stesso tipo.

Proprietà

Di seguito sono riportate le proprietà di un'associazione in un diagramma classi UML.

Per visualizzare le proprietà di un'associazione, fare clic con il pulsante destro del mouse sull'associazione, quindi scegliere Proprietà. Le proprietà verranno visualizzate nella finestra Proprietà.

Alcune proprietà sono visibili anche nel diagramma, come mostrato nell'illustrazione seguente.

Proprietà nelle associazioni

Proprietà

Descrizione

Name (1)

Identifica l'associazione. Viene visualizzata anche nel diagramma accanto al punto intermedio dell'associazione.

Qualified Name

Identifica l'associazione in modo univoco. È preceduta dal nome completo del pacchetto che contiene il primo ruolo dell'associazione.

Elementi di lavoro

Il numero di elementi di lavoro collegati a questa associazione. Per collegare gli elementi di lavoro, vedere Collegare elementi di modello ed elementi di lavoro.

Colore

Il colore del connettore. A differenza delle altre proprietà, si tratta di una proprietà della visualizzazione dell'associazione e non di una proprietà della relazione sottostante nel modello.

First Role

Second Role

Ogni estremità dell'associazione viene denominata ruolo. Ogni ruolo descrive le proprietà dell'attributo equivalente nella classe all'estremità opposta dell'associazione.

Nel diagramma di esempio i ruoli dell'associazione tra Menu ed Elemento menu sono denominati Menu e Contenuto.

Contenuto è il nome di un attributo nella classe Menu.

Proprietà di ogni ruolo

Per visualizzare le proprietà di ogni ruolo, espandere la proprietà First Role o Second Role.

Proprietà

Predefinito

Descrizione

Role Name (2)

Nome del tipo in questo ruolo

Nome del ruolo. Viene visualizzata accanto all'estremità dell'associazione nel diagramma.

Aggregazione

Nessuno

Nessuno (4): rappresenta una relazione generale tra le istanze delle classi.

Composito (5): l'oggetto in questo ruolo contiene l'oggetto nel ruolo opposto. È possibile utilizzare lo strumento Composito per creare un'associazione con aggregazione composita.

Condiviso (6): l'oggetto in questo ruolo contiene i riferimenti all'oggetto nell'altro ruolo. È possibile utilizzare lo strumento Aggregazione per creare un'associazione con aggregazione condivisa.

L'interpretazione esatta è aperta nella convenzione locale.

Is Derived

False

Se true, l'oggetto in questa estremità del collegamento viene calcolato dagli altri attributi e associazioni. Ad esempio, MyWorkPlace viene calcolato da MyEmployer.WorkPlace. I dettagli devono essere scritti nella descrizione o in un commento associato.

Is Derived Union

False

Se true, il ruolo è l'unione di un set di ruoli nei tipi derivati.

Is Navigable

True

L'associazione può essere letta in questa direzione. Fornita un'istanza del ruolo opposto, il software che si sta descrivendo può determinare in modo efficace l'istanza associata in questo ruolo.

Se un ruolo è navigabile mentre l'altro non lo è, viene visualizzata una freccia (7) nell'associazione nella direzione navigabile.

Per impostazione predefinita, lo strumento associazione crea un'associazione che è navigabile in una sola direzione. Per convertirla in un'associazione bidirezionale, selezionare l'associazione, fare clic sul tag azioni visualizzato, quindi fare clic su Rendi bidirezionale.

Is Read Only

False

Se true, non è possibile modificare un'istanza dell'associazione dopo la creazione. Il collegamento è sempre allo stesso oggetto.

Multiplicity (3)

1

1: questa estremità dell'associazione viene sempre collegata a un solo oggetto. Nella figura ogni Elemento menu ha un solo Menu.

0..1: questa estremità dell'associazione viene collega a un solo oggetto o non è presente alcun collegamento.

*: ogni oggetto all'altra estremità dell'associazione è collegato a una raccolta di oggetti a questa estremità e la raccolta può essere vuota.

1..*: ogni oggetto all'altra estremità dell'associazione è collegato ad almeno un oggetto a questa estremità. Nella figura ogni Menu ha almeno un Elemento menu.

n..m: ogni oggetto all'altra estremità contiene una raccolta di collegamenti compresi tra n e m agli oggetti a questa estremità.

Is Ordered

False

Se true, la raccolta restituita forma un elenco sequenziale. Con Multiplicity maggiore di 1.

Univoco

False

Se true, non sono presenti valori duplicati nella raccolta restituita. Con Multiplicity maggiore di 1.

Visibilità

Public

Pubblico: visibile globalmente.

Privato: non visibile all'esterno del tipo proprietario

Protetto: visibile ai tipi derivati dal proprietario

Pacchetto: visibile agli altri tipi all'interno dello stesso pacchetto

Vedere anche

Concetti

Diagrammi classi UML: riferimento

Proprietà di tipi in diagrammi classi UML

Proprietà di attributi in diagrammi classi UML

Proprietà di operazioni in diagrammi classi UML

Diagrammi classi UML: linee guida