Vous êtes sur la page 1sur 19

Chapitre 2 Approche MDA

Responsable de cours : Sahar GHRAB


Année universitaire : 2023/2024

1
Motivations

 Comment diminuer les délais et les coûts des


projets?
 Comment réutiliser des solutions existantes à
des problèmes récurrents?
 Comment être plus agile avec les évolutions?
 Comment proposer un modèle standard
indépendamment de la plateforme et de
l’environnement?

2
Solution
• MDA (Model Driven Architecture)paraît la seule
aujourd'hui capable de fournir des réponses
satisfaisantes à toutes ces nouvelles technologies.
• MDA (architecture dirigée par les modèles) est
une démarche de réalisation de logiciels
proposée par l’OMG.
• MDA est une variante particulière de l’IDM (MDE:
Model Driven Engineering).
• Le concept de MDA est lancé en 2001.
3
Architecture MDE
• MDE (Model Driven Engineering) ou IDM est
une méthodologie de développement logiciel
qui se concentre sur la création de modèles à
partir desquels les processus, les structures, le
code ou les formats de stockage des
programmes seront générés.

4
Architecture MDE

5
Architecture MDA

6
MDA
• Les techniques utilisées dans MDA sont des techniques
de modélisation et de transformation de modèles.
• MDA procure une méthode pour l’utilisation de
modèles dans la conception, la construction, le
déploiement, la maintenance et les modifications de
système.
• MDA permet à travers des outils dédiés:
– Spécifier un système indépendamment de la plateforme
sur laquelle il sera implanté
– Transformer les spécifications d’un système pour une
plateforme particulière

7
MDA
• L’application d’une approche MDA permet:
– La portabilité: utilisé sur des systèmes
informatiques de types différents
– Interopérabilité: fonctionner avec d’autres
systèmes
– Réutilisabilité logicielle: dans un autre système ou
une autre application

8
MDA- modèle CIM(Computation
Independant Model)
• Il s’agit d’exprimer un modèle d’exigence de la future application,
ce modèle doit représenter l’application dans son environnement
afin de définir quels sont les services offerts par l’application et
quelle sont les autres entités avec lesquelles elle interagit.
• Il permet d’exprimer les liens de traçabilité avec les modèles qui
seront construits dans les autres phases du cycle de
développement de l’application (e modèles d’analyse et de de
conception).
• Le CIM crée un lien durable avec les besoins du client de
l’application.
• Un CIM peut se résumer à un diagramme de cas d’utilisation
identifiant les fonctionnalités fournies par l’application ainsi que
les différentes entités qui interagissent avec elles (acteurs) sans
9
apporter des informations sur le fonctionnement de l’application.
MDA- modèle PIM (Platform
Independent Model)
• PIM est le modèle d’analyse et de conception abstraite.
• Il s’agit de structurer l’application en modules et sous-
modules.
• L’application des patrons de conception du GoF fait
partie de cette étape de conception.
• L’application de patrons techniques, propres à
certaines plateformes, correspond à une autre étape.
• La conception dans PIM est abstraite càd réalisable
sans connaissance aucune des techniques
d’implémentation.
• Les méthodes d’analyse et de conception doivent être
indépendants de toute plateforme d’implémentation.
10
MDA- modèle PIM (Platform
Independent Model)
• UML est préconisé par l’approche MDA comme étant le
langage à utiliser pour réaliser des méthodes d’analyse
et de conception indépendants des plateformes.
d’implémentation.
• MDA préconise UML mais il existe d’autres langages qui
puissent être utilisées.
• Les modèles d’analyse et de conception font le lien
entre le modèle d’exigences et le code de l’application.
• La productivité des PIM signifie qu’ils doivent
suffisamment précis et contenir suffisamment
d’information pour qu’une génération automatique de
code soit envisageable.

11
MDA- modèle PSM (Platform Specific
Model)
• Cette phase est la plus délicate en MDA: elle doit utiliser des
modèles et inclut l’application des patrons de conception
techniques.
• Le modèle de code est lié à une plateforme d’exécution et facilite la
génération de code.
• Le PSM contient les informations nécessaires à l’exploitation d’une
plateforme d’exécution (ex: les informations manipulant les
systèmes de fichiers ou les systèmes d’authentification.
• Dans MDA
– Le code d’une application est une suite de lignes textuelles (fichier
java)
– Un modèle de code est une représentation structurée incluant, par
exemple, les concepts de boucle, condition, instruction, composant.

12
MDA- modèle PSM (Platform Specific
Model)
• Pour l’élaboration des modèles de code, MDA
propose l’utilisation de profils UML.
• Un profil UML est une adaptation du langage
UML à un domaine particulier.
• Ex: le profil UML pour EJB est une adaptation
d’UML au domaine des EJB. Grâce à ce profil,
il est possible d’élaborer des modèles de code
pour le développement d’EJB.

13
MDA- modèle PSM (Platform Specific
Model)

14
Exemple

• Modèle CIM: correspond à la description en langage naturel (ou textuel) du


dispositif pédagogique imaginé par l’enseignant.
• Modèle PIM: correspond à une description du dispositif conforme à un méta-
modèle spécifique à une pratique pédagogique, il est indépendant de la
plateforme de formation visée par l’enseignant.
• Modèle PSM: correspond au modèle du dispositif conforme au méta-modèle
déduit de l’analyse de la plateforme cible.

15
16
VERS DES MODÈLES PRODUCTIFS

17
Transformation des modèles
• Le lien de traçabilité entre les modèles MDA
est important. En faite, MDA établit des liens
automatique grâce à l’exécution de
transformation de modèles.
• Différents formes de transformations:
– Transformation endogène: le modèle source et le
modèle cible ont le même métamodèles
– Transformation exogène: le modèle source et le
modèle cible ont des métamodèles différents
18
Transformation des modèles

19

Vous aimerez peut-être aussi