Passer au contenu principal

MGL869D Sujets spéciaux I en génie logiciel : L’ingénierie de mise en production des versions logiciel

Cours offert à la session d'automne 2022.

L’objectif du cours est d'initier les étudiants et étudiantes à l'ingénierie de mise en production de nouvelles versions logiciel et des méthodes avancées appliquées à ce domaine. L’ingénierie de mise en production est la discipline de la configuration, l’intégration, la construction (build), le déploiement et la publication de nouvelles versions logiciel ainsi que la collecte et l’analyse de la télémétrie. L'ingénierie de mise en production est une partie fondamentale du monde du DevOps. C’est l’ingénierie qui a permis à un grand nombre d'entreprises d’améliorer la qualité de leurs logiciels et d'accélérer la livraison de nouvelles fonctionnalités aux clients avec une fraction des coûts. Grâce aux pratiques de cette ingénierie, des start-ups comme IMVU sont capables de réaliser des nouvelles versions 50 fois/jour. De même pour des grandes entreprises comme Facebook (trois nouvelles versions/jour) et des navigateurs web comme Google Chrome qui eux réalisent des nouvelles versions sans que les clients ne s’en aperçoivent.

Le cours introduira les principes de bases ainsi que des techniques avancées liés à l’ingénierie de mise en production des versions logiciel tel que :

  • l’intégration continue ainsi que la prédiction des bogues via des modèles d’apprentissage machine;
  • la révision de code;
  • la gestion de configuration et la qualité des systèmes hautement configurable;
  • les modèles de publications de nouvelles versions;
  • les traces d’exécution (log) ainsi que la prévention et prédiction des pannes (p. ex. node failure) via des méthodes d’apprentissage machine comme le AiOPs;
  • la fouille des référentiels de logiciels modernes (p. ex. Git, DockerHub).
Responsable Département de génie logiciel et des TI