Organisation du cours

Note

Si vous suivez ce cours actuellement, vous devez signer la charte d’utilisation de l’IA ici : https://forms.gle/TtNLyc4pNSYaANTX9

L’objectif de ce cours est d’aborder la notion de qualité d’un logiciel et de voir comment s’assurer d’avoir un logiciel de qualité — en s’appuyant sur les normes et standards internationaux (ISO/IEC 9126), en appliquant des métriques logicielles, et en mettant en œuvre des processus de test et d’évaluation sur des projets concrets.

À la fin de ce cours, l’étudiant.e doit être capable de :

  • Distinguer un bon logiciel d’un logiciel de qualité, et l’assurabilité de la testabilité

  • Expliquer les critères et sous-critères de qualité selon la norme ISO/IEC 9126 (Capacité fonctionnelle, Fiabilité, Facilité d’utilisation, Rendement, Maintenabilité, Portabilité)

  • Évaluer la qualité d’une application existante en appliquant systématiquement ces critères, avec exemples et justifications

  • Comprendre la théorie de la mesure (réalité → modèle → mesure, échelles) pour quantifier la qualité sans subjectivité

  • Appliquer les métriques logicielles (McCabe & Big O, Point Fonction & Bang, métriques OO de Chidamber & Kemerer, cohésion & couplage)

  • Concevoir des stratégies de test et assurer la testabilité d’un système

  • Présenter de manière structurée et argumentée une analyse de qualité logicielle

Pédagogie

La pédagogie est mixte et basée sur l’apprentissage par projet. Nous alternerons :

  • Des cours magistraux pour clarifier les concepts et présenter la norme ISO/IEC 9126

  • Des travaux pratiques d’évaluation d’applications existantes (tableau de qualité)

  • Des exposés de groupe pour présenter et appliquer les métriques logicielles

  • Un projet combinant assurabilité et testabilité, avec évaluation croisée entre équipes

Par conséquent, les étudiants doivent travailler régulièrement, en équipe, pour développer leur projet d’évaluation et d’amélioration de la qualité logicielle.

Répartition du cours

Le cours est organisé en parties, chacune composée de plusieurs chapitres :

  • Partie 1 — Préliminaires : qualité d’un logiciel, assurabilité vs testabilité, et la norme ISO/IEC 9126.

  • Partie 2 — Les mesures : théorie de la mesure et les grandes familles de métriques logicielles.

  • Partie 3 — Projet : assurance et testabilité de la qualité, en évaluation croisée.

Une partie QCM interactive complète le cours.

Déroulé des séances

Le cours alterne cours, exposés de groupe (une famille de métriques par groupe) et travail de projet. Les dates exactes sont communiquées par l’enseignant.

Séance

Contenu

Travaux / Exposés / Projet

Séance 1

Chapitre 0–1 : qualité d’un logiciel ; assurabilité, testabilité, subjectivité → la norme

Mise en situation

Séance 2

Chapitre 2 : norme ISO/IEC 9126 (6 critères, exemple Word)

Tableau d’évaluation (TP individuel) lancé

Séance 3

Chapitre 3 : modèles et mesures (réalité → modèle → mesure, échelles)

Tableau rendu · projets lancés

Séances 4 à 7

Chapitres 4–7 : exposés des familles de métriques (McCabe/Big O, Point Fonction & Bang, OO/CK, cohésion & couplage) + restructuration

Exposés évalués · projet (assurance/testabilité)

Séance 8

Chapitre 8 : récapitulatif (synthèse des métriques ↔ critères ISO)

Projet

Séances suivantes

Suivi de projet et évaluation croisée

Rendus assurabilité & testabilité

Note

Chaque famille de métriques est présentée par un groupe (exposé) ; après chaque présentation, une restructuration (mise au propre) est faite.

Évaluation

L’évaluation comporte quatre éléments (les trois derniers se font en groupe) :

Élément

Poids

Tableau individuel — évaluation de la qualité d’une application existante selon ISO/IEC 9126

25 %

Présentation (exposé) — une famille de métriques appliquée, reliée aux critères ISO/IEC 9126

25 %

Projet — Assurabilité — concevoir/assurer la qualité d’un logiciel

25 %

Projet — Testabilité — concevoir les tests et évaluer la qualité d’un projet tiers (table de test)

25 %

Note finale = 25 % Tableau individuel + 25 % Présentation + 25 % Projet Assurabilité + 25 % Projet Testabilité.

Note

Le détail des livrables et de l’évaluation croisée (chaque thème de projet a un groupe assurabilité et un groupe testabilité) figure dans la Partie 3 — Projet.

Contact et communication

Les communications se feront par mail.

Email:

John Aoga

Cours Open-Source

Les sources de ce site web sont open-source et disponibles sur GitHub. N’hésitez pas à faire des pull requests si vous voyez des erreurs ou des éléments à corriger.

La licence utilisée est Creative Commons Attribution-ShareAlike 4.0 International License :

CC-BY-SA