GLG105 : Génie logiciel (6 ECTS)
Pré-requis
Pour tirer le meilleur parti de ce cours il est souhaitable de connaître les connaissances de base en informatique, dispensées en L1, L2.
Une connaissance générale, acquise dans d'autres cours ou dans la pratique, de la programmation, des systèmes d'exploitation et de l'architecture sera un plus.
Objectifs
Cette UE est destinée à donner un panorama complet des principales techniques et méthodes de base permettant de mettre en oeuvre des logiciels dont le principe est qu'ils fonctionnent correctement conformément aux besoins de ses utilisateurs.
Contenu
Ce cours est articulé sur la compréhension en profondeur du processus de développement logiciel de façon qu'un auditeur puisse se couler sans difficulté dans les différentes techniques et méthodes qu'il rencontrera dans sa vie professionnelle.
L’étude du processus de développement logiciel sera appréhendée à travers les différentes approches et technologies utilisées de nos jours dans le monde industriel en suivant une démarche similaire.
Cette UE est organisée en 5 modules principaux dont deux modules sur les approches et technologies déployées dans l’industrie en lien avec l’Agilité, le Cloud Computing, DevOps :
- Un module gestion de projet : l'importance de l'ingénierie du logiciel et des projets informatiques, les cycles de vie, le processus de gestion des projets informatiques, la nécessité de l'estimation des couts, des délais et de la gestion de la capacité, l'agilité notamment à travers la méthode Scrum et l’agilité à l’échelle.
- Un module conception et architecture des logiciels : la problématique de la modélisation, l'expression des besoins, l'analyse fonctionnelle, les modèles statiques et dynamiques, le paradigme objet.
- Un module validation, vérification et tests : définitions et concepts de base, tests boite noire et boite blanche. Mesures de couverture du code, couverture de test.
- Un module Cloud Computing : approche, intérêt, Cloud privée, Cloud publique, Cloud hybride, modèles de déploiement IaaS, PaaS et SaaS, gouvernance, aspects financiers, move to cloud, sécurité. Aspect technologique avec la virtualisation et l'approche container ainsi que l'architecture sous-jacente, le Datacenter.
Les différents notions, machine virtuelle, mise à l’échelle, Load Balancing, IoT seront présentées à travers le Cloud public Microsoft Azure. - Un module DevOps, gestion de configuration/version : Exemple de Git/GitHub, approche CI/CD intégration continue / déploiement continue, architecture et modèle de déploiement.
L’utilisation d’un Cloud public et d'exemples en JavaScript et Node.js serviront à illustrer les différents concepts,
Il sera souligné l'importance de l'architecture et des concepts architecturaux. Une attention sera portée à la prise en compte des aspects non fonctionnels du logiciel dans leur développement.
A ces modules, pour compléter le panorama, s'ajoutent un cours de sensibilisation, concernant l'assurance qualité logicielle. Concept transverse indispensable à prendre en compte dans tous les projets informatiques.
Modalités de validation
Examen 3h.
Formations
Cette unité d'enseignement est dispensée dans les formations suivantes :
- Licence générale Informatique parcours Informatique Générale (L3) (LG02501A)
- Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Cybersécurité (CRN0803A)
- Titre RNCP Niveau 6 Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) parcours Systèmes d'information (CRN0802A)
- Diplôme d'ingénieur informatique parcours Cybersécurité (CYC9106A)
- Ingénieur Informatique parcours Informatique, Réseaux, Systèmes et Multimédia (IRSM) (CYC9104A)
Cette unité d'enseignement n'est dispensée dans aucun centre pour le moment.
N'hésitez pas à revenir consulter cette page régulièrement.