Weitere ähnliche Inhalte
Ähnlich wie 20100910 mda en-2010-jug_summer_camp (20)
20100910 mda en-2010-jug_summer_camp
- 1. Le MDA en 2010 :
Une vision pragmatique
nommée Acceleo
Le 10 Septembre 2010
Jérôme BENOIS
jerome.benois@obeo.fr
- 2. Le but de cette session
Montrer :
Les apports de la démarche MDA
Comment mettre en oeuvre cette démarche en utilisant le
projet Eclipse Modeling
© Copyright 2010
Obeo
- 3. Agenda
Qui suis-je où suis-je ?
Le MDA en 2000
2010 : du MDA à l'ingénierie des modèles
Mettre en oeuvre une démarche modèle pragmatique
© Copyright 2010
Obeo
- 4. Jérôme BENOIS
10 ans de Java...
Architecte – "Model Driven Expert" à
Obeo Network Community Manager
Committer , , EasyAnt
Implications / Contributions Open-Source :
Eclipse CDO, Eclipse MoDisco, Bushel, C-JDBC, UML2SVG, ...
Membre de l'OSS-GTP
http://blog.benois.fr & http://twitter.com/jeromebenois
© Copyright 2010
Obeo
- 7. Le MDA :
Model Driven Architecture
© Copyright 2010
Obeo
- 8. Le constat de l'échec !
« The CHAOS Summary Report » :
24% des développements applicatifs sont des échecs
84% des projets critiques n'atteignent pas leurs objectifs
54% ont rencontré des dépassements de coûts
79% ont des dépassements d'échéanciers
Le coût moyen d'une mise à jour technologique est
de 18% du coût original du projet, CIO Magazine
© Copyright 2010
Obeo
- 9. Comment diminuer les délais et les coûts de mes projets ?
Où sont mes spécifications à jour ?
Comment capitaliser le savoir faire de mes équipes ?
Comment être plus agile avec les évolutions ?
Les questions que se pose la DSI
© Copyright 2010
Obeo
- 11. La solution imaginée en 2000 par l'OMG
Utiliser des modèles pour monter en abstraction et
faciliter la communication métiers / IT
Séparation des aspects techniques et fonctionnels
Démarche basée sur les standards UML
© Copyright 2010
Obeo
- 13. CIM : Computation Independent Model
Il se concentre sur les
exigences du système :
Use Case Diagram
Sequence Diagram
© Copyright 2010
Obeo
- 14. PIM : Platform Independent Model
Il se concentre sur le
fonctionnement du
système indépendant de
toute plate-forme et
donc ne change pas
d'une plateforme à une
autre.
Class Diagram
Activity Diagram
State Chart Diagram
Sequence Diagram
...
© Copyright 2010
Obeo
- 15. PSM : Platform Specific Model
Il se concentre sur le
fonctionnement du
système basé sur une
plate-forme spécifique :
JavaEE, .Net, ...
Il est à l'image du code.
Class Diagram
Component Diagram
Deployment Diagram
...
© Copyright 2010
Obeo
- 17. Acceleo
Implémentation du standard
OMG MOF Model To Text Language
Un outil fait par des développeurs pour les développeurs !
Pragmatisme (génération incrémentale, ...)
© Copyright 2010
Outillage Eclipse (complétion, coloration syntaxique, ...)
Obeo
- 21. Le bilan
Avantages :
Amélioration de la productivité
Meilleure agilité technique et fonctionnelle
Inconvénients :
Difficulté à maintenir en cohérence les différents modèles
Risque de désynchronisation entre modèle et code
Intégrisme du "Tout modèle"
Lourdeurs des outils et standards UML
Déconnexion des générateurs en maintenance
© Copyright 2010
Obeo
- 23. UML : un vocabulaire générique et vaste pour
représenter le monde : trop vaste, trop générique !
DSL : un vocabulaire précis et concis pour
représenter une problèmatique (Domain Specific
Language) Plus simple à adopter
Plus paramétrable au métier
Plus simple à personnaliser
© Copyright 2010
Obeo
- 25. Garder les générateurs connectés en maintenance...
Enseignement n°3
Gouvernance,
Etudes d'impacts,
© Copyright 2010
...
Obeo
- 26. Le modèle doit rester :
un support de communication,
et un outil de productivité
© Copyright 2010
Obeo
- 27. N'oubliez pas vos bonnes pratiques d'ingénierie :
Svn/Git,
Build automatique et reproductible,
Intégration continue,
Tests automatisés,
Qualimétrie, ...
© Copyright 2010
Obeo
- 29. 2010
Du MDA
à
l'Ingénierie des modèles
© Copyright 2010
Obeo
- 30. Du MDA à l'ingénierie des Modèles
Une seconde génération de l'approche : on parle
d'Ingénierie Dirigée par les Modèles (IDM/MDE) : MDD,
MDSD, ...
Et des outils basés sur la plateforme Eclipse :
© Copyright 2010
Obeo
- 33. Le process
Le CIM et le PIM
deviennent des DSL
L'architecture cible est
décrit par les générateurs
de code
Le PSM est remplacé par
le code lui-même
© Copyright 2010
Obeo
- 34. La démarche
1 – Identifier le vocabulaire
manipulé (le DSL)
2 – Définir comment manipuler ce
vocabulaire
3 – Définir les générateurs de code
© Copyright 2010
Obeo
- 38. API EMF Java
Utile pour :
© Copyright 2010
Construire des outils
Obeo
Faire des imports depuis des sources d'information existantes ...
- 40. Ecrire un langage / un parseur ?
Flexible
Adaptable
Mais trop compliqué
pour nos besoins !
© Copyright 2010
Obeo
- 41. Un framework de développement de DSL textuel basé :
La plateforme Eclipse
EMF Eclipse Modeling Framework
ANTLR
© Copyright 2010
Obeo
- 42. Fonctionnalités
Label Provider (outline, hyper links, content proposals,
find, ...)
Content Assist
Quick Fixes
Template Proposals
Outline View
Hyperlinking
Syntax Coloring
Project Wizard
Classpath resolver : import mypackage.myEntity
© Copyright 2010
Obeo
- 45. Créer un DSL graphique : un DSM
Un environnement dédié
Paramétrage simples
Diagrammes hyper-ergonomiques
« Points de vue » pour l'analyse, l'architecte, …
Adaptable sur différents domaines
Basé sur Eclipse GMF
© Copyright 2010
O
EM
Obeo
D
- 46. Du DSM au point de vue !
Le système à modéliser
Le point de vue
● Analyse de performance
● Analyse d'exigences
● Fonction / Sous Fonction Les vues du
● Hardware / Software Système
● DBA ● Diagramme de blocs
● Urbaniste des services ● Diagramme de composants
● Orienté données ● Diagramme de séquences
● Orienté traitements
© Copyright 2010
● Tableur, Matrice
● Orienté sécurité
...
Obeo
●
Les vues du système
(les diagrammes)
- 55. Le mot de la fin...
DSL + DSM + Acceleo = Approche modèle efficace
© Copyright 2010
Obeo
- 57. Merci
jerome.benois@obeo.fr
© Copyright 2010
Obeo