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

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





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.