Cette UE est destinée à l’approfondissement des concepts de base du génie logiciel. Le but est de faire prendre conscience à l’étudiant des différentes parties nécessaires au développement logiciel et qu’il peut appliquer ces concepts quelque soit la technologie. L’enseignement se découpe en plusieurs modules.
Un premier module porte sur la modélisation UML. Il est question ici de démontrer que c’est un outil de communication avant tout. Entre le client et le chef de projet, entre les développeurs… Pour cela des TP sont mis en place pour confronter sur un même sujet des modélisations différentes.
Un deuxième module est consacré aux design patterns. Il est question ici de principes de bases qu’il faut appliquer pour obtenir un code robuste et réutilisable. Afin de faire comprendre que les design patterns sont avant tout des outils peu importe la technologie, il est demandé aux étudiants d’appliquer cet outil en Ruby.
Un troisième module est basé sur le versionnage de code avec Git. Nous reprenons tous les fondamentaux de la collaboration sur du code.
Enfin le dernier module est consacré à l’intégration continue avec GitLab CI. Le but est de comprendre les fondamentaux de l’intégration continue et exécuter les premiers pipelines de déploiement.