% MGL7560 — Vérification et assurance qualité de logiciels % UQAM — Département d'informatique % Plan de cours — Été 2020 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Moha, Naouel PK-4425 poste 1660 Enseignement ------------- Coulombe, Mathieu Michel J-S040 poste 1000 Description du cours ==================== But et concepts de qualité des logiciels. Facteurs qualité (efficacité, exactitude, performance, facilité d'entretien). Normes d'assurance qualité et de vérification et validation (ISO, IEEE). Plans d'assurance qualité et de vérification et validation (coût, activités, ressources). Méthodes d'assurance qualité et de vérification et validation (revues, inspections, audits). Les tests: principes, méthodes, processus et plan de tests. Outils logiciels facilitant la mise en oeuvre de l'assurance qualité, de la vérification et validation de logiciels et des tests. Objectif du cours ================= - Comprendre les principes d'assurance et de contrôle de la qualité. - Comprendre les facteurs qualité. - Comprendre les coûts et bénéfices de la qualité. - Connaître les normes de génie logiciel en assurance qualité, en vérification et validation. Intégration de l'assurance qualité dans le contexte des projets Agile. - Comprendre les techniques de vérification et de validation. Connaître et mettre en application les différents types de revues. - Connaître et mettre en œuvre l'inspection d'un produit logiciel. Comprendre les tests. - Participer à un projet concret d'intervention en équipe. Contenu du cours ================ Thèmes à titre indicatif : - Problématique et enjeux de la qualité - Éthique et qualité - Normes et modèles de la qualité - L'assurance qualité processus - L'assurance qualité produit - Gestion et contrôle de la configuration - Plan de qualité - Caractéristiques de qualité - Les revues et inspections - Vérification et validation - Techniques de tests logiciels Formule Pédagogique =================== Approche pédagogique Le cours se base sur une approche par projet. L'approche par projet s'inscrit dans l'esprit de la formation par compétence. Il permet la mobilisation des ressources de l'étudiant dans la réalisation d'une tâche authentique. Une partie de la matière du cours sera faite exclusivement par l'entremise des lectures hebdomadaires. Les étudiants devront travailler en équipe (taille : de 3 à 4 étudiants maximum). Chaque équipe formera un groupe de consultants à qui sera confié un mandat à réaliser. Chaque projet sera réalisé par l'ensemble des équipes. Plusieurs périodes de cours seront divisées en deux volets. Le premier abordera le contenu théorique des thèmes. Le deuxième consistera à guider, à discuter et à réviser avec chaque équipe le déroulement des travaux entrepris dans le but d'éviter des dérives éventuelles. Des études de cas seront aussi faites lors de certaines de ces périodes. Des présentations peuvent être aussi faites par des conférenciers. Modalités d'évaluation ====================== - Examen final 22 juin 2020 30% - Travail d'équipe partie 1 - Rapport définition du projet Date à confirmer avec les étudiants en cours de session 5% - Travail d'équipe partie 2 - Rapport d'étape Date à confirmer avec les étudiants en cours de session 10% - Travail d'équipe partie 3 - Rapport final Date à confirmer avec les étudiants en cours de session 25% - 3 cas individuels Date à confirmer avec les étudiants en cours de session 30% Un travail remis en retard reçoit la note zéro à moins d'avoir fait l'objet d'une ENTENTE PRÉALABLE avec le professeur. Le détail des conditions de réalisation de chaque travail est précisé avec la description du travail. La qualité du français fait partie intégrante des critères d'évaluation des travaux et des examens jusqu'à un maximum de 25%. La politique de tolérance zéro du Département d'informatique sera appliquée à l'égard des infractions de nature académique. La note de passage du cours est de 60% pour l'ensemble de l'évaluation et de 50% pour l'examen. Médiagraphie ============ VO -- *L'assurance qualité logicielle* APRIL, A., LAPORTE, C. -- HERMES-LAVOISIER, VOL. 1 ET 2, 2011. VR -- *Software Quality Assurance - From Theory to Implementation* GALIN, D. -- PEARSON EDUCATION LIMITED, 2004. VR -- *Software Inspection* GILB, T. et GRAHAM, D. -- ADDISON-WESLEY, 1993. VR -- *Handbook of Software Quality Assurance* SCHULMEYER, G.G. -- ARTECH HOUSE, 4TH EDITION, 2008. VR -- *Creating a Software Engineering Culture* WIEGERS, K. -- DORSET HOUSE, 1996. VR