Académique Documents
Professionnel Documents
Culture Documents
CHAP 5 :
SPÉCIFICATION
Analyse et spécification: méthodes et
techniques
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 2
Un problème de communication
✓ Expertise, jargon du domaine
Client
✓ Indécis, opinion changeant
selon l’offre
✓ Besoins ambigus, éléments
manquants
✓ Schémas
✓ Langages formels
Développeur
✓ Spécifications souvent
incompréhensibles pour les non
initiés.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 3
Les besoins ?
Besoins ?
Besoins d’affaires:
Représentent des objectifs haut niveau d’une entreprise qui
justifient la nécessité de développer ce nouveau projet
• Ex: augmenter le taux de réponse aux campagnes de marketing
ciblées.
Besoins fonctionnels:
Dérivent des besoins d’affaires, c’est-à-dire expriment une action
que doit effectuer le système en réponse à une demande
• Ex: produire automatiquement un rapport de synthèse des ventes
hebdomadaires.
Besoins non fonctionnels:
Décrivent des qualités que le système doit avoir
• Ex: utilisabilité, performance, disponibilité/fiabilité, sécurité, etc.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 7
Besoins (exigences) ?
Besoins (exigences) ?
Selon IEEE 610.12, une exigence est :
• Une condition ou une capacité nécessaire à un
utilisateur pour résoudre un problème ou atteindre
un objectif
• Une condition ou une capacité que doit posséder un
système afin de satisfaire aux termes d'un contrat,
d’une norme ou d’une spécification formellement
imposée.
• La représentation documentée de cette condition ou
capacité.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 9
Besoins (exigences) ?
Selon IEEE 830, une spécification d’exigences comprend :
• Les fonctionnalités : services et fonctions que le système
doit fournir.
• Les interfaces externes : identification des interactions
avec les utilisateurs et les autres systèmes avec lesquels le
nouveau système doit s'intégrer.
• La performance : contraintes d'opération du système en
disponibilité et en temps réponse.
• Les attributs du système : caractéristiques telles que la
portabilité, l'exactitude, la maintenabilité, la sécurité, etc.
• Les contraintes de conception: contraintes sur la façon de
développer le système.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 10
Types de besoins
Les besoins peuvent traduire des exigences
concernant
• L’environnement physique
• Les interfaces
• Les humains et utilisateurs
• Les fonctionnalités
• La documentation
• Les données
• Les ressources
• La sécurité
• L’assurance de la qualité
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 11
Catégories de besoins
• Besoins fonctionnels : ils expriment les fonctionnalités concrètes
du produit
Catégories de besoins
Besoins fonctionnels Besoins non fonctionnels
• Ils expriment une action que
• Besoin d’utilisabilité
doit effectuer le système en
réponse à une demande • Besoins de performance
• Besoins de
• Ex : Le système doit produire
disponibilité/fiabilité
automatiquement un rapport • Besoins de sécurité
de synthèse des ventes • Besoins matériels
hebdomadaires. • Besoins de déploiement
Besoins de performance
• Décrivent les performances d’exécution du système,
généralement en termes de temps de réponse.
• Exemple : (application Web) Temps de chargement d’une page :
Le chargement d’une page Web dans le navigateur ne devrait pas
prendre plus de 15 secondes en condition normale.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 14
Besoins de sécurité
• Peuvent définir les niveaux d’accès possibles au système pour
les utilisateurs du système et les systèmes externes.
• Exemple : Toute information confidentielle fournie par les clients
via l’Internet sera cryptée avec le système XYZ ou par
l’algorithme, la méthode….
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 15
Besoins de déploiement
• Décrivent la façon dont l’application sera livrée à l’utilisateur
final
• Exemple : Tous les logiciels du côté client vont être téléchargés
et installés à partir du navigateur, sans que le poste du client ne
soit redémarré ou configuré manuellement
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 16
Besoins non
fonctionnels
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 17
Documents
Modélisation et
Validation d’analyse et de
spécification
spécification
A // B ou A puis B
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 21
B. Spécification de besoins
• Participants: analyste
• Document: dossier d’analyse et de spécification
• Rédigé par : l’analyste.
• Notation graphique ou textuelle rigoureuse.
• Découpage : modèles statique, fonctionnel et comportemental.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 22
Méthodes traditionnelles :
Méthodes actuelles :
a. Prototypage
Maquette démonstrative, première étude de faisabilité.
Identification des besoins conflictuels, omis ou mal saisis.
• Prototype jetable:
• Pour évaluer des solutions.
• L’attention est portée sur les besoins les moins bien compris.
• Prototype évolutif:
• Raffiné pour produire des versions intermédiaires jusqu’au
produit final.
• L’attention est portée sur les besoins les mieux compris.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 25
Sources à consulter
• Exemple :
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 32
32
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 33
• Priorité: 1. Essentiel
2. Utile
3. Difficile
4. À décider
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 34
• Exemple
• B1. Le programme doit planifier les activités de l’ascenseur de
façon efficace et raisonnable.
• B1.1 Si l’ascenseur ne contient pas de passager, il devrait demeurer au
rez-de-chaussée en attendant la prochaine requête.
• B1.2 L’ascenseur ne devrait pas modifier le sens de son déplacement s’il
contient des passagers qui n’ont pas encore atteint leur destination.
• …
2. Services du système
2.1 Portée du système (diagramme de contexte)
2.2 Besoins fonctionnels
2.3 Besoins des données
(attributs, interrelations)
3. Contraintes du système
3.1 Contraintes d'interface
3.2 Contraintes de performance
3.3 Contraintes de sécurité
3.4 Contraintes opérationnelles
3.5 Contraintes politiques et légales
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 40
4. Eléments du projet
4.1 Planning préliminaire
4.2 Budget préliminaire
Appendices
- Glossaire
- Documents et formulaires d'entreprise
- Références bibliographiques
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 41
1. Modélisation et Spécification
1. Modélisation et Spécification
Styles de spécification
Degré de
formalisme Nature des
Trois axes de classification aspects décrits
Style des
1. Degré de formalisme énoncés
• Spécifications informelles
• Ex. langue naturelle, croquis, etc.
• Spécifications semi-formelles
• Notation graphique dont la sémantique n’est pas
formellement définie. Ex. UML
• Spécifications formelles
• Ex.: Spéc. algébriques, spéc. logiques, réseaux de Petri,
langages de programmation, etc.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 45
Styles de spécification
2. Style des énoncés
• Spécifications opérationnelles
• Tout en décrivant le « quoi ? », on suggère aussi le
« comment ».
• Ex: Diagramme d’activité, réseau de Petri, DFD(Data Flow
Diagram), etc.
• Spécifications descriptives.
• Description des propriétés désirées
• Ex: Diagramme de classe, Modèles E.-A., spéc. logiques, etc.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 46
Styles de spécification
• Spécifications statiques:
• On décrit ce qui ne change pas dans le système (format des
données, propriétés des fonctions)
• Ex: Diagramme de classe, Modèle E.-A (Entités Associations),
etc.
• Spécifications dynamiques
• On décrit ce qui change dans le système: les états, les
réactions aux stimuli.
• Ex: Diagramme d’état, diagramme de séquence, réseaux de
Petri, tables de décision, etc.
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 47
Spécification
2. Validation
• Modèle d’analyse
• Développé lors de la phase d’analyse. C’est un modèle raffiné, moins abstrait que le
modèle d’affaires. Il s’intègre au document d’analyse et de spécification.
• Modélisation UML:
• Identification des cas d’utilisation
• Description textuelle
• Diagramme de cas d’utilisation
• Diagramme de classes (décrivant les entités du domaine)
• Diagrammes de séquence et d’activités pour mieux comprendre les scénarios des
cas d’utilisation.
• Diagrammes d’état pour illustrer le comportement de certains objets.
Modèle
des interactions
Modèle définissant et des changements d’état
la portée du système Modèle de
(vue statique
(diag. de contexte) & comportementale)
conception
BILAN
• Ne pas oublier :
• + aspects non fonctionnels
GI 21 Meriem Zaoui – Génie Logiciel - Chap5 51
Conclusion