200 likes | 361 Views
Chapitre 1. Introduction (ref : Bray chapitre 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
E N D
Chapitre 1 Introduction(ref : Bray chapitre 1) IGL301 - Spécification et vérification des exgiences
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
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
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
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
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
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
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
Types d’exigences • fonctionnelles • de performance • de conception • commerciale • d’opération et d’installation IGL301 - Spécification et vérification des exgiences
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
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
Exemples de services • Un membre de la bibliothèque doit pouvoir • emprunter • renouveler • retourner des livres IGL301 - Spécification et vérification des exgiences
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
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
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
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
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
Exigence commerciale • se rapporte au budget et au calendrier IGL301 - Spécification et vérification des exgiences
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
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