1 Année master ISI
Notes de Cours
Conception avancée des logiciels
Cours 3
Diagramme de profile
et package
Présenté par
Mr KHELIFA N.
Diagramme de profile
Les diagrammes UML 2.5.1
Diagramme de profile
Le diagramme de profil est un diagramme de structure qui décrit
le mécanisme d'extension en langage UML en définissant:
Des stéréotypes,
Des valeurs étiquetées
Des contraintes (OCL).
Profiles décrit les fonctionnalités qui permettent aux
métaclasses d'être étendues pour les adapter à différentes fins.
Cela inclut la possibilité d'adapter le métamodèle UML à
différentes :
Plates-formes (telles que J2EE, .NET.....)
Domaines (tels que l'architecture en temps réel ou orientée service….).
Modèle
• Un modèle:
Est une représentation du système a étudié (monde réel, processus,
machine ou concept).
Est une simplification de la réalité
Est une abstraction de la réalité
Est est une simplification d’un système construit dans une intention
particulière. Le modèle doit pouvoir répondre à des questions en lieux et
place du système modélisé.
Est une description (d’une partie) d’un système écrite dans un langage
bien défini.
Peut prendre différentes formes: schéma, texte, ...
Meta modèle
• Métamodèles
Un modèle qui définit le langage d’expression d’un modèle
Définit les concepts utilisables dans le modèle
Définit le vocabulaire ou la grammaire
Ce n’est ni un langage, ni un modèle d’un modèle.
Métaclasse
Une classe dont les instances sont des éléments de
modélisation ou leurs parties.
Les classes d'un métamodèle sont appelées
métaclasses.
Notation
Relation entre concepts
Langage:
moyens de communication, avec syntaxe et sémantique, constitués d'un ensemble de représentations,
de conventions et de règles associées utilisées pour la transmission d'informations.
• Système
Combinaison d’interactions d’éléments pour accomplir des objectifs définis
Architecture multi niveau
Exemple
Le Meta-Object Facilita (MOF)
MOF est un standard de l'Object Management Group
(OMG) s'intéressant à la représentation des
métamodèles et leur manipulation.
Le langage MOF s'auto-définit.
Le standard MOF est situé au sommet d'une architecture
de modélisation en quatre couches :
M3, le métamétamodèle MOF (couche auto-descriptive) ;
M2, les métamodèles ;
M1, les modèles ;
M0, le monde réel.
Niveau M1 (modèle)
Niveau M2 (méta modèle)
Liens éléments modèle/méta-modèle
Hiérarchie de modélisation
Représenté par
Les raisons d’étendre UML
Donner une terminologie adaptée à une plate-forme ou à un domaine
particulier (par exemple, la terminologie EJB telle que Interfaces
domestiques, Enterprise Java Beans et Archives).
Donnez une syntaxe pour les constructions qui n'ont pas de notation
(comme dans le cas des actions).
Attribuez une notation différente aux symboles existants (par exemple, en
utilisant une image d'ordinateur au lieu du symbole de nœud ordinaire
pour représenter un ordinateur sur un réseau).
Ajouter une sémantique supplémentaire à UML ou à des métaclasses
spécifiques.
Ajouter des types qui n'existent pas dans UML (tels que la définition
d'une minuterie, d'une horloge ou d'une heure continue).
Ajouter des contraintes qui restreignent la manière dont les constructions
UML sont utilisées (par exemple, interdire l'héritage multiple).
Ajoutez des informations pouvant être utilisées lors de la transformation
d'un modèle en un autre modèle ou code (par exemple, en définissant des
Le profile
Un profil UML est défini sous la forme d'un
package stéréotypé << profile >>
Il n'est pas possible de définir un profil
autonome qui n'étend pas directement ou
indirectement un métamodèle existant.
Notez que l'application d'un profile ne modifie
en aucune manière les élément du Meta modèle
Notation
Stéréotype
Un stéréotype définit la manière dont une métaclasse existante
peut être étendue et permet l’utilisation de plates-formes ou de
domaines spécifiques.
Le stéréotype est un type de classe qui étend les classes à
travers des extensions.
Un stéréotype peut avoir des propriétés, appelées définitions de
étiquettes.
Lorsqu'un stéréotype est appliqué à un élément de modèle, les
valeurs des propriétés peuvent être appelées valeurs étiquetées.
Notation
Contrainte sur les stéréotypes
Les stéréotypes ne peuvent participer qu'à des associations binaires.
Un stéréotype ne peut que généraliser ou spécialiser un autre
stéréotype.
Lesnoms de stéréotypes ne doivent pas entrer en conflit avec les
noms de mots clés de l'élément de modèle étendu.
Si un stéréotype étend une métaclasse, la multiplicité de la propriété
de base correspondante doit être 1..1.
Siun stéréotype étend plus d'une métaclasse, la multiplicité des
propriétés de base correspondantes doit être de [0..1].
Quelque stéréotypes standards
Extension
Une extension est utilisée pour indiquer que les
propriétés d'une métaclasse sont étendues via un
stéréotype
L'extension est une sorte d'association.
Les deux extrémités de l’extension
La première lie l'extension à une classe,
le second lie l'extension à un stéréotype qui étend la
classe.
Notation
ProfileApplication
Une application de profil est utilisée pour
montrer quels profils ont été appliqués à un
package.
Exemple (1)
System
«
« metaclasse »
« apply»
Exemple (2)
Exemple (3)
Merci pour votre attention