Génie Logiciel
Cours 3
Techniques de Spécification
1ère année second cycle
Octobre 2016
AMAR BENSABER Djamel
Objectifs du cours
Permettre à l’étudiant
Voir les différentes
de pouvoir exprimer
techniques de
les besoins d’un
spécification des
logiciel d’une manière
besoins.
formelle ?
DFD
Machines à états finis
RdP
Modèles E/A
Motivations
Besoin de
Quoi et pourquoi comprendre le client
développer ? et de formaliser ces
attentes.
Mieux les besoins
sont capturés et bien Aider le client à
formalisés, plus le exprimer ce qu’il sait
projet a des chances et ce qu’il veut.
de réussir.
Types de besoins
Besoins Besoins non
fonctionnels fonctionnels
• Que doit faire • Contraintes
le système
•Le système du • Exigences ou
point de vue de choix techniques
son utilisateur
•Quoi ? • Comment?
Spécifications
Les spécifications sont l’expression formelle
des besoins (exigences ‘requirements’).
Une spécification fonctionnelle exprime
comment est le système du point de vue
utilisateur.
La spécification d’un système est un contrat
entre les futurs utilisateurs et les
concepteurs. (la nature des fonctions offertes,
les comportements souhaités, les données
nécessaires, etc). Elle intervient pendant la
phase d’Analyse du système.
Spécifications
Une spécification technique exprime
comment est le système d’un point de vue
interne (technique, technologie,…etc.)
Le langage naturel peut être utilisé pour les
spécifications fonctionnelles et / ou
techniques
Problèmes de Recensement
Problèmes de Problèmes de Problèmes Problèmes
compréhension volatilité humains de protée
• Les • Une spécification • Conflits • Savoir
développeurs l’étendue
et le client ne
« valide » peut • Rétention
ne plus l’être d’information d’une
parlent pas le après une courte spécification
même • …etc
période de temps • A quel sous-
langage système elle
appartient?
Sources de Recensement
Personnes ayant Personnes ayant
Utilisateurs
une relation avec une relation avec
directs
le système le système
Le matériel sur Contraintes
Contraintes
lequel va être juridiques et
Techniques
déployé le logiciel administratives
Objectifs
Mécanismes de Recensement
Analyse des
systèmes et
documents
Interviews Questionnaires
actuels
Ateliers Glossaires
Spécification des besoins
De manière générale une spécification
décrit les caractéristiques attendues (le
quoi) d’une implémentation (le comment).
Nous traitons essentiellement de la
spécification d’un système en termes de
fonctions, de données, de comportement.
Les styles de spécification
Il y a deux critères de classification orthogonaux:
La formalité : spécifications informelles (langue
naturelle), semi formelle (graphique), formelle
(définit par des outils méthématiques).
Le caractère opérationnel ou déclaratif
Spécifications opérationnelles décrivent le
comportement désiré par un modèle
Spécifications Déclartives: décrivent
seulement les propriétés désirées.
Techniques de spécification pour la
phase d’analyse
Spécifications en langue naturelle,
Les spécifications techniques dans des
langages spécialisés ou des langages
informatiques de haut niveau,
Les diagrammes de flots de données
(DFD),
Les machines à états finis,
Les réseaux de Petri (RdP).
Techniques de spécification pour les
phases d’analyse
Les modèles E/A,
Les diagrammes des cas d’utilisation.