Anti-Patterns pour la modélisation des processus de développement Leblanc Hervé [1], Millan Thierry [1], Canals Agusti [2], Rossignol Alain [3] [1] IRIT-UPS [2] C-S [3] ASTRIUM-EADS Mardi 16 mai 2006 Journée NEPTUNE
Contexte Formalisation de processus de développement matériels et logiciels existants Etude appliquée en particulier dans le cadre du projet TOPCASED Mardi 16 mai 2006 Journée NEPTUNE
Modélisation d’une démarche Définir l'objectif de la construction d'une méthode A base de méthodes Construire une méthode Stratégie d'instanciation Stratégie d'assemblage Stratégie d'utilisation d'un support logiciel From scratch Stratégie Ad-hoc Stratégie d'utilisation de langage Stratégie de construction à base de patrons Stratégie de correction Stratégie de comparaison Stratégie d'évaluation Schéma d’après Jolta Ralyté Mardi 16 mai 2006 Journée NEPTUNE
Le SPEM : support de modélisation (1) Stratégie d’instanciation Role Product Activity uses * input output produces isResponsibleFor 1 assists performs Guidance * Mardi 16 mai 2006 Journée NEPTUNE
Le SPEM : support de modélisation (2) Stratégie d’assemblage Notion de composants Stratégie d’utilisation d’un support logiciel Editeur UML « profilable » Générateur d’éditeur de modèles conformes à un méta-modèle La suite Apes Eclipse Process Framework Mardi 16 mai 2006 Journée NEPTUNE
Patterns et anti-patterns Modèle de référence réutilisable par adaptation à un problème de modélisation récurrent Anti-pattern Ensemble de « mauvaises pratiques » et d’éléments de solutions permettant d’y remédier Mardi 16 mai 2006 Journée NEPTUNE
Les anti-patterns identifiés Mardi 16 mai 2006 Journée NEPTUNE
Anti-patterns dans les démarches La transformation cachée Le produit fantôme La pléthore de guide Role Product Activity uses * input output produces isResponsibleFor 1 assists performs Guidance * 1..* L’homme à tout faire Les grands principes La granularité hétérogène Le voyageur de commerce Mardi 16 mai 2006 Journée NEPTUNE
Le voyageur de commerce Définition architecture fonctionnelle Génération automatique ou réécriture Mapping architecture fonctionnelle sur une architecture physique Partitionnement HW-SW plateforme Remise à niveau de la spécification des composants Mapping complet [oui] [non] Simulation applicative Définition architecture fonctionnelle Génération automatique ou réécriture Mapping architecture fonctionnelle sur une architecture physique Partitionnement HW-SW plateforme Wrapper abstraction ou réécriture Mardi 16 mai 2006 Journée NEPTUNE
Le produit fantôme ? Extraction de la sémantique Description formelle (UML) ? Les spécifications informatiques Génération automatique du code Les spécifications informatiques Développement des spécifications exécutables Spécification transactionnelle (TL3) Simulation applicative Mardi 16 mai 2006 Journée NEPTUNE
La granularité hétérogène Définir ou finaliser l’architecture Formaliser les modes opératoires du logiciel complet Mardi 16 mai 2006 Journée NEPTUNE
L’homme à tout faire La description des intervenants se limite uniquement à la responsabilité des activités voire au chef de projet Mardi 16 mai 2006 Journée NEPTUNE
La pléthore de guides Le processus mentionne un ensemble de guides mais l’étude des activités montre que certains ne sont pas employés Mardi 16 mai 2006 Journée NEPTUNE
Les grands principes Analyser les spécifications des sous-ensembles du logiciel Concevoir l’architecture détaillée de chacun des sous-ensembles du logiciel Mardi 16 mai 2006 Journée NEPTUNE
Bilan et recommandation Préciser la sémantique des éléments de modélisation Structurer précisément les différents produits Homogénéiser les différentes activités Lever les ambiguïtés de la démarche Utilisation d’outils de Workflow Documentation Planification Des anti-patterns aux patterns Mardi 16 mai 2006 Journée NEPTUNE
Questions Mardi 16 mai 2006 Journée NEPTUNE