Logo ÉTS
Session
Cours
Responsable(s) Sègla Jean-Luc Kpodjedo, Alain April

Se connecter
 

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

Responsable(s) de cours : Sègla Jean-Luc Kpodjedo, Alain April


PLAN DE COURS

Automne 2021
LOG240 : Tests et maintenance (3 crédits)





Préalables
Programme(s) : 7065,7084,7365
             
  Profils(s) : Tous profils  
             
    LOG100    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 50,0 % 50,0 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours

Ce cours présente et applique les concepts du cycle de vie de la maintenance d'un logiciel, la validation et la vérification d'un logiciel, et les différents types de tests selon les principes du génie logiciel.

Gestion de la configuration, transition d'un logiciel du développement à la maintenance, éléments de maintenance de logiciel, types de maintenance, activités de maintenance, gestion des problèmes et amélioration de la maintenance du logiciel, principes de tests, conception de tests boite noire et boite blanche, niveaux de tests (unitaire, intégration, système, acceptation), développement dirigé par les tests, modèles de maturité et normes de tests.

À la fin de ce cours, l’étudiant sera en mesure :

  • d’instaurer un processus et un environnement de maintenance du logiciel;
  • d'effectuer une analyse d’impact et de gérer les rapports de problèmes et demandes de changements;
  • de concevoir, implémenter et exécuter des tests basés sur les principales approches de tests boîte noire et boîte blanche à divers niveaux.



Objectifs du cours

À la fin de ce cours, l’étudiant sera en mesure d’instaurer un processus et un environnement de maintenance du logiciel. Il comprendra comment effectuer une analyse d’impact, gérer les rapports de problèmes et demandes de changements, effectuer de la rétro-ingénierie, concevoir et exécuter des tests unitaires, d'intégration, de système, fonctionnels et de régression.




Stratégies pédagogiques

Les objectifs seront atteints par un enseignement hebdomadaire sous la forme d’un cours magistral (exposé formel, exposé informel, exercices) de trois (3) heures et de deux (2) heures de travaux pratiques. L’étudiant devra compléter sa formation par des lectures.

POUR LE GROUPE 2 SEULEMENT : Il est à noter que les séances de cours ainsi que les séances de laboratoire seront tenues virtuellement à distance pour toute la session.




Utilisation d’appareils électroniques

Il est interdit de capter le cours ou des portions du cours (enregistrement vidéo, enregistrement audio,  photographie) en salle de classe virtuelle ou en laboratoire virtuel à moins d’avoir obtenu au préalable la permission de l'enseignant.

Utilisation d'ordinateurs, VM et logiciels divers pour effectuer les activités de mise en oeuvre de l'environnement de maintenance et test ainsi qu'effectuer la maintenance et les tests d'un logiciel existant.




Horaire
Groupe Jour Heure Activité
01 Mercredi 08:30 - 10:30 Laboratoire (Groupe A)
Mercredi 10:30 - 12:30 Laboratoire (Groupe B)
Jeudi 08:30 - 12:00 Activité de cours
02 Lundi 18:00 - 20:00 Laboratoire
Jeudi 18:00 - 21:30 Activité de cours
03 Mercredi 13:30 - 17:00 Activité de cours
Jeudi 08:30 - 10:30 Laboratoire (Groupe A)
Jeudi 10:30 - 12:30 Laboratoire (Groupe B)
04 Lundi 18:00 - 20:00 Laboratoire (Groupe A)
Lundi 20:00 - 22:00 Laboratoire (Groupe B)
Jeudi 18:00 - 21:30 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Francis Cardinal Activité de cours cc-Francis.CARDINAL@etsmtl.ca A-4526 flexible - s.v.p. prendre rendez-vous par courriel
01 Mikaël Dagenais Laboratoire (Groupe A) mikael.dagenais.1@ens.etsmtl.ca
01 Samuel Leclerc Laboratoire (Groupe B) Samuel.Leclerc@etsmtl.ca A-4526
02 Francis Cardinal Activité de cours cc-Francis.CARDINAL@etsmtl.ca A-4526 flexible - s.v.p. prendre rendez-vous par courriel
02 Mikaël Dagenais Laboratoire mikael.dagenais.1@ens.etsmtl.ca
03 Vincent Lacasse Activité de cours vincent.lacasse@etsmtl.ca A-4526 Via courriel
03 Mikaël Dagenais Laboratoire (Groupe A) mikael.dagenais.1@ens.etsmtl.ca



Cours

PARTIE 1 – La maintenance du logiciel (21 heures)

 

1a. L'ingénieur de maintenance/support et les tests (1 heure)

  1.  La structure et le modèle du cours LOG240
  2.  Les laboratoires
  3.  Les normes utilisées dans ce cours

1b. Les connaissances fondamentales en maintenance du logiciel (2 heures)

  1.  La représentation SWEBOK de la maintenance
  2.  La différence entre opérations, développement et maintenance
  3.  Les organisationa qui effectuent la maintenance du logiciel
  4.  Les normes et les processus de la maintenance du logiciel

2. Les problèmes et la mesure en maintenance du logiciel (3 heures)

  1.  Les problèmes de la maintenance du logiciel
    • Perception externe (c.-à-d. vos utilisateurs et clients) des problèmes de la maintenance du logiciel
    • Perception interve (c.-à-d. vous, les mainteneurs) des problèmes de la maintenance du logiciel
  2.  Le modèle de mesure
    1. La mesure du processus de la maintenance
    2.  La mesure du produit logiciel maintenu
    3.  La mesure du service de maintenance
      • l'entente de service interne (SLA),
      • le contrat de service avec un tiers,
      • l'entente d'impartition, et
      • l'étalonnage (benchmarking) de la maintenance.

3. La compréhension du logiciel (3 heures)

  1. Introduction
  2. Les objectifs de la compréhension du logiciel:
    • la connaissance du domaine d'affaire, l'effet de l'exécution du logiciel et la relation cause à effet, la relation entre le logiciel et son environnement, et le support à la décision
  3. Le mainteneur et ses besoins d'information:
    • le gestionnaire, les analystes, les concepteurs et les programmeurs
  4. Les modèles de compréhension du logiciel et la notion de modèle mental
  5. Les stratégies de compréhension
    • stratégie descendante, ascendante et opportuniste
  6. Les techniques de lecture du logiciel
  7. Les facteurs qui ont un impact sur la compréhension du logiciel
    • l'expertise du domaine,
    • les questions de mise en oeuvre de la programmation,
    • la documentation,
    • l'organisation et la présentation du code source, et
    • les outils mis à la disposition du mainteneur

4. La réingénierie (3 heures)

  1. Introduction
  2. Les niveaux d'abstraction du logiciel
    • l'abstraction des fonctionalités, des données et des processus
  3.  Les buts et objectifs de la réingénierie du logiciel
  4.  Les techniques de la réingénierie du logiciel
    • les fondements de la réingénierie du logiciel, la redocumentation, la rétro-ingénirerie (recouvrement de la conception et des spécifications), la restructuration et l'optimisation
  5.  La stratégie de mise en oeuvre et les bénéfices (étude de cas)

5. Aperçu du modèle d’amélioration de la maintenance du logiciel (3 heures)

  1. Introduction au modèle S3M
  2. Concepts de base
    • concepts de l'amélioration des processus et de la maturité, le CMMI couvre-t-il adéquatement la maintenance du logiciel?
  3. Aperçu du modèle S3M
    • portée organisationelle, perspective et objectif du modèle, avantages et mise en oeuvre
  4. Description du modèle S3M
    • les processus opérationnels, les processus de support opérationnels, les procesus organisationnels, les bases du modèle, l'échelle de maturité du S3M, les domaines de processus, le profil de secteur, le concept d'itinéraire et de facettes
  5. Conventions et niveaux de maturité

6. Les deux premiers domaines de processus du modèle S3M (3 heures) - La gestion des processus (PRO) et des requêtes (REQ) maintenance

  1.  Itinéraire Pro1 - Focalisation sur les processus de la maintenance (FPM)
  2.  Itinéraire Pro2 - Définition des processus/services de maintenance (DPM)
  3.  Itinéraire Pro3 - Formation des ressources de la maintenance (FRM)
  4.  Itinéraire Pro4 - Performance des processus de la maintenance (PPM)
  5.  Itinéraire Pro5 - Innovation et déploiement d'initiatives d'amélioration de processus maintenance (ID)
  6.  Itinéraire Req1 - Gestion des requêtes de services et des évènements (GDS, GÉ)
  7.  Itinéraire Req2 - Planification de la maintenance du logiciel (PM)
  8.  Itinéraire Req3 - Suivi et supervision des requêtes de la maintenance (SSM)
  9.  Itinéraire Req4 - Gestion de l'entente de service et de la sous-traitance (GES, GST)

7. Les deux derniers domaines de processus du modèle S3M (3 heures): L'ingénierie d’évolution (ÉVO) et le support à l'ingénierie d'évolution du logiciel

  1.  Itinéraire Évo1 - Transition du logiciel vers la maintenance (TRA)
  2.  Itinéraire Évo2 - Support opérationnel à la clientèle (SUP)
  3.  Itinéraire Évo3 - Évolution/Correction du logiciel (ÉVO)
  4.  Itinéraire Évo4 - Vérification et Validation (VÉR, VAL)
  5.  Itinéraire Sup1 - Management de la configuration et des environnements (GCE)
  6.  Itinéraire Sup2 - Assurance qualité des processus, des services et des logiciel (AQPSL)
  7.  Itinéraire Sup3 - Mesure et analyse de la maintenance (MA)
  8.  Itinéraire Sup4 - Analyse causale et résolution de problèmes (ACRP)
  9.  Itinéraire Sup5 - Rajeunissement, migration et retraite du logiciel (RMR)

 

PARTIE 2 – Les tests du logiciel (18 heures)

 

1. Introduction aux tests du logiciel (2 heures)
 Définitions de base
 Principes de tests
 Rôle du spécialiste des tests
 Classes de défauts

2. Stratégies de tests boîte noire (6 heures)
 Tests aléatoires
 Séparation en classes d'équivalence
 Analyse de valeurs limites
 Graphes cause-effet
 Tests de transition d'états
 Tests boîte noire et produits commerciaux (COTS)

3. Stratégies de tests boîte blanche (6 heures)
 Critères de tests
 Graphes de flux de commande (contrôle)
 Tests basés sur le flux de données
 Tests de mutation

4. Niveaux de tests (1 heure)
 Tests unitaires
 Tests d'intégration
 Tests système
 Tests d'acceptation
 Tests de régression

5. Approches agiles et développement dirigé par les tests (2 heures)
 Introduction aux approches de développement logiciel agiles
 Introduction au développement dirigé par les tests (de l'anglais Test-Driven Development -TDD)

6. Documentation et processus associés aux tests (1 heure)
 Présentation sommaire du modèle de maturité de tests (TMMi)
 Plan de tests
 Spécification de conception de tests
 Spécification de cas de tests
 Rapport d'exécution de tests




Laboratoires et travaux pratiques

1.   Familiarisation et prise en charge d’un logiciel (VMWARE, GitHub, JIRA, MAVEN, QALab) – (4 heures)

2.   Rétro-ingénierie, Rapports de Problèmes et demandes de changements  (Eclipse Luna UML generators, Java RoundTrip) – (8 heures)

3.   Tests unitaires, d'intégration et système (UIspec4j et Junit) (6 heures)

4.   Réingénierie dirigée par les tests (6 heures)

Les étudiant(e)s effectuent les travaux pratiques en équipe. La composition des équipes sera déterminée au début du trimestre. Un projet de trimestre sera réalisé. Le projet consistera à mettre en œuvre les pratiques de tests et maintenance enseignées en classe.

NOTE : Si vous éprouvez des difficultés techniques avec le matériel des laboratoires du département, s.v.p. communiquez le problème à support-logti@etsmtl.ca. Consultez le site de cours pour les contenus pour chaque cours.




Utilisation d'outils d'ingénierie

Utilisation de divers logiciels dont: IntelliJ IDEA, QALab, Maven, Wiki, Jira, UIspec4j, Junit, Visual Paradigm et Cobertura.




Évaluation
Laboratoires (20 % maintenance et 20 % tests) 40 %

Examen intra * – Maintenance seulement

30 %
Examen final * – Tests seulement 30 %

*L'étudiant(e) doit avoir une moyenne d'au moins 50% dans les travaux individuels (examens intra et final) afin de réussir le cours. Cette condition est nécessaire mais non suffisante.

Examens (GROUPE 1 ET GROUPE 3)

  • L'examen intra et final est à réaliser en présence à l'ÉTS.  Les modalités vous seront mentionnés en cours par votre enseignant.

Examens (GROUPE 2)

  • L'examen intra est à réaliser à distance.  Par contre, il y aura certaines directives particulières à appliquer lors des examens:

"La surveillance de ces examens se fera à l’aide de la caméra et du micro de l’ordinateur et pourrait être enregistrée. Ceci est nécessaire pour se conformer aux exigences du bureau canadien d’agrément des programmes de génie afin d’assurer la validité des évaluations."

  • En date du début de session d'automne 2021, l'ÉTS prévoit un examen final en présence (si la situation le permet).  Mais vous savez très bien que ces temps-ci rien n'est certain, donc si la situation ne le permet pas, l'examen final se déroulera à distance avec les même modalités que l'examen intra.

Laboratoires

  • Les laboratoires sont à faire en équipe.  Toutes les modalités par rapport aux laboratoires en général et par rapport à chacun des laboratoires vous sera expliqué lors des séances de laboratoire en présence (pour le GROUPE 1 ET GROUPE 3), et virtuelles à distance (pour le GROUPE 2) par votre chargé de laboratoire.

 




Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 20 octobre 2021
2 21 octobre 2021
3 13 octobre 2021



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


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 suivants, 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 du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. 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, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen entraînera l’attribution de la note zéro (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

April, A. et Abran, A., Améliorer la maintenance du logiciel. 2ième édition, Loze-Dion éditeur, 2016-05-10, 348p.

1) Le livre du cours (version papier) est disponible pour commande sur le site Web de l'éditeur (https://www.lozedion.com/ameliorer-la-maintenance-du-logiciel/)

2) Le livre est aussi disponible en version électronique sur le site Web: syllabusb.com. Votre accès à la version électronique est temporaire et se terminera à la fin de la session.




Ouvrages de références

Grubb, P., Takang, A.A., Software Maintenance: Concepts and Practice. International Thompson Computer Press, 1996.

Amman, P., Offutt, J. Introduction to Software Testing, Cambridge University Press (2nd Ed), 2017

Myers, G. J., The Art of Software Testing. John Wiley & Sons, (2nd Ed.), ISBN 0471469122, 2004, 256 p. (première édition disponible sur ITPro).




Adresse internet du site de cours et autres liens utiles

Site Moodle du cours LOG240 accessible via votre portail MonETS.




Autres informations

POUR LE GROUPE 2 SEULEMENT:

Étant donné la situation exceptionnelle dans laquelle nous nous trouvons, veuillez être préparé à répondre à des questions sur papier que vous allez devoir numériser par la suite.  Vous pouvez faire cela à l'aide d'un numériseur (scanner), avec un appareil photo numérique traditionnel, avec l'appareil photo de votre téléphone intelligent (attention à la lisibilité de ce que vous remettrez, n'oubliez pas que si nous n'arrivons pas à bien lire, votre note pourrait en souffrir) - il y a des applications spécifiques qui peuvent vous aider à bien prendre en photo vos travaux et les rendre bien lisibles, préparez-vous en explorant ces dernières.

Il est possible aussi que nous vous demandions de remettre ces documents en .PDF, si vous n'êtes pas familier avec cette technique, pratiquez-la, cela vous évitera un certain stress lors des évaluations qui pourrait nécessiter çela.

Soyez prévoyant et préparez la logistique à l'avance pour maximiser le temps que vous allez consacrer à votre évaluation et diminuer votre stress.