Etendre UML : les profils
Par kadreg, mercredi 13 février 2008 à 22:24 :: Programmation :: #71 :: rss
J'ai déjà expliqué la brique de base de l'extension UML : le stéréotype. Mais il y a une notion plus générale dans les extensions UML : le profil, ou "UML profile" en anglais.
Un profil est un regroupement d'extensions UML destinée à un domaine particulier, que ce soit technique ou business. Ce profile contiendra des stéréotypes ajoutant de la sémantiques (et des données) aux éléments UML, mais aussi (suivant l'outils), des éléments UML dédiés à cette modélisation, comme des types de base.
Pour que ce soit plus clair, je vais prendre l'exemple des EJB. Dans les EJB, il y a des métadonnées rajoutées aux classes sous forme d'annotations java. Lorsque l'on a un EJB entity (donc avec persistance), il va falloir exprimer des choses sur ses relation. La relation "Many-to-Many" est-elle inversé (méta-attribut de type booléen), quel est le type de cascade lors de liens entre objets (méta-attribut de type énuméré). Pour exprimer ça en UML, cela donne la création d'un stéréotype <<ManyToMany>>, et sur ce stéréotype deux attributs que sont inverse et cascade. Pour typer cascade, il y aura en plus un énuméré CascadeType ayant pour littéraux ALL, PERSIST, MERGE, REMOVE et REFRESH.
Maintenant, les outils UML n'offrent pas tous la même finesse de définition de profils. Pour certains, on ne peux que rajouter des stéréotypes sous formes de champs textes, mais à l'autre bout, comme prévu dans la norme UML d'ailleurs, un profil est un package, et peut donc techniquement apporter tout ce qu'un package peut contenir.
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire