UVSQ EDF R&D Procédés de réutilisation pour les lignes de produits logiciels Yuanyuan XU, Bruno TRAVERSON - INFORSID Mai 2008
Introduction Approches existantes Approche proposée Expérimentation Conclusion
Introduction
1 Contexte Approches pour réduire les coûts et les délais de mise à disposition des applications: - Ingénierie pour et par la réutilisation - Ligne de produit logiciel Limitation d’applicabilité Gestion de la variabilité dans un domaine particulier Adaptation dans des domaines différents Nouveaux procédés Allier la généralité d’ingénierie pour et par la réutilisation et l’efficacité de ligne de produit logiciel Introduction
Approches existantes
5 Ingénierie pour et par la réutilisation Design for & with reuse permettant de construire un système en réutilisant des composants existants ayant été produits à l’occasion de développements antérieurs Approches existantes Ligne de produits logiciels [Software Engineering Institue (SEI)] “ A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a common set of core assets in a prescribed way”
2 Ingénierie des composants pour la réutilisation Ingénierie d’application par la réutilisation Bibliothèque des composants réutilisables Ingénierie pour et par la réutilisation
3 Applications existantes Connaissance de domaine Identification Spécification Organisation Ingénierie des composants pour la réutilisation
4 Application souhaitée Expression de besoin Recherche et Sélection Adaptation Intégration Bibliothèque de composants réutilisables Ingénierie d’application par la réutilisation
6 Ingénierie de domaine Ingénierie d’application Bibliothèque des assets Ligne de produits logiciels
7 Expression de besoin pour le produit C Analyse de Domaine Conception de Domaine Implantation de Domaine Ingénierie de Domaine Expression de besoin pour le produit B Expression de besoin pour le produit A Exigences de Ldp Architecture de Ldp Composants de Ldp Ingénierie de domaine
7 Exigences de Ldp Architecture de Ldp Composants de Ldp Ingénierie d’Application Exigences d’Application Conception d’Application Implantation d’Application Expression de besoin pour le produit X Produit X Ingénierie d’application
8 Similitude Pour réduire coûts et délais de réalisation Différences - Enchaînement d’ingénierie Séquentielle VS Parallèle - Prise en compte de la variabilité Généricité VS Variabilité - Contexte de réutilisation Composants réutilisables VS Assets - Effort d’adaptation Produits différents VS Produits similaires Comparaison
Approche proposée
Partie vient de design for & with reusePartie vient de Ldp Ingénierie des assets pour et par la réutilisation Ingénierie des produits pour et par la réutilisation Ingénierie de domaine par la réutilisation Ingénierie de domaine par la réutilisation Assets Ingénierie des assets pour la réutilisation Assets réutilisables Ingénierie d’application par la réutilisation Ingénierie d’application par la réutilisation Produits Ingénierie des produits pour la réutilisation Produits réutilisables Partie vient de Ldp Partie vient de design for & with reuse Approche proposée
Discussion Réulisation maximum dans les lignes de produits En amont : asset En aval: produit LDP traditionnelle/ Proposition Adaptation d’éléments d’autres domaines d’application Possibilité de désactiver les fonctions de réutilisation s’il n’y a pas besoin de réutilisation
Expérimentation
Produit X1 ……………..Produit Xn Transformation en asset Assets Transformation en produit Produit Xm Analyse de Domaine Conception de Domaine Implantation de Domaine Ingénierie de Domaine Exigences de Ldp Architecture de Ldp Composants de Ldp Ingénierie d’Application Exigences d’Application Conception d’Application Implantation d’Application Plugin LDP
GrapheDeCalcul GrapheInteractive GrapheParametre ExecutionParalle ExecutionSerie GrapheDonneeExplicite GrapheDeCalcul GrapheInteractive GrapheParametre GrapheScriptPython ExecutionMixte Application APPLI_A Application APPLI_B
L’asset déduite de APPLI_A et de APPLI_B GrapheDeCalcul_asset > GrapheInteractive_asset > GrapheParametre_asset > GrapheScriptPython_asset > ExecutionParalle_asset > ExecutionMixte_asset > ExecutionSerie_asset > GrapheDonneeExplicite_asset > Application APPLI_C GrapheDeCalcul GrapheInteractive GrapheParametre ExecutionParalle ExecutionMixte ExecutionSerie GrapheDonneeExplicite
Conclusion
Proposition d’approche - Fusion de deux approches - Décrire détail des activités Prototype - Réalisation d’un prototype - Continuer ce prototype l’adapter à notre proposition Expérimentation - Deux études de cas - Valider les architectures de Ldp Bilan & Perspective
Merci pour votre attention QUESTIONS