Chapitre 1 Bray

Download Report

Transcript Chapitre 1 Bray

Chapitre 1
Introduction
(ref : Bray chapitre 1)
IGL301 - Spécification et
vérification des exgiences
1
De l’importance de l’ingénierie
des exigences (IE)
• augmente avec la taille du problème à
résoudre
• fondation pour la suite du développement
– plus une erreur est introduite tît et détectée tard,
plus elle coûte cher à corriger
• outil de communication
– entre développeur et utilisateur
– entre développeur
• une des premières cause d’échec de projet
logiciel
IGL301 - Spécification et
vérification des exgiences
2
La nature de l’ingénierie des
exigences
• Définir clairement le problème à
résoudre
• Identifier la meilleure solution
• Critères pour l’évaluation des solutions
résident dans la définition du problème
IGL301 - Spécification et
vérification des exgiences
3
Diffilculté de réaliser
l’ingénierie des exigences
• Acquérir la connaissance du domaine
d’application
– sources de connaissance
• utilisateur
• documentation du domaine
• système existant
• Structurer les exigences pour qu’elles soient
– claires
– vérifiables
IGL301 - Spécification et
vérification des exgiences
4
2 étapes de l’IE
• Analyse
– Identification et description du problème
• Spécification
– Description d’une solution au problème
Conception
– Description de l’implémentation d’une solution
– ne fait pas partie de l’ingénierie des exigences
Attention
– les frontières entre ces étapes ne sont pas très
bien délimitées dans la plupart des projets et des
méthodes
IGL301 - Spécification et
vérification des exgiences
5
Classification des problèmes
• selon le domaine ou l’industrie
– commercial, scientifique, ingénierie, etc
• selon le mode d’interaction
– interactif, temps réel, embarqué, batch,
concurrents, distribués
• complexité des traitements
– données
– interaction avec l’environnement
– algorithmes complexes et importants
IGL301 - Spécification et
vérification des exgiences
6
Choix d’une méthode
d’ingénierie des exigences
• dépend de la nature du problème
• limité par les caractéristiques de
l’équipe de développement
– formation
– normes et uniformisation des projets
IGL301 - Spécification et
vérification des exgiences
7
Définition du terme “exigence”
• Une propriété que le système doit satisfaire
– ex: “Un ascenceur ne peut changer changer de
direction que lorsqu’il est stationné à un étage”
– ex: “Un appel téléphonique doit pouvoir être servi
en moins de 12 ms”
• Un service que le système doit offrir
– ex: “À chaque étage, le systeme doit afficher la
position de chaque ascenseur”
IGL301 - Spécification et
vérification des exgiences
8
Types d’exigences
•
•
•
•
•
fonctionnelles
de performance
de conception
commerciale
d’opération et d’installation
IGL301 - Spécification et
vérification des exgiences
9
Distinction entre propriété et
service
• propriété
– satisfaite par l’ensemble des services du
système
– elle se rapport en général à plusieurs
services
• service
– fonction que l’utilisateur peut invoquer ou
utiliser
IGL301 - Spécification et
vérification des exgiences
10
Exemples de propriété
• on ne peut supprimer un livre prêté
• un membre ne peut avoir plus de 5
emprunts en même temps
• un livre réservé ne peut être prêté, sauf
au premier membres de la liste des
réservations
IGL301 - Spécification et
vérification des exgiences
11
Exemples de services
• Un membre de la bibliothèque doit
pouvoir
– emprunter
– renouveler
– retourner
des livres
IGL301 - Spécification et
vérification des exgiences
12
Distinction entre exigence et
fait
• fait
– caractéristique du problème que l’on ne
peut changer
• ex: “le délai maximal entre la commande d’arrêt
et l’arrêt de l’ascenseur est de x secondes”
• exigence
– choix qui est fait par l’utilisateur
• ex: “maximiser le service aux rez-de-chaussé le
matin”
IGL301 - Spécification et
vérification des exgiences
13
Exigences fonctionnelles
• Elles se rapportent aux fonctions offertes par
le système
• Le niveau d’abstraction varie beaucoup
– ex: le système doit pouvoir gérer les prêts et les
réservations
– ex: un membre peut emprunter un livre si toutes
les conditions suivantes sont satisfaites
•
•
•
•
sa carte de membre est active
il n’a pas atteint sa limite de prêt
le livre n’est pas réservé
...
IGL301 - Spécification et
vérification des exgiences
14
Exigences de performance
•
•
•
•
temps réponse du système
espace mémoire utilisé
nb de transactions par minute
fiabilité requise
– ex: système téléphonique : le taux de panne est
spécifié par le CRTC
• utilisabilité
– ex: le système doit pouvoir être utilisé par un
visiteur quelque soit sa langue
IGL301 - Spécification et
vérification des exgiences
15
Exigences d’installation et
d’opération
• se rapporte à l’installation et à
l’opération du système
– ex: le système doit pouvoir être installé à
distance sur le poste des utilisateurs
– ex: le système doit pouvoir être contrôlé à
distance par un technicien
IGL301 - Spécification et
vérification des exgiences
16
Exigences de conception
• se rapporte à la manière de construire
le système
– système d’exploitation
– language de programme
– base de données
– normes
IGL301 - Spécification et
vérification des exgiences
17
Exigence commerciale
• se rapporte au budget et au calendrier
IGL301 - Spécification et
vérification des exgiences
18
Conscensus sur la nécessité
d’effectuer IB
• certaines méthodes en vogue accordent peu
d’importance à la description explicite des
exigences
– eXtreme Programming
– méthodes agiles en général
• principes de base des méthodes agiles
– adaptation plutôt que prévision
– orienté vers les personnes plutôt que les
processus
– emphase sur la programmation
IGL301 - Spécification et
vérification des exgiences
19
Exercices
• Faire les exercices 1 et 2, page 20 et 21
de Bray
• Présentation des solutions par les
équipes en classe le 11 février
IGL301 - Spécification et
vérification des exgiences
20