Génie Logiciel avancé GIN4101
Enseignant:
Email:
Durée totale du cours: 45 H
Semestre : 5
Nombre de crédits : 3
| Modules
spécialisés |
Modules de
base |
Sciences et techniques de
l’ingénierie |
Préparation à la carrière professionnelle |
| X |
| Nombre d’heures | Activités hors classe |
| 45 | 38 |
| Code | : GIN4101 | Génie logiciel avancé |
Volume Horaire : 1h:30 Cours intégrés + Travaux pratiques (par semaine)
Objectifs d’apprentissage et compétences visées
- L’étudiant comprend et peut expliquer les avantages d’une méthodologie de développement
itérative et incrémentale.
- En fonction des caractéristiques d’un projet donné, l’étudiant est en mesure de sélectionner,
d’adapter et d’appliquer la méthodologie de développement appropriée.
- L’étudiant connaît des principes de conception et d’architecture avancés et peut les utiliser pour diriger la phase de conception d’un système.
- L’étudiant est conscient qu’un logiciel est un système complexe en évolution
- L’étudiant sait comment améliorer, étendre et intégrer des logiciels existants, tout en maintenant leur qualité.
Contenu du cours
- Principes et valeurs des méthodes de développement agiles
- Création de valeur
- Gestion du risque
- Culture d’équipe
- Relations clients
- Bonnes pratiques et techniques de gestion
- Gestion de la communication entre parties prenantes
- Revues de projets, Assurance qualité et Gestion des changements
- Planification itérative et incrémentale
- Méthodologies de développement modernes
- Vue d’ensemble et comparaison de différentes approches
- Unified Process (UP), eXtreme Programming (XP), Scrum
- Implications sur la gestion de projet
- Principes d’évolution :
- Développement, maintenance, évolution
- “Software aging”
- Compréhension du code
- Analyse et qualité du logiciel
- Métriques, Techniques de visualisation et Débogage systématique
- Contrôle de qualité continu
- Techniques de contrôle d’architecture
- Evolution de code hérité
- Re-Technologies : Reverse Engineering, Re-Engineering, Re-Factoring
- Re-engineering orienté objet
- Travailler efficacement avec du code hérité
Méthodes d’enseignement et d’apprentissage
- Enseignement frontal (magistral) avec des exemples à résoudre en
- Exercices théoriques et études de cas (présentation et discussion).
- Travaux pratiques (laboratoire)
- Travaux à faire à domicile (mini-projet, exposé, compte-rendu, …)
Connaissances et compétences pré-requises
- Conception et programmation orientée objet
Références bibliographiques
- Un polycopié (Notes du cours) de l’enseignant sera
- Autres références sous forme de tutoriaux, manuels ou documents à télécharger
Modalité d’évaluation
- 40% Contrôle continu (TP noté, Test, Assiduité, Devoir surveillé, travaux non présentiels, …)
- 60% Examen semestriel
- TP, Test, Assiduité, Travaux non présentiels, Mini-projets, … = 60% de Contrôle Continu
- Note de DS = 40% de Contrôle Continu
Résultats d’apprentissage :
Après avoir réussi ce cours, les étudiants seront capables de :
- Comment appliquer le cycle de vie du génie logiciel en démontrant des compétences en communication, planification, analyse, conception, construction et déploiement
- Une capacité à travailler dans un ou plusieurs domaines d’application importants
- Travailler individuellement et au sein d’une équipe multidisciplinaire pour développer et fournir des logiciels de qualité
- Démontrer une compréhension et appliquer les théories, modèles et techniques actuels qui fournissent une base pour le cycle de vie du logiciel
- Démontrer une capacité à utiliser les techniques et les outils nécessaires à la pratique du génie