Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF3473  Gr. 01
Titre : Assurance de la qualité
Session : Automne 2017  Horaire et local
Professeur : Abd-Ali, Jamal
1. Description du cours paraissant à l'annuaire :

Objectifs

Sensibiliser l'étudiant aux facteurs de qualité qui influencent le développement d'un logiciel et le rendre apte à assurer la qualité d'un produit logiciel grâce à un processus de développement planifié et contrôlé en accord avec les normes internationales.

Contenu

Définition des fonctions de maîtrise et d'assurance de la qualité. Plan d'assurance de la qualité. Stratégies pour réduire, éliminer et prévenir les insuffisances d'un logiciel. Évaluation et contrôle des méthodes, activités, procédures et directives pour développer des produits logiciels satisfaisant certaines exigences de qualité à l'intérieur de contraintes spécifiques de coûts et d'échéancier. Application aux essais (incluant les tests de système et d'acceptation) d'un point de vue technique et administratif. Introduction aux normes internationales (ISO, IEEE).
2. Objectifs spécifiques du cours :
Notions fondamentales sur la qualité et l'assurance de la qualité. Historique et structure des normes ISO. Analyse du contenu de l'ISO 9000-3 (application de l'ISO 9001 en développement de logiciel). Présentation d'autres normes et modèles d'assurance qualité en développement de logiciel (IEEE,CMMI). Implantation d'un système d'assurance de la qualité. Métriques, mesures, test et vérification de logiciels.
3. Stratégies pédagogiques :
Lecture, théorie, exercices, recherche et participation active.
4. Heures de disponibilité ou modalités pour rendez-vous :
Envoyez-moi un courriel pour rendez-vous à l'adresse suivante : abdaja01@uqo.ca
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction et plan de cours

  • L'environnement de l'assurance qualité logicielle (AQL)
  • Challenges de la qualité logicielle
  • Erreurs, fautes et pannes logiciel
  • Modèles de qualité
  • Composantes de l'AQL

05 sept. 2017 
2    Les composantes de préparation de l'AQL d'un projet de logiciel

  • Revue de contrat
  • Plan de développement et plan de qualité
  • Gestion des risques
  • Annexe: Culture de qualité et code de déontologie

12 sept. 2017 
3    Les composantes du cycle de vie d'un projet de logiciel

  • Méthodologies de développement d'un logiciel
  • Vérification, validation et qualification
  • Les revues et l'inspection
  • Boite-Blanche statique : Examiner le design et le code Peer reviews
  • Inspection et walkthrough
  • Inspection par utilisation de Checklist d'erreurs génériques
  • Walkthrough de groupe
  • Desk checking

19 sept. 2017 
4    Les composantes du cycle de vie d'un projet de logiciel (suite)

Les stratégies de tests

  • Classification de tests
  • Stratégies de tests
  • Boîte-noire et boîte-blanche
  • Niveaux de tests
    • Unitaires + couvertures
    • Description de test et cas de test
    • Intégration
    • Système
  • Normes applicables

26 sept. 2017 
5    Les tests système et la documentation de tests

  • Tests Système
  • Tests Alfa et beta
  • Processus de tests
    • Plan de tests
    • Description de test et cas de test
    • Rapport de tests
    • Automatisation de tests
  • Révision

03 oct. 2017 
6    Semaine d'études 10 oct. 2017 
7    Examen de mi-session 17 oct. 2017 
8    Tests et cycle de vie du logiciel

  • Test Driven Development
  • Model Based Tests
  • Cadre de travail d'implémentation de tests - JUnit

24 oct. 2017 
9   

Assurance de la qualité logicielle: Maintenance, participants externes et outils

  • Préparation pour l'AQL en composante de maintenance
  • Participants externes
  • Outils d'assurance qualité maintenance
  • Outils CASE

31 oct. 2017 
10    La gestion de configurations

  • Élément de configuration de logiciels (ÉCL)
  • Gestion des configurations du logiciel (GCL)
    • Identification des éléments
    • Tâches de GCL
    • Plan GCL
  • Contrôle des configurations
  • États des ÉCL
  • Politiques de la GCL

07 nov. 2017 
11    Composante AQL de gestion

  • Contrôle d'avancement du projet
  • Métriques de qualité
  • Estimation avec les points de fonction

14 nov. 2017 
12    Les normes et les modèles du génie logiciel

  • ISO 9001 et ISO 9000-3
  • Certification ISO 9000-3
  • Modèles CMM et CMMI
  • Contenu de la norme IEEE
  • IEEE/EIA norme 12207 - cycle de vie de logiciel
  • IEEE norme 1012 - vérification et validation
  • IEEE norme 1028 - les revues
  • Standards de programmation et lignes directrices de code et bonnes pratiques

21 nov. 2017 
13    Les normes et les modèles du génie logiciel (Suite)

Les composantes AQL d'infrastructure

28 nov. 2017 
14    Les composantes AQL d'infrastructure: les procédures et les instructions de travail et autres composantes

  • Procédures et instructions de travail
  • Autre éléments d'infrastructure:

    • Éléments de support
    • Formation des équipes
    • Gestion de configurations
    • Gestion de documents

Révision
05 déc. 2017 
15    Examen final 12 déc. 2017 
6. Évaluation du cours :

La note finalement sera déterminée comme suit :

  • Projet-présentation de groupe: 10 %
  • Devoirs (2): 15 %
  • Examen mi-session (intra): 30 %
  • Examen final: 45 %

Les examens se font à livre fermé. Une moyenne inférieure à 50% aux examens est éliminatoire et conduit automatiquement à l'échec.

7. Politiques départementales et institutionnelles :
8. Principales références :
  • LAPORTE, Claude Y. et APRIL, Alain, Assurance qualité logicielle, tome 1 et 2, Hermes, 2011.
  • GALIN, Daniel, Software Quality Assurance: From theory to Implementation, Pearson, 2003.
  • EVERETT, Gerald et McLEOD Jr., Raymond, Software Testing: Testing Across the Entire Software Development Life Cycle, Wiley, 2007. (Disponible en ligne à travers biblio.uqo.ca)
9. Page Web du cours :
https://moodle.uqo.ca