1
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.
2
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.
3
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.
4
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é.
5
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.
6
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é.
7
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.
8
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.