ProgrammeL3 · S5Ingénierie informatique
L3S5Ingénierie informatique

Génie logiciel

Organiser le cycle de vie logiciel, spécifier les besoins, concevoir, tester et maintenir des systèmes.

#UML#tests#architecture#Git#agile
5chapitres
5exercices corrigés
8questions de quiz
0/5chapitres maîtrisés
À LA FIN DE CE COURS

Objectifs d’apprentissage

  • Transformer un besoin métier en exigences claires, testables et traçables.
  • Modéliser un système avec des cas d’utilisation, des scénarios et des diagrammes UML adaptés.
  • Choisir une architecture modulaire en justifiant les responsabilités, les dépendances et les compromis.
  • Concevoir une stratégie de tests et interpréter les résultats pour réduire les défauts.
  • Organiser un travail d’équipe avec Git, revues, intégration continue et pratiques agiles mesurables.
AVANT DE COMMENCER

Prérequis utiles

  • Savoir programmer dans un langage impératif et écrire des fonctions avec des entrées et sorties explicites.
  • Connaître les structures de données élémentaires, les exceptions et les notions de débogage.
  • Savoir utiliser un terminal, lire des fichiers texte et manipuler les bases de Git (commit, branche, fusion).
CHAPITRE 01 L3 · S5

Besoins et spécification

45 min de lectureLeçon originale de révision

De l’idée au contrat vérifiable

Un besoin exprime une finalité pour un acteur; une exigence le reformule en comportement observable, dans un contexte donné. Une bonne exigence est nécessaire, non ambiguë, cohérente, testable et traçable. On distingue les exigences fonctionnelles (ce que le système fait) des exigences non fonctionnelles (qualité, sécurité, performance). Une user story utile suit souvent « En tant que..., je veux..., afin de... », complétée par des critères d’acceptation. Éviter « rapide » ou « convivial » sans seuil mesurable. Exemple guidé : pour une bibliothèque, le besoin est d’éviter les retards. L’exigence devient : « Quand un emprunt arrive à échéance, le système envoie au membre un courriel au plus tard à 9 h le jour prévu. » Critères : membre valide, échéance aujourd’hui, un message enregistré; sinon aucun envoi. Le test vérifie la date et l’existence d’un envoi. Le point de contrôle est de relier chaque exigence à un scénario et à un test; une exigence sans oracle observable reste incomplète.

Points à retenir
  • Une exigence décrit un comportement observable et vérifiable, pas une intention vague.
  • Les critères d’acceptation relient acteurs, contexte, résultat attendu et cas limites.
  • La traçabilité besoin–exigence–test aide à repérer les oublis et les changements coûteux.
Synthèse du chapitre

Un besoin exprime une finalité pour un acteur; une exigence le reformule en comportement observable, dans un contexte donné. Une bonne exigence est nécessaire, non ambiguë, cohérente, testable et traçable.