2. www.modeliosoft.com
Combiner les avantages de
Modélisation, MDA, Grands projets, Agilité
• Trop souvent, Modélisation/Agilité ou MDA/Grands projets sont
perçus comme antinomiques
• MDA nécessite une organisation d’équipe dédiée, des outils
adaptés pour passer à l’échelle de grandes équipes
• Domaines essentiels souvent rébarbatifs pour les développeurs
peuvent être facilités par une approche guidée par le modèle
– Gestion de version et configuration,
– Intégration,
– Validation,
– Organisation du travail de groupe
2
3. www.modeliosoft.com
Retour d’expérience: le projet
• Pas de théorie, mais une recherche pragmatique de solutions de confort pour
un développement de qualité
• Développement interne de l’outil Modelio … avec l’outil Modelio
• Plusieurs technologies: C++, Java, Modules MDA Modelio (Java et API
Modelio). 3000 Classes; 15 .. 25 Intervenants.
• Framework spécifique Modelio (gestion de la persistance, de la cohérence,
règles de présentation, gestion des transactions, gestion de l’identification,
production d’API Java …)
• Production automatisée MDA: Metamodèle Framework
• Développement d’un produit (compatibilité ascendante, branches de version,
…) en évolution depuis … 1991.
3
4. www.modeliosoft.com
L’adhésion des responsables et développeurs: Une
nécessité
• Le développeur doit percevoir le gain: productivité, coopération
facilitée, niveau de procédure et qualité garantis
• Le responsable doit percevoir le gain en qualité et productivité
• La coopération des contributeurs est indispensable: discipline
acceptée et collectivement encouragée
• Tous les développeurs ont le même environnement (toolkit):
version de Modelio, extension, IDE, chaîne de production. Mise
à jour centralisée.
4
5. www.modeliosoft.com
Organisation d’un projet : Synoptique
Model Driven, MDA, Intégration continue
? Corrections faites par tel développeurs
? Anomalies corrigées
? Interventions sur tel composant
5
6. www.modeliosoft.com
Les outils supports
• Modelio : Modélisation, génération de code
• Modules Modelio: Java Designer, C++ Designer, MDA Designer, Teamwork
manager, Document Publisher
• Extensions Modelio dédiées au support du processus de développement
(modules Java spécifiques) : intégration avec les autres outils, automatisation
de procédures, génération automatique vers framework interne de gestion
de modèles
• Eclipse : IDE développements Java
• MS Visual Studio IDE développements C++
• Subversion : gestion de version et configuration, utilisé via le coupage natif
Modelio Teamwork Manager.
• Mantis : gestion d’anomalie. Application web.
• Testlink : gestion des tests
• Hudson : production automatisée d’applications.
6
8. www.modeliosoft.com
Coopération au niveau du modèle
Obligations du participant:
• Ne pas réserver trop longtemps des parties
de modèle
• Compiler/tester avant de livrer
• Documenter sa livraison (ce qui est modifié,
pourquoi, comment, impacts sur validation,
…)
Etapes
8
10. www.modeliosoft.com
MDA: plusieurs pratiques au sein du même projet
• Génération complète (Metamodèle framework): Travail exclusif au niveau
du modèle
• Génération partielle (conception technique): Génération en mode « Model
Driven ». Le modèle est maître. La modificication de code est encadrée
(balisée). Architecture globale, classes essentielles et structurantes.
• Génération « roundtrip » (codage): Le code est maître. génération depuis
modèle, modification/synchronisation à partir de code. Classes techniques,
complémentant l’architecture (ex: IHM, « ActionListener », …)
Le développeur doit respecter les modes « Model Driven » dans ses
interventions
La GVC et la coopération sont constamment gérés via le modèle (code
100% reproduit depuis modèle et extensions)
10
11. www.modeliosoft.com
Passage à l’échelle MDA: on évite
• Cascade de transformations de modèles/mises à jour
manuelles
– Mise à jour des modifs d’un modèle vers un modèle transformé: OK
– Mise à jour des modifs d’un modèle vers un modèle transformé
modifié manuellement
• Plusieurs modèles/artefacts partiellement déduits les uns des
autres, chacun gérés en configuration (ex: modèle et code
séparés)
• Un modèle de haut niveau sur lequel interviennent un
nombre limité de personnes génère/met à jour des
modifications disséminées dans un modèle de plus bas niveau
sur lesquelles interviennent plusieurs personnes
11
12. www.modeliosoft.com
Modelio : Des outils pour assister les développeurs
sur les grands projets
Diff/Merge de modèles Analyse d’impact sur modèles
12
13. www.modeliosoft.com
Gains de productivité: ne pas oublier l’essentiel
• Coût codage = 30% coût de réalisation
• Coût de réalisation = 30% coût de possession d’un logiciel
Maintenabilité constitue un enjeu très important
• Une approche guidée par le modèle bien gérée
– Améliore l’analyse et la conception, l’architecture
– Automatise (partiellement) le codage
– Assiste la gestion de configuration, de version, test et validation
donc améliore la maintenabilité
• Gains obtenus par des procédures et de l’outillage
adaptés.
13
14. Téléchargez le white paper
Téléchargez Modelio Free Edition ou Modelio Enterprise Edition
www.modelio.fr
Téléchargez les extensions - plug-ins Modelio - (SoaML, Tests for
UML, …) disponible en open source sur:
www.open-modelio.sourceforge.com
Evaluez Modelio Enterprise Edition, téléchargez
Modelio Free Edition, regardez des démos, ou
découvrez les autres atouts de Modelio !
M o d e l i n g S o l u t i o n s