ECTS
30 crédits
Composante
ENSEIRB-MATMECA
Code interne
EIS9GL
Liste des enseignements
UE I9GL-A - Méthodologie
5 créditsUE I9GL-B - Conception et Validation de logiciels
5 créditsUE I9GL-C - Ingénierie des données
5 créditsUE I9GL-D - Architecture distribuée et mobile
5 créditsUE I9GL-E - Personnalisation
5 créditsUE Langues et culture de l'ingénieur
5 crédits
UE I9GL-A - Méthodologie
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Test du logiciel
Composante
ENSEIRB-MATMECA
Le test logiciel contribue à assurer la qualité des produits logiciels de l'entreprise : il s'inscrit dans un processus plus global d'Assurance Qualité au sein des entreprises.
L'activité de test se structure dans un niveau stratégique (Organisation des tests dans un objectif de répondre aux exigences de la politique qualité) mais également dans un niveau tactique (Implémentation opérationnelle de la stratégie : règles, prérequis et les standards qui doivent être satisfaits pour répondre aux objectifs de la stratégie)
Elle décline de ce fait toutes les activités de test dans un processus de test structurée (niveaux de test, Phases et étapes de test) en s'appuyant sur des outils et méthodes de test adaptives (fondamentaux : Typologies, Techniques de test standards)
L'objectif de cet enseignement est de comprendre comment piloter et organiser les tests dans une logique de couverture des exigences et de maitrise des risques produits.
Conduite de projet
Composante
ENSEIRB-MATMECA
Objectif :
L'objectif du cours est d'apprendre et de mettre en œuvre des techniques de conduite de projet appliqués à un projet informatique
Dans le cadre du cours les notions suivantes sont abordées :
- Définition d'un projet, place des projets dans les entreprises, différentes phases d'un projet (initialisation, exécution, clôture)
- Gestion et planification des tâches, suivi, contrôle, gestion des risques et des changements
- Suivi budgétaire et financier
- Test, validation et contrôle qualité et livraisons
- Communication et management d'équipe
- Méthodes agiles : rappels et introduction à l'agilité à l'échelle
Le cours a pour objectif de fournir un ensemble d'outils permettant de comprendre, d'appréhender et/ou de gérer un projet dans une organisation donnée. Des mises en situations et des exercices pratiques sont réalisés, illustrés d'exemples de cas réels issues de la vie des projets et des entreprises.
Plan
1. Les entreprises et les projets
Fonctionnement des organisations : rôles, entités, interactions
Le logiciel en tant que clé de transformation des entreprises
Qu'est-ce qu'un projet ?
Le rôle d'un chef de projet et sa place dans l'organisation
Types et exemples de projets
Projets vs autres activités dans les organisations
2. L'introduction au pilotage de projet
Comprendre le besoin - le pourquoi du projet
L'identification des parties prenantes : client, fournisseur, sous-traitant et autres acteurs
Les différentes phases d'un projet
Equipe projet : constitution, animation, motivation, coordination
L'importance de la communication (relation client, coordination des acteurs, reporting au sein de l'entreprise)
3. Initialisation d'un projet
Démarrage du projet : cadrage du besoin, cahier des charges, définition du périmètre Méthode Agile, Cycle en V, Méthodes itératives : comment choisir ?
Constitution de l'équipe projet
Rôles et responsabilités (RACI)
Documentation projet
Définition des jalons du projet
Identification et évaluation des tâches
Evaluation de la charge (chiffrage) et planification budgétaire
Réalisation d'un plan d'exécution / plan de production
Identification et gestion des risques
4. Exécution d'un projet
Suivi et contrôle qualité
Suivi et reporting financier
Gestion des incidents et des problèmes
Gestion des changements
Tests et livraison des produits
5. Communication et Management
Réunion d'équipe (suivi d'avancement, suivi d'incident, gestion de crise)
Entretien de motivation et recadrage
Relation client-fournisseur : communication écrite et orale
Préparation et animation d'une réunion et rédaction d'un compte-rendu
Négociation : un exercice difficile
Incident, crise et escalade
6. Approches agiles
Les méthodes Agiles (Scrum, Kanban, XP, Lean)
DevOps - Technique ou Culture ?
Pilotage par la valeur, projet vs. flux et "centricité client"
L'agilité à l'échelle (prérequis, conditions)
Introduction à SAFe
SAFe : Trains agiles, techniques et outils (suivi, contrôle qualité, estimation de charge, organisation des équipes)
SAFe : L'agilité à tous les niveaux de l'organisation
Urbanisation et Architecture des Systèmes d'Information
Composante
ENSEIRB-MATMECA
I. Introduction à l'urbanisation : l'urbanisme du SIII. Rôle de l'urbanisme des SIIII. Les outils méthodologiquesIV. Les outils techniquesV. Conclusion : La mise en œuvre
Intervenant: Olivier FOUQUET
UE I9GL-B - Conception et Validation de logiciels
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Spécification et preuve formelle de programmes
Composante
ENSEIRB-MATMECA
Maîtriser les concepts fondamentaux de la spécification et de la preuve formelle de programme.
Acquérir des compétences pratiques dans ce domaine.
Conception orientée objet
Composante
ENSEIRB-MATMECA
Intervenants: Georges Eyrolles, Philippe Narbel
Ce cours présentera les principes généraux de conception des architectures logicielles, et tout particulièrement ceux qui s'appliquent aux architectures orientées-objet. Les cinq principes dits SOLID (responsabilité unique, ouvert/fermé, substitutivité de Liskov, ségrégation des interfaces, inversion des dépendances) y seront définis et développés en détail, que ce soit dans leur mise en oeuvre, leur conséquences, leurs qualités et leurs défauts. Ces principes seront par ailleurs illustrés et mis en relation avec despatrons de conception classiques (Design Patterns), comme par exemplel'Adaptateur, le Composite, le Décorateur, le Médiateur, la Stratégie, le Visiteur. Ces derniers seront donc également introduits et définis.
Même si les notions et les concepts y seront présentés avec toute la rigueur qu'ils méritent, ce cours fera la part belle aux expériences, aux exercices pratiques, et aux études de cas.
BIBLIOGRAPHIE : - Agile Software Development. Robert Martin. Prentice Hall. 2003. - Working Effectively with Legacy Code. Feathers, Prentice Hall. 2005. - Design Patterns. Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides. Addison-Wesley. 1995. (livre appelé aussi "GoF" pour "Gang of Four") - Pattern Hatching: Design Patterns Applied. John Vlissides. Addison-Wesley. 1998. - Object-oriented Software Construction. Bertrand Meyer. Prentice-Hall. 1988, 1997. - Object-Oriented Modeling and Design with UML. Blaha and Rumbaugh. Prentice Hall. 1991, 2005. - Large-Scale C++ Software Design. John Lakos. Addison-Wesley. 1996. - Design Patterns for Object-Oriented Software Development. W. Pree. Addison-Wesley. 1995. - Structured Analysis and System Specification. DeMarco. Prentice Hall. 1979. - Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon and Constantine. 1979. - The Practical Guide to Structured Systems Design. Page-Jones. Prentice Hall. 1988
PLAN :
- Architectures logicielles, composants, dépendances. - Substitutivité. - Couplage et cohésion. - Responsabilités, séparation des rôles. - Ségrégation. - Concept de l'ouvert/fermé.
UE I9GL-C - Ingénierie des données
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
DevOps pour les données
Niveau d'étude
Bac + 5 - Master, DEA, DESS, diplôme d'ingénieur
Composante
ENSEIRB-MATMECA
Ce cours vise à familiariser les étudiants avec avec les outils et les pratiques liés à l'utilisation de DevOps dans le contexte de la gestion et de l'analyse des données. Les étudiants apprendront à appliquer les principes de DevOps pour créer des pipelines efficaces de collecte, de traitement, et d'analyse des données à grande échelle.
- Concepts et principes fondamentaux de DevOps
- Conteneurs, Docker
- Fondamentaux NoSQL - TP Redis utilisant Docker
- Indexation, Clustering - TP MongoDB utilisant Docker
- Cloud - TP BigQuery
- Kubernetes
- Batch processing - TP Airflow utilisant Kubernetes
- Streaming processing - TP Kafka utilisant Kubernetes
Gestion et analyse de masse de données - Big Data
Composante
ENSEIRB-MATMECA
1- Introduction à la problématique BigData
-Notion d'ordre de grandeur
-Enjeux scientifiques/sociétaux/économiques.
-Problèmes
2- Notion de base sur le fonctionnement d'un système distribué à grande échelle.
-Introduction à l'éco-système hadoop
-Notion élémentaire administration hadoop
3 Introduction sur les systèmes de fichiers distribués.
-HDFS : principe fonctionnement.
-Utilisation du client HDFS
-Introduction au framework JAVA de programmation pour la manipulation de HDFS
4 Introduction au paradigme de programmation Map/Reduce
-Principes élementaires
-Mise en place avec Hadoop/HDFS
-Introduction au framework Java de programmation MapReduce Hadoop2.
5 Introduction au design pattern Map/Reduce
-Filtration
-Summarization
-Organization
-Jointure
6 Introduction au BigTable (nosql)
-Démistification des BigTable
-Introduction au Big Table de Hadoop HBASE
-Présentation du framework de programmation Java pour HBASE
UE I9GL-D - Architecture distribuée et mobile
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Applications concurrentes et distribuées
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est de comprendre la pertinence des applications concurrentes et distribuées.
A travers la mise en œuvre de deux programmes construit itérativement durant le semestre, le cours introduit les bases et les concepts utilisés dans les applications modernes. Des technologies couramment employées en entreprise comme Java, Spring, Kafka et Maven sont utilisés afin de familiariser l'étudiant à leur usage et faciliter une future montée en compétence sur des technologies similaires
Programmation concurrente
Processus vs Thread
Programmation multi-thread
Les difficultés du multi-thread
Comment concevoir des applications multi thread
HTTP et socket
Création d'un serveur web multi-thread
Programmation distribuée
Préambule : IOC et injection de dépendance
Serveur REST
Client REST
Architecture 3-tiers
Architecture distribuée
Introduction à un bus de message
Producer et consumer
Notion de haute disponibilité
Sérialisation / Désérialisation
Service asynchrone
Développement d'applications mobiles
Composante
ENSEIRB-MATMECA
1/ Introduction au monde mobile, premier pas avec Android Bref historique avec une mise en perspective de ce qu'était le monde mobile avant les smartphones Détail de comment fonctionne Android, comment les applications sont gérées par le système TP : Première application type "Hello world!" 2/ Construction des interfaces, premier design pattern Comment Android gère l'affichage d'un écran Explication du design pattern MVP (Model View Presenter) utilisé par Android Aperçu de la gestion des multiples résolutions TP : Réalisation d'interface pour une application simple sur téléphone et tablette 3/ Navigation et transmission d'informations Comment Android gère le passage d'un écran à l'autre Méthode pour passer les informations d'un écran à l'autre Stockage et restitution des informations TP : application constitué de plusieurs écran, dont certains ont un état persistant même une fois l'application arrêtée 3/ Appel à des webservices Présentation des appels aux webservices Sensibilisation sur les contraintes techniques liés à leur consommation TP : application appelant plusieurs webservices 4/ Mise en place d'une architecture en couche Réflexion autour d'une application appelant plusieurs webservices Présentation d'une architecture en couche dans une application Android TP : Mise en pratique d'une architecture en couche 5/ Utilisation des fonctionnalités Android Gestion des permissions Accès aux services d'Android TP : Utilisation de plusieurs services combinés (Téléphone, GPS, Multimédia, Web...)
UE I9GL-E - Personnalisation
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Module libre d'informatique
Composante
ENSEIRB-MATMECA
Ce module sera en fait un module pris dans une autre option,
choisi individuellement par l'élève d'une liste de modules sans prérequis.
Méthodologie et outils logiciels
Composante
ENSEIRB-MATMECA
Ce cours a pour but, à l'aide d'un projet transversal, d'acquérir des compétences sur les méthodes et les technologies les plus récentes pour aider au développement d'applications. Par équipe de 5 étudiants, les étudiants réalisent un projet et mettent en oeuvre les connaissances vues dans plusieurs cours de l'option.
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.