• Aucun résultat trouvé

Processus de développement MDA : phases, activités et artefacts

III. Processus de Développement Dirigé par les Modèles des Systèmes

III.3. Processus de développement MDA : phases, activités et artefacts

Dans l‟objectif de maitriser la complexité logicielle, l‟OMG a proposé l‟approche MDA pour le développement, l‟intégration et la maintenance des systèmes à prépondérance logicielle. MDA est une démarche de développement permettant la séparation des spécifications fonctionnelles d‟un système des spécifications de son implémentation sur une plateforme technologique donnée. Ainsi, MDA se base sur plusieurs types de modèles qui définissent différentes vues d‟un système: le CIM, le PIM et le PSM. Elle se base aussi sur la transformation de modèles comme une activité principale. L‟objectif de cette section est de présenter ces différents types de modèles ainsi que les artefacts et les activités d‟un processus de développement MDA.

III.3.1. Les types de modèles et de transformation de MDA

III.3.1.1

Computation Independent Model (CIM)

Le CIM (Computation Independent Model) aussi appelé Business Model ou Domain model permet de décrire les exigences du système et la situation dans laquelle le système sera utilisé. Il ne représente pas les détails de la structure du système et reste indépendant des technologies de son implémentation. Ce modèle permet d‟exprimer les liens de traçabilité avec les modèles qui seront élaborés dans les autres phases du cycle de développement. En effet, les exigences décrites dans ce modèle doivent pourvoir à la construction d‟autres modèles (PIM et PSM) qui les implémentent et vice versa. Le CIM place le système dans son contexte opérationnel et permet de représenter ce que le système devrait réellement assurer comme fonctionnalités.

Dans UML, les modèles d‟exigences sont représentés par les diagrammes de cas d‟utilisation. Ces derniers décrivent de façon abstraite les différentes fonctionnalités du système ainsi que les acteurs qui interagissent avec ce système. Cependant, MDA ne fait aucune recommandation quant à l‟utilisation d‟UML ou non pour exprimer les CIM.

III.3.1.2

Platform Independent Model (PIM)

Le PIM est un modèle de haut niveau d‟abstraction qui est indépendant de toute plateforme (J2EE, dotNet) ou technologie. Il décrit le système en masquant les détails de son utilisation sur

une plateforme technologique particulière. Le PIM permet de décrire la logique métier. Il décrit les systèmes logiciels comme un ensemble d‟entités fonctionnelles ainsi que leurs interactions tenant en considération seulement la logique métier des entreprises. Ce modèle doit être clair afin de permettre à des experts du domaine de le comprendre plus aisément qu‟un modèle d‟implémentation. Ainsi, ils peuvent vérifier que le PIM est complet et correct plus facilement. Le langage UML ainsi que les profils UML sont préconisés par l‟approche MDA pour l‟élaboration des PIM. L‟essentiel pour un PIM est d‟être pérenne et de faire le lien entre le modèle d‟exigences et le code de l‟application. Les modèles doivent aussi être productifs car ils constituent le socle du processus de génération de code.

III.3.1.3

Platform Specific Model (PSM)

Le PSM est un modèle qui est dépendant de la plateforme technique. Il est utilisé principalement pour la génération automatique de code exécutable dans un environnement d‟exécution donné. Le PSM est une représentation de l‟implémentation d‟une technologie particulière. Par exemple, un PSM concernant la plateforme EJB contiendra des termes spécifiques aux EJB tels que home interface, remote interface, entity bean, session bean …

Un PIM peut être transformé en un ou plusieurs PSM. En fait, pour chaque plateforme technologique spécifique, un PSM est généré. Au fur et à mesure de l‟évolution des outils de génération MDA, cette phase peut devenir de plus en plus automatisée.

Pour l‟élaboration des PSM, deux approches sont préconisées. La première consiste à utiliser des profils UML pour élaborer les PSM. L‟utilisation de ces profils a le mérite de faciliter les transformations PIM vers PSM car les PIMs et les PSMs sont tous deux des modèles UML.

La deuxième approche consiste en la définition de méta-modèles propres aux plates-formes. Cette approche offre une plus grande liberté dans l‟expression des plates-fromes ; cependant, elle présente l‟inconvénient de ne pas faciliter les transformations PIM vers PSM (Blanc, 2005).

Figure 76–Types de transformations MDA (Blanc, 2005)

La figure 76 illustre les principales transformations de modèles définies dans le cadre de l‟approche MDA. Les transformations préconisées par MDA sont essentiellement les transformations CIM vers PIM et PIM vers PSM. Généralement, les transformations peuvent être groupées en :

Transformations CIM vers PIM : Ces transformations visent à construire des modèles PIM partiels à partir des modèles CIM. Elles permettent de garantir la traçabilité entre les modèles et les besoins exprimés dans les CIM.

PIM vers PIM : Ces transformations s‟effectuent pour ajouter ou soustraire des informations aux modèles. Le passage de la phase d‟analyse à la phase de conception est la plus naturelle des transformations de ce genre. De telles transformations ne sont pas toujours automatiques, et demandent l‟intervention du développeur pour ajouter ou soustraire des informations. La plus naturelle des transformations est l‟enrichissement de PIM en étapes successives afin de le rendre plus complet.

PIM vers PSM : ces transformations s‟effectuent lorsque les PIM sont suffisamment enrichis avec des informations pour pouvoir être transformés sur une plate-forme technologique. Un exemple de ce genre est la transformation

Code CIM

PIM

d‟un modèle métier en UML vers un modèle UML qui prend en compte la logique métier en utilisant une plate-forme comme les services Web.

PSM vers PIM : ces transformations s‟effectuent pour séparer la logique métier de la plate-forme technologique. Par exemple, une transformation d‟un PSM (par exemple, un modèle UML qui utilise des profils CORBA) qui soustrait la plate-forme (par exemple, services Web) et retourne que la logique métier. Particulièrement, ce genre de transformation est le plus demandé dans les processus de reverse engineering.

PSM vers PSM : ces transformations s‟effectuent lors des phases de raffinement de plates-formes technologiques, de déploiement, d‟optimisation ou de reconfiguration.

III.3.2. Le processus de développement dans le contexte de MDA :

MDA comme nouveau paradigme informatique a impacté les processus de développement logiciels. Certes, L‟approche MDA ne définit pas un processus de développement spécifique pour le développement des systèmes. Cependant, les modèles et les transformations de modèles jouent un rôle très important dans le processus de développement des systèmes logiciels dans le contexte de l‟approche MDA. En fait, les modèles sont les artefacts de chaque activité du processus de développement. Aussi, chaque activité consiste en une transformation de modèles d‟un niveau d‟abstraction à un autre.

Un processus de développement MDA (Kadima et al., 2005) (Kleppe et al., 2005) (cf. figure 77) repose principalement sur une suite de modèles intégrant toutes les dimensions d‟un projet : du modèle métier à la génération de code. Chaque passage d‟un modèle à un autre se base sur un raffinement progressif des spécifications des applications et sur des transformations de modèles.

Globalement, un processus de développement dans le cadre de l‟approche MDA définit les étapes suivantes :

Figure 77–Processus de développement MDA des systèmes logiciels

2- Elaboration des modèles indépendants de toute plate-forme (PIM). les PIM doivent être

en théorie, partiellement générés à partir des modèles CIM afin de garantir l‟établissement des liens de traçabilité.

3- Enrichissement du modèle PIM par étapes successives.

PIM PSM Texte Code Code Phases Artefacts Expression des besoins Analyse Conception de bas - niveau Codage Test Déploiement

4- Choix des plates-formes de mise en œuvre et génération des modèles spécifiques

correspondants (PSM). Ces modèles sont obtenus par une transformation des PIM en y ajoutant les informations techniques relatives aux plates-formes choisies.

5- Raffinement des PSM jusqu‟à l‟obtention d‟une implémentation exécutable.

Comme illustré sur la figure 77, le processus de développement MDA ne semble pas si différent des modèles classiques. On y trouve les mêmes phases (partie gauche de la figure 77). Ce qui caractérise les processus de développement MDA est la nature des artéfacts (partie droite de la figure 77) générés au cours du processus de développement. En effet, les artéfacts générés dans chaque phase sont les différents modèles définis par l‟approche MDA à savoir le CIM, PIM et PSM.