Une condition telle qu'un attribut ayant une valeur particulière est un exemple de contrainte. Une contrainte doit être mise en place dans la conception d'un système. Vous définissez la condition ou restriction dans le corps de la contrainte.
En général, les contraintes n'ont pas de noms ; au lieu de cela, elles sont identifiées par le contenu de leur corps. Cependant, certaines contraintes d'usage courant sont identifiées par des noms, de façon à ce que le contenu de leur corps n'ait pas à être répété. La contrainte XOR est appliquée lorsque plusieurs associations ont une connexion commune à une classe.
Pour plus d'informations sur le langage OCL, consultez la spécification UML (Unified Modeling Language) disponible sur le site Web Object Management Group (OMG). En général, la syntaxe pour les propriétés du corps ou de la langue du corps ou corps n'est pas imposée.
Une contrainte est affichée comme un texte entre accolades ({}) et apparaît dans un rectangle avec l'angle supérieur droit replié.
Vous pouvez ajouter des contraintes à votre modèle dans les buts suivants :
Les contraintes dans un modèle peuvent apparaître dans n'importe quel type de diagramme UML ainsi que dans des diagrammes à structure libre.
Vous pouvez valider une contrainte. Le niveau de validation qui est appliqué dépend du type de contrainte validé. Il existe trois types de contrainte :
La syntaxe et l'expression d'une contrainte sont validées si le stéréotype «metaConstraint» est appliqué à la contrainte ou si elle est définie dans un profil.
Seule la syntaxe d'une contrainte est validée si le stéréotype «metaConstraint» ne lui est pas appliqué et qu'elle n'est pas définie dans un profil.