Génie logicielle avancée

Description

Le génie logiciel consiste en l’adaptation des techniques de l’ingénierie aux activités de développement informatique sujettes à des contraintes de coût et de temps. Chapeautant le développement informatique lui-même, cette discipline s’attaque à des problématiques clés relevant des méthodologies de développement, incluant la programmation, le test/vérification, et les notions de gestion de projet. Le but de ce module est de familiariser les étudiants avec des concepts liés au développement de logiciels complexes à grande échelle, où réaliser un produit informatique de qualité tout en collaborant et gérant des ressources limitées est d’une importance primordiale. Le module comporte une forte composante “projet” qui s’étale sur neuf semaines, où les étudiants travaillent en groupe de 6-7 personnes pour développer une application informatique d’envergure.

Syllabus

Sujets centraux

  1. Standards de modélisation (UML)
  2. Test et Test-Driven Development (TDD)
  3. Patrons de conception (Design patterns)
  4. Méthodologies agiles (SCRUM, eXtreme Programming)

Sujets potentiellement traités

Pré-requis

Les pré-requis ci-dessous sont fortement souhaités (mais non obligatoires) :

  1. Avoir suivi les cours Conduite de Projet (L2) et Introduction au génie logiciel (L3).
  2. Avoir programmé en Java