Chapitre 3 : Gestion des
exigences
GL & AGL
SYRINE KAROUI
2014/2015
Plan Chapitre 3
2
I. Processus de spécification logiciel - Ingénierie des
exigences
II. Spécification logicielle – Cahier des charges
1. Comment produire les spécifications?
2. Spécifications logicielles – Principales considérations
3. Comment valider les spécifications?
III. Exemple de spécification
GL&AGL 2014/2015 Syrine Karoui
Objectifs Chapitre 3
3
Savoir spécifier un produit logiciel.
Maitriser l’écriture des exigences.
Garantir la bonne qualité du logiciel.
GL&AGL 2014/2015 Syrine Karoui
Processus de spécification logiciel - Ingénierie
des exigences 1/2
4
Ingénierie des exigences ou ingénierie des besoins :
La démarche systématique, rationnelle et outillée pour
élaborer un cahier des charges et suivre l'évolution des
besoins tout au long d'un projet.
GL&AGL 2014/2015 Syrine Karoui
Processus de spécification logiciel - Ingénierie
des exigences 2/2
5
Recueil des besoins :
Collecte des informations via des moyens techniques diverses : questionnaires interviews,
observations directes, réunions, brainstorming, etc.
Analyse des besoins :
Raffinement des besoins « bruts » en éliminant les ambiguïtés, incohérences, redondances
et incomplétudes entre les besoins exprimés.
Spécification des exigences :
Rassembler dans un document unique (le cahier des charges ) l’ensemble des exigences du
système sous forme cohérente. Ce document tient compte des besoins exprimés par les
utilisateurs ou d’autres parties prenantes, des objectifs, du contexte, et des contraintes
techniques.
Validation :
Les exigences devront être vérifiées et validées par toutes les parties prenantes. Divers
moyens existent pour valider les exigences : revues de documents, maquettes et prototypes.
Gestion des évolutions :
Les changements dans les exigences (à tous les stades du projet) est un phénomène
inévitable, même lorsque tout a été mis en œuvre pour capter, analyser et spécifier les
exigences de manière exhaustive.
GL&AGL 2014/2015 Syrine Karoui
Cahier des charges - Comment produire la
spécification? 1/4
6
GL&AGL 2014/2015 Syrine Karoui
Cahier des charges - Comment produire la
spécification? 2/4
7
Les spécifications s'énoncent habituellement en langue
naturelle.
La langue naturelle pourra être imprécise et peut
présenter des risques d'ambiguïté et ne permet pas de
faire des vérifications de consistance.
Recours à l’écriture Objet UML afin de décrire un
comportement ou un traitement particulier.
Recours à des graphiques et schémas illustratifs.
Recours à des maquettes logicielles.
GL&AGL 2014/2015 Syrine Karoui
Cahier des charges - Comment produire la
spécification? 3/4
8
Deux points de vue dans la description d’un système, :
interne (celui des concepteurs, des personnels techniques, etc.),
externe (celui des utilisateurs non informaticiens, des décideurs, etc.).
Pour le point de vue interne : une description la plus
précise possible du système qui doit être réalisé :
Spécification du système ;
Document de spécification
Ou Spécification technique. technique
Pour le point de vue externe : une description de haut-
niveau d’abstraction des services que doit rendre le système et
les contraintes sous lesquelles il opère :
Spécification des besoins ; Document de spécification
Ou Spécification générale. des besoins
GL&AGL 2014/2015 Syrine Karoui
Cahier des charges - Comment produire la
spécification? 4/4
9
• Trois grandes catégories de spécifications des besoins :
o Fonctionnelles : définit les services du système en termes de
relation entre les entrées et les sorties :
Décrivent le quoi dans les termes du métier.
Elles décrivent ce qui doit être fourni ou réalisé pour produire de la
valeur.
Formulent les fonctionnalités que le système doit réaliser.
o Non Fonctionnelles : ce sont les contraintes et les propriétés
remplies par le système dans son intégralité.
Contraintes de performance : efficacité, robustesse, sécurité, etc.
Contraintes d’ interface : Sert à décrire le comportement du logiciel
dans son environnement d’exploitation cible : Logiciel & matériel.
o Liées au processus : ce sont des contraintes liées au
développement du produit (coût, délai, assurance qualité), ou liées à
l’exploitation future : prix de vente, marché de distribution, etc.
GL&AGL 2014/2015 Syrine Karoui
Spécification logiciel – Principales considérations
1/4
10
GL&AGL 2014/2015 Syrine Karoui
Spécifications logicielles – Principales
considérations 2/4
11
Les besoins exprimés dans la spécification ne doivent pas être
contradictoires.
Le cahier des charges doit, tant que possible, contenir la totalité des
besoins .
Les besoins sont exprimés sous une forme vérifiable, avec le moins
d’ ambiguïtés possibles, de façon à ce que le document puisse faire office
de contrat.
Une relecture systématique par un tiers expert est souvent souhaitable.
De même, le développement d’un prototype pourra épargner de longs
discours , de mauvaises surprises, de conflits & procès.
GL&AGL 2014/2015 Syrine Karoui
Spécifications logicielles – Principales
considérations 3/4
12
Il n’est pas rare que l’écriture d’un cahier des charges nécessite
plusieurs itérations => Définir une spécification est un
développement en soi.
On doit appliquer, convenablement, le principe de séparation des
problèmes en sous-problèmes ainsi que les considérations de
l’abstraction et la modularité.
Garder une trace de l’évolution d’une spécification est essentiel
car elle peut servir à justifier les choix qui ont été pris : on évite de
revenir en arrière dans le développement.
Maintenir une dépendance entre les différentes parties de la
spécification permet de déterminer rapidement les parties impactées
par une modification ou la prise en compte d’une meilleure
compréhension d’un point donné.
GL&AGL 2014/2015 Syrine Karoui
Spécifications logicielles – Principales
considérations 4/4
13
La réalisation d’un contrat logiciel doit pouvoir être donc :
Développer - Vérifier - Evoluer.
La spécification se concrétise sous la forme d’un cahier des charges qui sert de
contrat entre les différentes parties et permet de :
Planifier le projet et estimer les coûts.
Diriger la conception du système.
Préparer la stratégie de la validation.
GL&AGL 2014/2015 Syrine Karoui
Cahier de charges – Comment valider les
spécifications? 1/3
14
GL&AGL 2014/2015 Syrine Karoui
Cahier de charges – Comment valider les
spécifications? 2/3
15
La validation de la spécification vise à montrer que les besoins
explicités correspondent effectivement à ceux des utilisateurs
du système.
Interview, revues, relecture par des tiers, engagement & signatures.
Détecter au plutôt des erreurs d’ incompatibilité et
d’incohérence entre les éléments de la spécification
Documents, exigences, maquettes, schéma, graphiques, etc.
L'ordre de grandeur du coût de validation et correction est
moins élevé que lorsque ces mêmes problèmes se retrouvent
dans des étapes ultérieures de développement du produit.
L'analyse des exigences s'efforce de résoudre ces problèmes.
GL&AGL 2014/2015 Syrine Karoui
Cahier de charges – Comment valider les
spécifications? 3/3
16
S’assurer que les besoins sont exprimés sous une forme vérifiable, avec
le moins d’ ambiguïtés possibles, de façon à ce que le document puisse
faire office de contrat.
Lorsqu’un projet reçoit des exigences d’un fournisseur d’exigences
approuvé, elles sont revues avec ce dernier afin de résoudre les
problèmes éventuels et d’éviter tout malentendu avant leur
incorporation dans le plan de projet
Une fois les deux parties parvenues à un accord, on obtient que les
participants au projet s’engagent sur les exigences.
GL&AGL 2014/2015 Syrine Karoui
Exemple de spécification
17
Plan type d’un document de spécification (Cahier
de charges) :
GL&AGL 2014/2015 Syrine Karoui