Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Gestion de projets/MOA > La gestion des exigences en développement logiciel

La gestion des exigences en développement logiciel

Cette formation se propose de définir le concept d'exigence en développement logiciel. Elle vous montrera comment formuler vos cahiers des charges pour y inclure les exigences. Vous apprendrez à les identifier, à les formaliser, à les tester, à les valider ainsi qu'à mettre en place une stratégie de suivi.

Objectifs

  • Comprendre les différents types d'exigences en développement logiciel
  • Extraire les exigences d'un cahier des charges
  • Maîtriser les règles d'écriture d'une exigence
  • Dénombrer les tests et estimer la charge à partir des exigences

Public

  • Maîtres d'ouvrage, analystes, équipes de développement, équipes de test.

Prérequis

  • Connaissance de base en Informatique.

Programme de la formation

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.