PARTIE 1 – La maintenance du logiciel (21 heures)
1a. L'ingénieur de maintenance/support et les tests (1 heure)
- La structure et le modèle du cours LOG240
- Les laboratoires
- Les normes utilisées dans ce cours
1b. Les connaissances fondamentales en maintenance du logiciel (2 heures)
- La représentation SWEBOK de la maintenance
- La différence entre opérations, développement et maintenance
- Les organisationa qui effectuent la maintenance du logiciel
- Les normes et les processus de la maintenance du logiciel
2. Les problèmes et la mesure en maintenance du logiciel (3 heures)
- 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
- Le modèle de mesure
- La mesure du processus de la maintenance
- La mesure du produit logiciel maintenu
- 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)
- Introduction
- 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
- Le mainteneur et ses besoins d'information:
- le gestionnaire, les analystes, les concepteurs et les programmeurs
- Les modèles de compréhension du logiciel et la notion de modèle mental
- Les stratégies de compréhension
- stratégie descendante, ascendante et opportuniste
- Les techniques de lecture du logiciel
- 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)
- Introduction
- Les niveaux d'abstraction du logiciel
- l'abstraction des fonctionalités, des données et des processus
- Les buts et objectifs de la réingénierie du logiciel
- 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
- 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)
- Introduction au modèle S3M
- 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?
- Aperçu du modèle S3M
- portée organisationelle, perspective et objectif du modèle, avantages et mise en oeuvre
- 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
- 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
- Itinéraire Pro1 - Focalisation sur les processus de la maintenance (FPM)
- Itinéraire Pro2 - Définition des processus/services de maintenance (DPM)
- Itinéraire Pro3 - Formation des ressources de la maintenance (FRM)
- Itinéraire Pro4 - Performance des processus de la maintenance (PPM)
- Itinéraire Pro5 - Innovation et déploiement d'initiatives d'amélioration de processus maintenance (ID)
- Itinéraire Req1 - Gestion des requêtes de services et des évènements (GDS, GÉ)
- Itinéraire Req2 - Planification de la maintenance du logiciel (PM)
- Itinéraire Req3 - Suivi et supervision des requêtes de la maintenance (SSM)
- 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
- Itinéraire Évo1 - Transition du logiciel vers la maintenance (TRA)
- Itinéraire Évo2 - Support opérationnel à la clientèle (SUP)
- Itinéraire Évo3 - Évolution/Correction du logiciel (ÉVO)
- Itinéraire Évo4 - Vérification et Validation (VÉR, VAL)
- Itinéraire Sup1 - Management de la configuration et des environnements (GCE)
- Itinéraire Sup2 - Assurance qualité des processus, des services et des logiciel (AQPSL)
- Itinéraire Sup3 - Mesure et analyse de la maintenance (MA)
- Itinéraire Sup4 - Analyse causale et résolution de problèmes (ACRP)
- 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