Conclusion et résultats préliminaires
Tout au long de mon alternance j'ai pu me familiariser avec les
différentes approches des lignes de produits logiciel, la participation
à la maintenance de ces outils m'ont permis de me familiariser avec les
LPLs tout en ayant une vue plus complète des problématiques
autour de l'automatisation de ces dernières. Ayant été
dans la peau d'un informaticien en ligne de produit logiciel, j'ai pu ainsi
mettre en pratique mes connaissances acquises à ce poste pour planifier
cette automatisation. Notre approche a donc été guidée par
la volonté de faciliter le travail des développeurs. Le
développement et le suivi de la LPL était donc une de nos
priorités dans la conception de SPL Generator.
Pourquoi l'outil est-t- intéressant pour les
développeurs ?
Il se positionne comme un processus qui s'insère dans un
cycle de développement logiciel déjà établi. Il
s'adopte selon une stratégie hydrique, mêlant l'itératif de
la stratégie réactive et l'automatisation souvent
rencontrée dans la stratégie extractive. SPL Generator permet de
débuter la construction d'une nouvelle LPL selon une ingénierie
dirigée par la conception de nouveaux produits, ou de transformer une
famille de produits existant en une LPL. Le cycle de conception d'une LPL est
itératif : lorsque le besoin d'un nouveau produit se présente,
les développeurs peuvent réutiliser les artefacts d'une LPL en
générant un produit partiel, à travers la sélection
des caractéristiques qu'ils souhaitent inclure dans ce produit
partiel.
Et enfin il permet ainsi aux développeurs d'appliquer une
réutilisation systématique lors de la conception de nouveaux
produits, tout en construisant la LPL de façon automatique.
L'automatisation réduit l'effort d'adoption puisqu'elle libère
les développeurs des tâches de l'ingénierie du domaine et
d'application, et leur permet de se concentrer sur le développement de
leurs produits (tâche qu'ils maîtrisent déjà).
Le développement de l'outil SPL Generator a
débuté en Novembre 2018, et il est aujourd'hui au stade de la
finalisation. De nouvelles méthodes de features location devraient
être mises en place et sont sur le point d'être terminées et
testées sur notre outil.
Nous avons testé notre outil sur une version
très simplifiée de nos logiciels afin de voir si
l'intégrations des produits ainsi que toute l'ingénierie
fonctionnaient. Nous avons des taux proches de 100% pour l'intégration
des produits pour nos premiers tests.
Comme vue dans les parties précédentes, les
techniques de features location peuvent être améliorés cela
sera l'objet de nos prochains travaux et améliorations de notre outils
qui se déroulera durant les prochains mois.
Finalement notre outil SPL Generator s'appuie sur des techniques
innovantes d'ingénierie
RAPPORT D'ALTERNANCE 2018-2019 THOMAS PETIT
LPL avec des contributions inédites dans notre
façon méthodologie.
Une étude quantitative sur la réduction des couts
au sein de l'entreprise sera effectuée pour essayer de mesurer le gain
de notre approche SPL Generator.
L'ingénierie manuelle des LPL -à travers des
stratégies d'adoption que sont la proactive, la réactive et
l'extractive- nécessite un coût d'investissement
élevé, et l'emploi de développeurs experts pour concevoir
la LPL. L'ingénierie manuelle est un investissement sur le long terme
qui se trouve être risquée pour les entreprises.
Deuxièmement, les travaux existants qui tentent de réduire les
coûts de cette ingénierie par l'automatisation souffrent de
limitations qui font obstacle à leurs déploiements dans un
contexte industriel. Leurs limitations concernent et impactent principalement
la sortie du processus, à savoir la LPL obtenue. Notre outil SPL
Generator permet un processus automatisé pour l'ingénierie des
lignes de produits logiciels.
Durant cette alternance, j'ai pu construire un
outil d'aide à la création de lignes de produits logiciel. J'ai
pu détailler le fonctionnement général de mon outil SPL
Generator et son insertion dans le contexte industriel des développeurs
au sein de l'entreprise.
Notre processus s'applique aussi bien pour construire une
nouvelle LPL selon une ingénierie dirigée par les besoins de
nouveaux produits, ou bien pour migrer une famille de produits
préexistante vers une LPL. De plus, après migration, les
développeurs peuvent continuer d'appliquer notre outil pour ajouter de
nouveaux produits. Le cycle de conception d'une LPL est itératif et se
divise en trois phases : l'intégration, l'analyse et la
génération. Nous avons présenté ces phases en
détail dans les chapitres précédents.
10 Mai 2019
RAPPORT D'ALTERNANCE 2018-2019 THOMAS PETIT
J'ai pu tout au long de mon alternance, mettre en pratique des
connaissances acquises au sein de mes études, tel que la programmation
objet, et le management de projets. J'ai acquis de multiples compétences
dans le domaine de l'informatique, et plus particulièrement l'univers
peu connu des Lignes de produits logiciels. Piloter ce projet m'a permis d'en
apprendre plus sur le monde de l'entreprise mais aussi également sur
moi-même et mon rapport aux autres.
Dès Septembre 2019, nous allons mettre en production les
nouvelles méthodes pour la localisation de caractéristique et
allons tester l'outil dans une plus grande ampleur avec à la clef de
nouveaux résultats.
J'ai également eu le plaisir de signer un CDD de 1 an afin
de continuer cette aventure pour améliorer encore cette
automatisation.
J'aimerais encore remercier Laurent sans qui rien de tout cela
n'aurait été possible.
10 Mai 2019
RAPPORT D'ALTERNANCE 2018-2019 THOMAS PETIT
Voici quelques ouvrages qui ont servis à préparer
ce mémoire et à construire notre outil SPL GENERATOR :
M. M. Lehman. Laws of software evolution
revisited.(1996)
ANTON KHRITANKOV : « INDUSTRIALIZING SPL
DEVELOPMENT FOR SMALL COMPANIES » (2016)
Al-MsieDeen:
feature-location-in-a-collection-of-software-product-variants-using-formal-concept-analysis
(2014)
Ra'Fat Ahmad Al-Msie'Deen : Reverse Engineering
Feature Models From Software Variants to Build Software Product Lines
AOC-posets: a scalable alternative to Concept Lattices for
Relational Concept Analysis(Xavier Dolques, Florence Le Ber, and Marianne
Huchard) (2013)
Yinxing Xue : Feature Location in a Collection
of Product Variants (2000)
L. Bergroth :. A survey of longest common
subsequence algorithms, (2000) Magnus Eriksson. An
Introduction To Software Product Line Development.
10 Mai 2019
RAPPORT D'ALTERNANCE 2018-2019 THOMAS PETIT
|