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à |
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 Procedura: collegare elementi di modello a 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à |
Valore 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 un insieme di oggetti a questa estremità e l'insieme può essere vuoto. 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 un insieme di collegamenti compresi tra n e m agli oggetti a questa estremità. |
Is Ordered |
False |
Se true, l'insieme restituito forma un elenco sequenziale. Con Multiplicity maggiore di 1. |
Univoco |
False |
Se true, non sono presenti valori duplicati nell'insieme restituito. 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