Course materials for ESIR2 students

ESIR2-SI-S7-VV

Lectures

Professor: Benoit Combemale

Except the introduction, all lectures will rely on pre-recorded videos* that you can watch asynchronously, at the latest during the slot scheduled in your agenda. The last 30 minutes of each lecture slot will be dedicated to office hours (on the Teams' group dedicated to the course), where we can discuss on questions you have on the lecture.

If you need reminders on object-oriented programming, please, go through the videos of chapters #1, #2 and #3.

Date Lecture Material Comment
Dec. 10th, 2020 (8h-10h) Introduction welcome and introduction to modeling synchronous introduction on Teams (team VV2020)
Dec. 10th, 2020 (10h-12h) SOLID videos (chapter #4) asynchronous videos and office hours on Teams (11h00-12h)
Dec. 14th, 2020 (8h-10h) GRASP videos (chapter #5) asynchronous videos and office hours on Teams (9h00-10h)
Dec. 14th, 2020 (10h-12h) Design patterns videos (chapters #6 and #7) asynchronous videos and office hours on Teams (11h00-12h)
Jan. 6th, 2021 (10h-12h) Design patterns videos (chapters #6 and #7) asynchronous videos and office hours on Teams (11h00-12h)
Jan. 11th, 2021 (14h-16h) Métriques, Visualisation and Refactoring videos (chapter #8) asynchronous videos and office hours on Teams (15h00-16h)

* For this part of the course, we will use the pre-recorded videos provided by Prof. Sébastien Mosser at UQAM.

Labs

Professors: Benoit Combemale and Stéphanie Challita

Date Labs Material Comment
Dec. 17th, 2020 (10h-12h) Médiathèque sujet
Jan. 4th, 2021 (14h-16h) Médiathèque correction deadline: 08/01/21
Jan. 4th, 2021 (16h-18h) Mini-editeur sujet
Jan. 6th, 2021 (14h-18h) Mini- editeur
Jan. 11th, 2021 (16h-18h) Mini-editeur correction deadline: 29/01/21

Your professors will be online during the labs. Interact with them through the team VV2020 on Teams.

Further material

ESIR2-SI-S8-MDI (part 1, incl. SI+IN)

Lectures

Professor: Benoit Combemale

Except the introduction during the first lecture, all lectures will rely on pre-recorded videos* that you can watch asynchronously, at the latest during the slots scheduled in your agenda.

Date Lecture Material Comment
Feb. 1st, 2021 (10h-12h) Tools for (Java) Development Industrialization slides synchronous introduction on Teams (team MDI2020)
Gestion de dépendance et build video, et démo Maven asynchronous videos and office hours on Teams
Gestion de version video, avec Subversion et Git, et démo Git asynchronous videos and office hours on Teams
Intégration continue video, et démo Jenkins asynchronous videos and office hours
Méthodes agiles video asynchronous videos and office hours on Teams

* For this part of the course, we will use pre-recorded videos provided by Prof. Olivier Barais and Prof. Johann Bourcier.

Labs

Professors: Benoit Combemale and Stéphanie Challita

The labs will consist in implementing the proposed tutorial, and the evaluation will consist in a final demonstration with Q&A (~10min, during the last lecture on Feb. 23rd, 2021, 10h15-12h15). We will be online during the labs. Interact with us through the team MDI2020 on Teams.

Tentative timeline for the tutorial:

  • [Part 1-4] Maven ~4h (requires lecture on Gestion de dépendance et build)
  • [Part 5] Git ~2h (requires lecture on Gestion de version)
  • [Part 6] Sonar ~1h (requires lecture on Intégration continue)
  • [Part 7] Jenkins ~2h (requires lecture on Intégration continue)
  • [Part 8] Gitlab ~3h (requires lecture on Intégration continue)

Further material

ESIR2-SI-S8-MDI (part 2)

Lectures

Professor: Benoit Combemale

Date Lecture Material Comment
Feb. 24th, 2021 (10h-12h) Introduction slides synchronous introduction on Teams (team MDI2020)
Feb. 24th, 2021 (10h-12h), cond. Software testing at glance slides synchronous on Teams (team MDI2020)
Mar. 08th, 2021 (08h-10h) Static analysis slides on campus
Mar. 08th, 2021 (10h-12h) Dynamic testing slides on campus
Mar. 16th, 2021 (10h-12h) Integration testing slides synchronous on Teams (team MDI2020)
Mar. 16th, 2021 (10h-12h), cond. Test qualification and main criteria slides synchronous on Teams (team MDI2020)
Mar. 16th, 2021 (10h-12h), cond. Mutation testing, and Test automation slides synchronous on Teams (team MDI2020)

Conferences

Date Title Material Comment
Mar. 23rd, 2021 (10h-12h) Model-Based Testing slides synchronous on Teams (team MDI2020)
Mar. 26th, 2021 (08h-10h) GUI Testing slides synchronous on Teams (team MDI2020)
Apr. 02nd, 2021 (08h-10h) Security Testing slides synchronous on Teams (team MDI2020)
Apr. 07th, 2021 (14h-16h) Performance Testing slides synchronous on Teams (team MDI2020)

Labs

Professors: Benoit Combemale and Gwendal Jouneaux

Optional labs: if you want to experiment property-based testing and GUI testing, you may optionally have a look to Lab #4 and Lab #5, respectively.

Evaluation

Date Lecture Material Comment
Apr. 08th, 2021 (10h-12h) Evaluation n/a synchronous on Teams (team MDI2020)

Further material

ESIR2-SI-S8-AL: Software Architecture

Professors: Johann Bourcier and Benoit Combemale

Lectures

Except the introduction, all lectures will rely on pre-recorded videos that you can watch asynchronously.

Lecture #1, Apr. 01st, 2021 (08h-10h):

Lecture #2, Apr. 01st, 2021 (10h-12h):

Lecture #3, Apr. 07th, 2021 (08h-10h):

Lecture #4, Apr. 12th, 2021 (14h-16h):

Lectures #5 and #6 (conferences), Apr. 12th, 2021 (16h-18h) and Apr. 20th, 2021 (08h-10h):

Labs

Based on the aforementioned lectures, you might train yourself (individually) on Docker and Quarkus using the following tutorials:

Then, you have to constitute a project team of 5 people. Each team has to select a monolith application (to be validated with your professors) and to propose a microservicization of this application. For this purpose, you have to investigate the various tradeoffs (modularization, stateless vs stateful, orchestration vs. choreography, etc.), and to propose the new architecture of the application.

As a possible application, you might check-out the Remote meetings planning project, understand the application code and its underlying architecture (cf. the videos available on the readme), and make sure it works in development settings (i.e. on localhost).

For the evaluation, you will have to present your proposed architecture, and to discuss the various tradeoffs. You are not ask to provide any implementation that will be realized during the following project.

Evaluation

Date Lecture Material Comment
May 07th, 2021 (08h-10h) Evaluation n/a synchronous on Teams (team AL2020)

Further material

ESIR2-SI-S8-Projet: Software Development Project

Professors: Johann Bourcier, Stéphanie Challita and Benoit Combemale

todo…

Benoit Combemale
Benoit Combemale
Full Professor of Software Engineering

Agility and safety for wild software