1.    Les profils UML. 1

2.    Les stĂ©rĂ©otypes. 1

3.    Les contraintes 1

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.

 


Last modified: Wednesday, 6 November 2024, 10:08 PM