معلومات
Soutenance de Doctorat de Mr Boubakir Mohamed


التاريخ : 27 May 2021
المكان : Université Constantine 2
نٌظٍّم من قبل الفريق MFGL
الكلمات المفتاحية
Lignes de produits logiciels Features Variabilité
الوصف

L’ingénierie des lignes de produits logiciels (SPLE: Software Product Line Engineering) est considérée comme une solution importante pour améliorer la productivité et réduire les coûts de développement. Cette approche favorise la réutilisation systématique des artefacts logiciels et se concentre sur le développement d’une famille de produits, plutôt que d’un produit à la fois.  En pratique, les Lignes de Produits Logiciels (LDPs) sont généralement extraites à partir de variantes de produits similaires développées de manière ad-hoc (en utilisant la technique du copier-coller-modifier par exemple). Nous présentons dans cette thèse une approche pour extraire automatiquement une ligne de produits logiciels à partir d’une collection de variantes de produits similaires et évoluer une ligne de produits existante en y intégrant de nouvelles variantes.  L’approche est appliquée sur des modèles et produit une ligne de produits représentée par deux modèles.  Le premier modèle permet de représenter les variantes du modèle d’entrée de manière compacte, tandis que le second spécifie la variabilité entre ces variantes. L'approche est basée sur un processus incrémental, dans lequel les variantes du modèle d’entrée sont successivement intégrées dans la ligne de produits.   Notre  approche  nécessite  de  composer  un  ensemble  de  modèles.   Par  con- séquent, nous avons consacré une partie de cette thèse à la composition de modèles qui consiste à combiner les informations d’un ensemble de modèles en un seul modèle. La composition du modèle est considérée comme une étape importante dans diverses pratiques  de  génie  logiciel.   nous avons  proposé  une  approche  de  composition  de modèles par paires.  Cette approche vise à fournir de meilleurs résultats en tenant compte de l’ordre de composition des modèles d’entrée. Elle propose de combiner des modèles dans un processus itératif jusqu’à obtenir un seul modèle.  A chaque itération, nous comparons d’abord chaque paire de modèles afin de mesurer la similarité entre eux et identifier les correspondances entre leurs éléments. Ceci est effectué en utilisant deux opérateurs basés sur des heuristiques respectivement nommés compare et match. Ensuite, nous identifions les paires de modèles les plus similaires et les composons à l’aide d’un opérateur proposé appelé merge. Nous avons implémenté les deux approches proposées et nous les avons évaluées sur un ensemble d’études de cas.