Unicité, immuabilité, optionnalité
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.
Objectifs
Savoir ajouter des contraintes sur des attributs de classe ;
Connaître les cas d'utilisation des contraintes d'unicité, d'immutabilité et d'optionnalité.
Mise en situation
Décrire une classe UML à l'aide d'attributs possédant un type est une bonne base, mais ce n'est pas toujours suffisant.
Par exemple, imaginez une classe qui décrit les modèles de smartphone : il y aura un attribut nom, un attribut marque, un attribut résolution, etc.
Est-ce-qu'il y a un sens à avoir deux smartphones qui ont le même nom ? Est-ce-que la résolution est nécessaire pour décrire un smartphone ? Est-ce-qu'un smartphone peut changer de nom ?
Dans ce module, vous allez apprendre à contraindre vos attributs UML, par exemple pour spécifier qu'un attribut ne peut pas prendre deux fois la même valeur.
Syntaxe : Unicité
Un attribut ou un groupe d'attributs peut être annoté comme étant unique cela signifie que deux instances de la classe ne peuvent pas avoir la même valeur pour le ou les attributs concernés.
On ajoute le symbole {unique}
à côté du ou des attributs concernés.
Exemple :
Attention :
Une classe possède en général plusieurs attributs ou groupes d'attributs uniques.
Complément : Clé
Si un attribut ou groupe d'attributs est unique et obligatoire, alors il permettra d'identifier de façon unique un objet de la classe (on parlera de clé en relationnel)
Une classe possède en général au moins un attribut ou un groupe d'attributs unique et obligatoire, sinon les objets ne sont pas différenciables.
Si ce groupe est composé de l'ensemble des attributs, il n'est pas nécessaire de le noter en UML.
Définition : Immuabilité
Une fois qu'il a été créé, un attribut immuable ne peut pas voir sa valeur changée.
On le note en UML avec {frozen}
.
Exemple : Immuabilité en UML
Définition : Optionnalité
Est optionnel un attribut qui peut ne pas avoir de valeur pour certaines instances.
Notation standard :
attribute[0..1] : type
Notation non standard proposée :
{optional}
Exemple : Optionnalité en UML
Impossible d'accéder à la ressource audio ou vidéo à l'adresse :
La ressource n'est plus disponible ou vous n'êtes pas autorisé à y accéder. Veuillez vérifier votre accès puis recharger la vidéo.