objecteering mdday2010

14
www.modeliosoft.com www.modeliosoft.com Peut on être agile avec une approche Model Driven sur de grands projets ? Paris le 25 novembre 2010 by

Upload: md-day

Post on 26-Jun-2015

573 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Objecteering mdday2010

www.modeliosoft.comwww.modeliosoft.com

Peut on être agile avec une approche Model Driven sur

de grands projets ?

Paris le 25 novembre 2010

by

Page 2: Objecteering mdday2010

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

Page 3: Objecteering mdday2010

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

Page 4: Objecteering mdday2010

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

Page 5: Objecteering mdday2010

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

Page 6: Objecteering mdday2010

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

Page 7: Objecteering mdday2010

www.modeliosoft.com

Découpage en projet

• Un SVN par projet

• Couplage « lâche » entre projets par « composants de modèles »

7

Page 8: Objecteering mdday2010

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

Page 9: Objecteering mdday2010

www.modeliosoft.com

Customisation Modelio: Outillage Dédié

Modelio Teamwork manager

Paramétrage Modelio

9

Page 10: Objecteering mdday2010

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

Page 11: Objecteering mdday2010

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

Page 12: Objecteering mdday2010

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

Page 13: Objecteering mdday2010

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

Page 14: Objecteering mdday2010

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