Fondamentaux
- Définition des exigences.
- Importance des exigences dans un projet de développement.
- Les risques de non qualité des exigences.
- Impact des exigences.
- L’ingénierie des exigences (IEEE610).
Réflexion collective
Réflexion collective sur quelques exemples d’exigences.
Ingénierie des exigences dans les projets de développement logiciel
- Rappel sur les modèles de cycle de développement : approches traditionnelles et agiles.
- Positionnement des exigences dans chaque modèle de cycle de développement et spécificités.
- Les phases et livrables d’un projet impactés par l’ingénierie de exigences.
- Le plan de gestion des exigences et son contenu.
- Les acteurs autour des exigences : analyste métier, ingénieur d’exigences, concepteur, gestionnaire de configuration...
- Les exigences comme éléments essentiels du contrat.
- Analyser le contexte : périmètre système, contraintes et hypothèses.
- Identification des parties prenantes.
Travaux pratiques
Questionnaire sur le processus de gestion des exigences. Identifier et décrire les livrables liés à la gestion des exigences dans votre contexte. À partir d'un sujet, réaliser un diagramme de contexte et identifier les parties prenantes.
Identification/élicitation des exigences
- But et processus de l’identification des exigences.
- Exigences fonctionnelles, définition et exemples.
- Exigences non fonctionnelles, modèle NFR, ISO 25010, exemples.
- Techniques d’identification des exigences : interview, auto enregistrement, brainstorming, prototypage...
Travaux pratiques
Identifier les éléments qui correspondent à des exigences et les classer. Reformuler une exigence. Décrire des critères d’acceptation. Préparer des questions à utiliser pour établir les exigences.
Analyse et documentation
- Sous quelle forme documenter une exigence : diagramme, texte, prototypage, etc.
- Hiérarchisation des exigences (Norme SYSML).
- Techniques pour bien rédiger les exigences.
- Critères de qualité d’une exigence ISO 25 010.
- Document d’exigence, IEEE830.
- Criticité et priorité des exigences, méthode MOSCOW.
Travaux pratiques
À partir d'un cas, identifier différents besoins et les décliner en exigences fonctionnelles et non fonctionnelles. Identifier des exigences de conception, déploiement, de performance, de sécurité.
Documentation des exigences via la modélisation
- La modélisation des exigences avec UML.
- SysML : le diagramme d'exigence (requirement diagram).
- Description statique du système, diagramme de contexte (rappel).
- Description statique, diagramme de classe/objet.
- Description fonctionnelle, diagramme de cas d’utilisation : relations entre les acteurs et le système.
- Description dynamique : diagramme d’activité et diagramme de séquence.
- La modélisation des exigences en agile avec les user stories.
Travaux pratiques
À partir de l’étude de cas, utiliser des diagrammes pour représenter un diagramme de cas d’utilisation, et un diagramme d’activité. Représenter des user stories et des EPICs.
Test des exigences
- Objectifs des tests.
- Place des tests dans un projet.
- Organisation des tests.
- Estimation des coûts : méthode Delphi. Cas des méthodes agiles, le planning poker, les "story points".
Travaux pratiques
Utiliser une méthode d’estimation pour mesurer l’effort, à partir de l’énoncé proposé.
Validation
- Facteurs d’influence sur la qualité des exigences.
- Validation et vérification des exigences.
- Les différents types de revue (inspections, audits, walkthrough.)
- Implication des testeurs dans les revues.
Travaux pratiques
Utiliser les principales métriques de mesure de la qualité des exigences pour produire une check-list à utiliser en revue des exigences.
Gestion des exigences
- Objectifs de la gestion des exigences.
- Critères d’acceptation d’une exigence, cas des méthodes agiles.
- Les métriques qualités associées aux exigences : nombre d’exigences, couverture par les tests, défauts, etc.
- Traçabilité horizontale et verticale des exigences.
- Le cycle de vie de l’exigence et son suivi.
- Présentation des fonctionnalités des principaux outils de gestion des exigences.
Travaux pratiques
À partir du cas étudié, proposer des critères d’acceptation adaptés pour quelques métriques.