Profil UML
4. Les annotations ou propriétés. 2
5. Les commentaires ou notes. 2
6. UML et le paradigme relationnel 2
7. Proposition de profil pour les vues conceptuelles sur les données 2
8. Proposition de profil pour les schémas relationnels 4
Le mécanisme d’extension repose sur plusieurs artefacts UML : les stéréotypes, les contraintes, les annotations (tagged values) et les commentaires.
1.Les profils UML
Un profil UML est un ensemble cohérent, un dictionnaire composé de stéréotypes, contraintes, annotations et commentaires définissant un univers, un paradigme de pensée. Ce dictionnaire est le recueil d’un nouveau vocabulaire qui permet d’étendre la portée du langage UML à des contextes connexes au paradigme objet mais aussi à d’autres univers.
2.Les stéréotypes
Un stéréotype, noté «nom» permet d’étendre la sémantique d’un diagramme. Un stéréotype peut affecter n’importe quel élément d’un diagramme UML. Pour rappel, UML est un catalogue de 13 diagrammes. Le nom du stéréotype fait référence à un espace de nommage connoté. Par exemple celui de la persistance, du temps réel, de la distribution des composants, etc.
Il est important de remarquer que le langage UML possède des stéréotypes natifs comme par exemple «interface» ou encore «include». Ceux-ci font partie du corpus UML afin de permettre la différenciation de certains artefacts. Par exemple, «interface» permet d’indiquer au lecteur que l’objet graphique n’est pas une classe mais une interface, alors que leurs formes sont identiques.
3.Les contraintes
Une contrainte, notée {expression de contrainte}permet de contraindre un élément UML. Elle est porteuse de règle, de choix ou encore d’énumération. Les contraintes se retrouvent souvent sur les relations, notamment celles qu’entretiennent les classes d’objet entre elles. Par exemple la contrainte {triée} permet d’indiquer que les objets qui entrent dans une relation de multiplicité 1..* ou 0..* sont collectionnés dans un certain ordre (qui peut être précisé dans la contrainte). L'expression d'une contrainte peut être de type libre (langage naturel) ou formel (OCL1), langage de programmation, etc).
4.Les annotations ou propriétés
Une annotation (tagged value) est une propriété ajoutée à un stéréotype depuis UML22) afin d’en préciser la fonction. Une annotation est un couple clef-valeur notée de la façon suivante : {clef=valeur}. Les tagged values se retrouvent souvent dans les diagrammes de déploiement ({cœurs par processeur=6}). Lorsque le type de valeur est booléen, la présence seule de la clef suffit :{multi-processor}.
5.Les commentaires ou notes
Un commentaire ou note est un objet graphique attaché à un élément d’un diagramme. Il permet de préciser, de détailler ou d’exposer des remarques, des règles de manière verbeuse.
Comment définir un profil UML ? (1/2)
Un profil est un package portant le stéréotype <<profile>>
Un profil contient la définition de nouveaux stéréotypes :

6.UML et le paradigme relationnel
L’ensemble des concepts et des catégories liés au relationnel se retrouve communément dans des vues abstraites du système d’information sous la forme de représentations non standardisées comme le modèle de domaine, le modèle conceptuel de données ou encore le modèle Entité-association. Et dans des vues logiques sous la forme d’un modèle logique de données ou d’un schéma relationnel qui elles aussi sont représentées de façons diverses et non standardisées.
Dans ces deux cadres de modélisation, conceptuel et logique, UML peut être utilisé comme langage de notation à la condition d’étendre sa sémantique grâce à des profils UML adaptés.
7.Proposition de profil pour les vues conceptuelles sur les données
Les profils UML sont malheureusement contraints par les possibilités graphiques des logiciels modeleurs du marché. Ce profil peut servir à la réalisation de modèles d'analyse comme de conception.
§ Dictionnaire de stéréotypes : «entité», «association», «entité fictive», «id», «id relatif»
§ Dictionnaire de contraintes : {DF}, {CIF}, {lien relatif}
§ Dictionnaire de propriétés : {lien=entité A, entité B, entité C, …} (propriété de «association») ou réalisé grâce aux commentaires ou notes comme ci-dessous.
§ Contraintes optionnelles :{partition}, {exclusion}, {totalité}
Exemple1 :
Exemple2 :

Exemple3 :

8.Proposition de profil pour les schémas relationnels
Dictionnaire de stéréotypes : «TABLE», «VUE», «PK», «FK», «PFK», «ARTIFICIELLE», «NOT NULL», «UNIQUE», «CHECK», «INDEX», «TRIGGER»
Dictionnaire de contraintes : {lien identifiant}, {lien non identifiant}
Dictionnaire de commentaires : exposition des règles des contraintes check ou autre.
Exemple:

Les contraintes de clé primaire et étrangère sont exposées dans la partie qui décrit les colonnes de la table. Les autres contraintes sont exposées dans la seconde partie.
Pour la contrainte NOT NULL, il est préférable de factoriser les colonnes qui doivent la supporter sous forme de liste(gain de place et de lisibilité). Ce qui est impossible pour les autres contraintes.