Logo ÉTS
Session
Cours
Responsable(s) Fabio Petrillo

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Fabio Petrillo


PLAN DE COURS

Hiver 2023
MGL842 : L'ingénierie de la qualité du logiciel (3 crédits)





Préalables
Aucun préalable requis




Descriptif du cours

Au terme de ce cours, l'étudiant ou l'étudiante sera en mesure :

  • d’analyser les exigences de haut niveau (d’affaires);
  • d’en extraire les exigences qualité;
  • de les transformer en cibles quantitatives de qualité et de les intégrer à l’intérieur d’un processus d’implantation de la qualité du logiciel.

Concepts et méthodes d’ingénierie de la qualité du logiciel. Modèles et processus permettant d’identifier, définir et formaliser les exigences qualité, les processus de transposition des exigences haut niveau (d’affaires) aux mesures de qualité, de même que les méthodes de contrôle de traçabilité et la documentation. Méthode, modèle et processus d’implantation de la qualité avec une analyse comparative en utilisant les modèles de développement du logiciel reconnus dans l’industrie. Approche consolidée, utilisant la méthode de formalisation des exigences qualité et le modèle d’implantation de la qualité pour effectuer un processus complet d’ingénierie de la qualité du logiciel.




Objectifs du cours

Permettre aux personnes étudiantes d'approfondir leurs connaissances du processus de la qualité du logiciel. Permettre à l'étudiant d'analyser les différentes méthodes et les outils qui améliorent la qualité et diminuent le coût de développement et de gestion de systèmes logiciels. Discuter l'état d'art de la qualité logicielle.

Le cours vise à :

• présenter les origines du concept de qualité ;

• sensibiliser aux coûts reliés à la qualité ;

• présenter les modèles servant à l’évaluation de la qualité du logiciel ;

• étudier les normes définissant la qualité en logiciel ;

• explorer les critères pour l’évaluation de la qualité du logiciel ;

• étudier les différentes techniques de revue et d’audit ;

Les travaux pratiques permettent à les personnes étudiantes :

• de comprendre les causes des erreurs, des défauts et des défaillances du logiciel ;

• d’analyser de façon critique les données sur la qualité ;

• de comprendre le rôle des normes en logiciel ;

• d'appliquer des méthodes de revues ;

• d’évaluer la qualité en logiciel.

Au terme de ce cours, la personne étudiante :

• connaîtra les différents aspects de la qualité du logiciel ;

• réalisera l’importance et la nécessité du contrôle de la qualité ;

• connaîtra les principales pratiques de l’assurance qualité en logiciel ;

• pourra évaluer la qualité d’un logiciel.




Stratégies pédagogiques

Le cours est basé sur l’application de l’ingénierie de la qualité du logiciel dans divers contextes. Des présentations magistrales permettent à l’étudiant d’acquérir les concepts de base. Des exercices en classe permettent aux étudiants d’approfondir les concepts présentés. L'objectif des exercices est de favoriser les auto-apprentissages en prévision des travaux pratiques. Finalement, le rapport/séminaire technique  développe la capacité de synthèse et présentation orale des sujets attirants pour les apprenants reliés à la qualité du logiciel.

Les cours seront administrés de façon hybride pour accommoder les personnes étudiantes qui ont des enjeux pour participer en personne. Les personnes étudiants seront invitées à participer d'un serveur Discord du cours, et les séances seront disponible par Zoom de façon synchronisée avec le cours présentiel. Des outils pédagogiques comme Moodle, Karoot, Socrative seront utilisés pour le soutien aux activités en classe.




Horaire
Groupe Jour Heure Activité
01 Jeudi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Fabio Petrillo Activité de cours fabio.petrillo@etsmtl.ca A-2422



Cours
Date Sujet Activité

05/01/2023

Présentation du plan de cours

Évaluation pré-cours

12/01/2023

Introduction à l'ingénierie de la qualité du logiciel

Assurance qualité classique

Qualité logicielle agile

Définition du TP1

19/01/2023

Les modelés et processus

Mesures de qualité

 

26/01/2023

DevOps Research and Assessment (DORA)

 

02/02/2023

Présentation de projects (TP1)

Remise Rapport TP1

09/02/2023

L'ingénierie de la fiabilité des sites

Définition du TP2

16/02/2023

L'ingénierie de la fiabilité des sites

Remise Rapport technique (brouillion)

16/02/2023

Qualité de code

 
02/03/2023 Relâche  
09/03/2023 Techniques avancées de test du logiciel  

16/03/2023

Techniques avancées de test du logiciel

Présentation de projets (TP2)/Rapports techniques (RT)

Remise Rapport technique (final)

23/03/2023

Présentation de projets (TP2)/Rapports techniques (RT)

 

30/03/20/23

Présentation de projets (TP2)/Rapports techniques (RT)

 

06/04/2023

Présentation de projets (TP2)/Rapports techniques (RT)

Conclusion du cours

Remise Rapport TP2

Les activités peuvent changer selon la dynamique du travail en classe et la quantité des groupes qui seront définit pedant la session.




Laboratoires et travaux pratiques

Il y a trois (4) travaux à livrer pendant.  Les détails du  travail à accomplir pour chacun des travaux sera spécifié durant le trimestre.

Pour les TPs, vous devrez travailler en équipe de trois (max). Les équipes seront les mêmes pour toute la session. 


Travaux à remettre

TP Description
TP1 Évaluation du processus de qualité (individuel)
TP2 Implementation du processus de qualité [DevOps] (en équipe)
RT Rapport technique/papier (individuel)



Évaluation
TP1  30%
TP2 40%
RT 30%



Double seuil
Note minimale : 60



Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à un examen
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur de département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note (0).



Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-nature-academique ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Forsgren, Nicole., Kim, Gene., Humble, Jez. Accelerate: The Science Behind DevOps : Building and Scaling High Performing Technology Organizations. United States: IT Revolution, 2018.

Suryn, Witold. Software Quality Engineering: A Practitioner's Approach. Germany: Wiley, 2014.

Wagner, Stefan. Software Product Quality Control. Germany: Springer Berlin Heidelberg, 2015.

Galin, Daniel. Software Quality: Concepts and Practice. United Kingdom: Wiley, 2018.
Humble, Jez., Farley, David. Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation. United Kingdom: Pearson Education, 2010.

Site Reliability Engineering: How Google Runs Production Systems. United States: O'Reilly Media, Incorporated, 2016.

Miranda, George., Majors, Charity., Fong-Jones, Liz. Observability Engineering: Achieving Production Excellence. Japan: O'Reilly Media, Incorporated, 2022.

Aniche, Maurizio. Effective Software Testing: A Developer's Guide. United States: Manning, 2022.

Leek, Rob van der., Visser, Joost., Rigal, Sylvan. Building Maintainable Software: Ten Guidelines for Future-proof Code. Japan: O'Reilly, 2016.

Thomas, David., Hunt, Andrew. The Pragmatic Programmer: Your Journey to Mastery, 20th Anniversary Edition. United Kingdom: Pearson Education, 2019.




Ouvrages de références

Miroslaw Staron, Wilhelm Meding: Software Development Measurement Programs - Development, Management and Evolution. Springer 2018, ISBN 978-3-319-91835-8, pp. 1-258

Butcher, Paul. Debug It! Find, Repair, and Prevent Bugs in Your Code. United Kingdom: Pragmatic Bookshelf, 2009.

Zeller, Andreas. Why Programs Fail: A Guide to Systematic Debugging. Germany: Elsevier Science, 2009.

Leek, Rob van der., Rigal, Sylvan., Visser, Joost. Building Maintainable Software: Ten Guidelines for Future-proof Code. Japan: O'Reilly, 2016.

Chacon, Scott., Straub, Ben. Pro Git. United States: Apress, 2014.

Site Reliability Engineering: How Google Runs Production Systems. United States: O'Reilly Media, Incorporated, 2016.

Mastnak, Christian., Tanczos, Siegfried., Baumgartner, Manfred., Seidl, Richard., Pichler, Helmut., Klonk, Martin. Agile Testing: The Agile Way to Quality. N.p.: Springer International Publishing, 2021.

Sandler, Corey., Badgett, Tom., Myers, Glenford J.. The Art of Software Testing. Germany: Wiley, 2011.

ISO 25010 SQuaRE -Software and System Engineering – Software Product Quality Requirements and Evaluation – Quality model

ISO 25030 - Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Quality requirements 

ISO 25040 - Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Evaluation process




Adresse internet du site de cours et autres liens utiles