Vincoli UML

Nei modelli UML, un vincolo è un meccanismo di estensione che consente di definire meglio la semantica di un elemento del modello UML. Un vincolo ridefinisce un elemento del modello esprimendo una condizione o limitazioni in un'istruzione di testo a cui l'elemento deve essere conforme.

Un esempio di vincolo è la condizione come l'attributo con un valore specifico. Un vincolo va applicato nella progettazione di un sistema. Si specifica la condizione o limitazione nel corpo del vincolo.

Generalmente, i vincoli non hanno nomi. Vengono identificati invece dal contenuto del corpo. Alcuni vincoli utilizzati comunemente sono identificati dai nomi, per evitare di ripetere il contenuto del relativo corpo. Il vincolo XOR viene applicato quando più associazioni hanno un collegamento comune a una classe.

È possibile specificare il linguaggio da utilizzare per scrivere il corpo di un vincolo, in modo da consentire a chiunque legga il vincolo la relativa condizione o limitazione. È possibile scrivere il corpo di un vincolo nei seguenti linguaggi:

Per ulteriori informazioni relative a OCL, consultare la specifica UML (Unified Modeling Language) disponibile sul sito Web OMG (Object Management Group). In generale, la sintassi per le proprietà del linguaggio del corpo o per il corpo stesso non viene applicata.

Un vincolo viene visualizzato come testo racchiuso tra parentesi graffe ({}) e viene indicato con un rettangolo con l'angolo superiore destro piegato.

È possibile aggiungere dei vincoli al modello per i seguenti scopi:

I vincoli in un modello possono comparire in qualsiasi tipo di diagramma UML e nei diagrammi con formato libero.

Convalida vincoli

È possibile convalidare un vincolo. Il livello di convalida che si verifica dipende dal tipo di vincolo convalidato. Sono disponibili tre tipi di vincoli:

La sintassi e l'espressione di un vincolo vengono convalidate se al vincolo è applicato lo stereotipo «metaConstraint» o se è definito in un profilo.

Se al vincolo non è applicato lo stereotipo «metaConstraint» e tale vincolo non è definito in un profilo, viene convalidata solo la sintassi del vincolo.

Concetti correlati
Profili UML
Stereotipi UML
Attività correlate
Applicazione di vincoli agli elementi di modelli UML
Convalida di vincoli OCL nei modelli UML
Specifica dei valori per i vincoli degli elementi del modello UML
Specifica del linguaggio per i vincoli degli elementi del modello UML
Convalida di modelli e diagrammi UML
Convalida e riparazione di modelli UML
Correzione di errori di convalida di un modello UML
Estensione del significato di elementi di modello UML
Riferimenti correlati

Feedback