Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.

Slides:



Advertisements
Présentations similaires
Analyse et définition des besoins
Advertisements

Les Systèmes d’Information Financière Atelier conjoint ACBF / Banque Mondiale / AFRITAC de l’Ouest Gérer l’application dans le temps, sur les plans fonctionnel,
1 IXERP consulting. L archivage consiste à extraire de la base de données opérationnelle les informations qu' il n est plus nécessaire de conserver «
L'installation et la diffusion 1 LInstallation et la Diffusion.
Les unités dacquis dapprentissage Définition et conception Outil de communication conçu à partir des documents développés pour lorganisation des réunions.
Au programme du jour …. Ce que vous navez pas encore vu Constantes et variables de classe Main et Tests Utilisation de lAPI Existence des packages Existence.
J. Paul Gibson Bureau A 207, Le département LOgiciels-Réseaux
Eric BONJOUR, Maryvonne DULMET
LES BONNES PRATIQUES Présentation du 31 Mars 2005
Système de gestion de bases de données. Modélisation des traitements
Les Ateliers de Génie Logiciel
UML : DIAGRAMME DE CAS d’UTILISATION
La revue de projet.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Etude des Technologies du Web services
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Initiation à la conception de systèmes d'information
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Développement à base des composants
BERNARDIN Benoît Lycée Louis Pergaud
Configuration de Windows Server 2008 Active Directory
Techniques de test Boulanger Jean-Louis.
Mesures de performance organisationnelle Cours ICO 810 Professeur: Michel Pérusse Hiver 2005 Session 9.
I. Intro, contexte, historique des mmorts II. SVN, historique des langages utilisés III. Serveur PHP, client 2D: JavaScript IV. Client 3D: Java, JoGL.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Module 3 : Analyse des performances du serveur
Portée, arrimages et intervenants Évolution des méthodes
Sensibilisation a la modelisation
Mise en oeuvre et exploitation
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le management de l'IVVQ Processus techniques IVVQ
Supports de formation au SQ Unifié
Le processus du logiciel
Vérification dans le cycle de vie GEF492A 2014 Référence: [HvV §14.2, 14.9] Capt Vincent Roberge Collège Militaire Royal du Canada Génie électrique et.
2003 (revisé 2008)SEG Chapitre 11 Chapitre 1 “The Systems Engineering Context” Le contexte du génie de systèmes.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction au Génie Logiciel
VALIDATION VÉRIFICATION & TESTS
Software Requirements المتطلبات البرمجية Cahier des Charges des Logiciels IF5, Automne 2008, Semaine 2.
Formalisation de la politique qualité
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
Année 2006 – 2007 ENSEA © Emeric Rollin
Unified Modeling Language
Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes d’information dans les entreprises (GTI515) Chargé:
L’enseignement de spécialité SLAM
Iup MIAGe 3° année Projet MIAGe Toulouse – Groupe 21 Charte graphique.
Initiation aux SGBD Frédéric Gava (MCF)
1 Structure en MC Principes Stockage des données dans la mémoire volatile d’un ordinateur Problèmes Stockage temporaire «Petits» volumes de données Langages.
TP D’UML Groupe N° 3.
31/05/2007Projet Master 11 Présentation ludique de la recherche opérationnelle à la fête de la science Année universitaire 2006/2007 Sylvain FIX Julien.
INTRODUCTION AUX BASES DE DONNEES
Document de spécification d’exigences Normes IEEE et 29148:2011
Le schéma de circulation des documents
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Du Cahier des Charges à la Spécification Formelle ?
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Diagrammes de comportement Présentation. Diagramme de séquence  Permet de modéliser les envois de messages entre objets chronologiquement.  Modélisation.
Chapitre 12 Surveillance des ressources et des performances Module S41.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 4 Support de cours rédigé par Bernard COFFIN Université.
USE CASE Présentation. Technique importante ● Pilotage par cas d'utilisation (use case) ● Spécifications des besoins fonctionnels des acteurs ● Unité.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Cours: Génie Logiciel Chapitre III: Ingénierie des besoins Niveaux: LFSI 2 Année universitaire
Transcription de la présentation:

Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev - Génie logiciel1 Spécification et gestion des besoins Le cahier de charges et spécification du logiciel

B.Shishedjiev - Génie logiciel2 Le besoin(lexigence) Les besoin ont un service dual. –Base dune offre – ouverts et objet de négociation –Base du contrat – spécifications détallées Besoins dutilisateurs (pour les utilisateurs, définitions) Besoin du système (pour les développeurs, spécifications) Spécification système

B.Shishedjiev - Génie logiciel3 Définitions et spécifications Exemple LIBSYS –Définition –Spécification 1.Le logiciel doit mettre à disposition des moyens daccès et de présentation des fichiers externes produits par autres logiciels. 1.1 Des moyens pour déterminer le type des fichiers externes doit être disponible 1.2 Pour chaque type de fichier externe on doit avoir un outil associé pour traiter le fichier 1.3. Chaque type de fichier externe est présenté comme une icône spécifique sur lécran Lutilisateur doit avoir la possibilité de définir ces propre icônes Quand une icône est choisie loutil associé est appliqué.

B.Shishedjiev - Génie logiciel4 Types de besoins –Fonctionnels –Non-fonctionnels – contraintes Techniques De lenvironnement De lutilisateur –Du domaine

B.Shishedjiev - Génie logiciel5 Besoins fonctionnels Ils décrivent la fonctionnalité ou les services du système Exemple – LYBSYS système Système bibliothécaire qui assure un interface unique pour un grand nombre bases de données darticles qui ce trouvent en différentes bibliothèques. Les utilisateurs cherchent, téléchargent et impriment les article pour leur études personnels

B.Shishedjiev - Génie logiciel6 Exemples des BF Exemples Les besoins peuvent être compris différemment par les utilisateurs et développeurs Utilisateur doit pouvoir chercher dans lensemble initial de bases ou dans un sous-ensemble Le système doit assurer un dispositif approprié pour que lutilisateur soit capable de lire les documents. A chaque commande est affecté un nombre (ORDER_ID) qui peut être copié dans lespace du permanent de la compte

B.Shishedjiev - Génie logiciel7 Propriétés des besoins fonctionnels Complètes Cohérents – sans contradictoires En fait cest presque impossible

B.Shishedjiev - Génie logiciel8 Besoins non-fonctionnels Quest ce quils présentent? –Propriétés du système Fiabilité Temps de réaction Taille de mémoire nécessaire –Contraintes La vitesse des unités dentrée/sortie Les outils CASE utilisés La résolution décran Importance – Même plus grande que les besoins fonctionnels

B.Shishedjiev - Génie logiciel9 Besoins non-fonctionnelles

B.Shishedjiev - Génie logiciel10 Besoins non-fonctionnels Exemples –Besoins de produit –Besoins organisationnels –Besoins externes 8.1. Linterface dutilisateurs doit être implémente en simple HTML sans cadres et applets Java Le processus de développement et la documentation doit conformer avec le standard XYZCo-SP-STAN Le système ne doit exposer aux opérateurs du système aucune information personnelle des clients sauf leur numéro personnel et leur nom

B.Shishedjiev - Génie logiciel11 Mesurer des besoins NF Buts – intention générale de lutilisateur Besoin non-fonctionnel vérifiable Le système doit être facilement utiliser par des contrôleurs expérimentés et il doit organisé de telle façon que le nombre derreur soit minimisé. Contrôleurs expérimentés doivent être capables dutiliser le système après 2 heures de formation. Après cette formation le nombre moyen d,erreurs faites par utilisateurs expérimentés ne doit pas passer 2 par jour.

B.Shishedjiev - Génie logiciel12 Mesurer des besoins NF PropriétéMesure VitesseNombre de transactions par second Temps de réaction Temps de rafraîchir lécran TailleKbytes, Mbytes, GBytes Facile pour utiliserTemps pour formation Nombre décrans^pages daide FiabilitéTemps moyen sans panne Probabilité de refus daccès Fréquence dapparition derreurs Disponibilité RobustesseTemps de restart après une panne. Pourcentage des événements causant une panne Probabilité de perte ou corruption des données PortabilitéPourcentage des instructions qui son machine dépendantes. Nombre de systèmes cibles

B.Shishedjiev - Génie logiciel13 Contradiction des besoins Les besoins contredisent un à lautre très souvent Exemple – Les puces dans un vaisseau despace.

B.Shishedjiev - Génie logiciel14 Besoins du domaine Ils sont dérivé du domaine du système Importance – très haute Difficultés –Ils sont rédigés dans la langue du domaine et ne sont pas compris très bien par les développeurs. –Pour les expert du domaine ils sont implicites (par défaut)

B.Shishedjiev - Génie logiciel15 Besoins du domaine Exemples –LYBSYS –Système de protection de train Il y aura interface standard vers toute base de donnée basé au standard Z39.50 Par raison de contrainte du code de la propriété intellectuelle part des documents doivent être supprimés immédiatement dès leur venu. Selon les besoins dutilisateur ces documents doivent être imprimés sur le serveur local ou être dirigé vers une imprimante de réseau. La décélération dun train est calculée comme: D train = D control + D gradient où D gradient est 9.81m/s 2 * gradient compensé/alpha et où les valeurs du gradient compensé/alpha sont connues pour les différents types de trains

B.Shishedjiev - Génie logiciel16 Besoins dutilisateur Exprimés dans une langue naturelle, tableaux et diagrammes et ils doivent être compris par tout le monde. Dangers –Manque de clarté –Confusion - mixte de besoins fonctionnels et non- fonctionnels –Amalgamation – Union de plusieurs besoins.

B.Shishedjiev - Génie logiciel17 Exemples LYBSYS Problème –Mixte dinformation conceptuel et détaillé 4.5 LYBSYS doit assurer un système de comptabilité qui doit maintenir les paiements dutilisateurs. Les directeurs peuvent configurer le système de tell façon que un utilisateur puisse recevoir un rabat.

B.Shishedjiev - Génie logiciel18 Exemples Quadrillage déditeur graphique Problème - 3 différents types de besoins –Besoin fonctionnel (lactivation du quadrillage) –Besoin non-fonctionnel (les unités du quadrillage) –Besoin dinterface dutilisateur (commutation dunités de mesure) 2.6 Moyens de quadrillage – pour assister au positionnement déléments dans un diagramme lutilisateur peut activer un quadrillage en centimètres ou en pouces, par une option du menu. Au début le quadrillage est inactif. Il peut être activé ou désactivé nimport quand et il peut passé de pouces en centimètres et vice- versa. Quand la taille du diagramme est petite cette option peur être activé mais avec un nombre de lignes réduit afin déviter lencombrement du diagramme.

B.Shishedjiev - Génie logiciel19 Recommandations Développez un format standard et lutilisez après Utilisez la langue dune manière constante. Utilisez futur pour les besoins obligatoires et « il sera bien que » pour les besoins optionnels. Soulignez le texte afin didentifier les plus importantes parties du besoin Evitez lusage dargot informatique.

B.Shishedjiev - Génie logiciel20 Les besoins détaillés (du système) Particularités –Des spécifications plus détaillées –Base de la conception du système –Ils peuvent être inclus dans le cahier de charge et dans le contrat –On peut utiliser et des modèles du système (les UML diagrammes) –Ils sont interdépendants avec larchitecture du système

B.Shishedjiev - Génie logiciel21 Langue de description de besoins Désavantages de la langue naturelle –Ambiguïté –Sur-flexibilité –Manque de structure Alternatives –Langues structurées – formulaires, modèles, tableaux –Langages spécifiques – rarement utilisés –Notations graphiques – UML –Spécifications mathématiques

Formulaires Formulaires standard (exemple) –Définition de la fonction. –Description de saisie et son origine. –Description des sorties and et leurs destinations. –Indication dautres entités dont on a besoin. –Pré and post conditions (sil y en a). –The effets secondaires (sil y en a) de la fonction B.Shishedjiev - Génie logiciel22

Formulaire - Exemple Insulin Pump/Control Software/SRS/3.3.2 FunctionCompute insulin dose: Safe sugar level DescriptionComputes the dose of insulin to be delivered when the current measured sugar level is in the safe zone between 3 and 7 units. InputsCurrent sugar reading (r2), the previous two readings (r0 and r1) SourceCurrent sugar reading from sensor. Other readings from memory. OutputsCompDose – the dose in insulin to be delivered Destination Main control loop Action: CompDose is zero if the sugar level is stable or falling or if the level is increasing but the rate of increase is decreasing. If the level is increasing and the rate of increase is increasing, then CompDose is computed by dividing the difference between the current sugar level and the previous level by 4 and rounding the result. If the result, is rounded to zero then CompDose is set to the minimum dose that can be delivered. RequiresTwo previous readings so that the rate of change of sugar level can be computed. Pre-condition The insulin reservoir contains at least the maximum allowed single dose of insulin.. Post-condition r0 is replaced by r1 then r1 is replaced by r2 Side-effects None B.Shishedjiev - Génie logiciel23

Spécification tabulaire Utilisé comme un complément de la langue naturelle Bonne pour définir plusieurs activités alternatives. B.Shishedjiev - Génie logiciel24

Spécification tabulaire B.Shishedjiev - Génie logiciel25

Modèles graphiques Très bons pour présenter différents points de vue. Ils sont utilisés pour présenter des structures, des changements des états ou une séquence dactivités. B.Shishedjiev - Génie logiciel26

Diagrammes de séquences Ils présentent des séquences dévénements produits par linteraction dun utilisateur avec le système. Tirer des billets dun DB (ATM) –Valider la carte –Traiter la demande –Effectuer la transaction. B.Shishedjiev - Génie logiciel27

Diagrammes de séquences Exemple B.Shishedjiev - Génie logiciel28 t

B.Shishedjiev - Génie logiciel29 Spécification dinterfaces Spécification dinterfaces avec autres systèmes Types –Procédural –Les structures des données échangées –La présentation des données Langage – une notation formalisée interface PrintServer { // defines an abstract printer server // requires:interface Printer, interface PrintDoc // provides: initialize, print, displayPrintQueue, cancelPrintJob, switchPrinter void initialize ( Printer p ) ; void print ( Printer p, PrintDoc d ) ; void displayPrintQueue();

B.Shishedjiev - Génie logiciel30 Le cahier de charges Cest le document principal. Il doit contenir –Les besoins dutilisateur –Les spécifications des besoins Objectif –Base de contrat –Base de conception et développement IEEE structure standard –Introduction. –Description générale. –Besoins spécifics. –Appendices. –Index.

B.Shishedjiev - Génie logiciel31 Structure générale Préface Introduction Glossaire Définition des besoins dutilisateur Architecture du système Spécification des besoins système Modèles du système Evolution du système Appendices Index

B.Shishedjiev - Génie logiciel32 Lingénierie des besoins Etude de faisabilité Trouver les besoins et analyse Spécification des besoins Validation des besoins Rapport de faisabilité Modèles du système Besoins dusager et du système Document des besoins (Cahier de charge)

B.Shishedjiev - Génie logiciel33 Activités du processus Très variées Activités communes de tous les processus –Découverte des besoins; –Analyse des besoins; –Validation des besoins; –Gestion des besoins.

B.Shishedjiev - Génie logiciel34 Le processus spirale

B.Shishedjiev - Génie logiciel35 Létude de faisabilité Une étude courte durée qui vérifie si le système proposé vaut la peine. Objectifs - Vérifie si: –Le système va améliorer lorganisation –Il peut être fait avec la technologie contemporaine et avec le budget donné –Il peut être intégré avec les autres systèmes existants

B.Shishedjiev - Génie logiciel36 Découverte et analyse Le monde engagé - actionnaires –Le personnel technique qui travaille avec les clients Le domaine Les contraintes opérationnelles –Managers –Utilisateurs –Ingénieurs de maintenance –Expertes dans le domaine –Unions professionnels –Les organismes communales et gouvernementales

B.Shishedjiev - Génie logiciel37 Problèmes Les actionnaires ne savent pas quest ce quils veulent Ils expriment les besoin en leur propres termes. Les différents actionnaires ont des besoins contredisants. Des facteurs politiques et organisationnels peuvent influencer les besoins. Les besoins et les actionnaires aussi peuvent changer pendant le durée du processus

B.Shishedjiev - Génie logiciel38 Activités Découverte Classification et organisation Définir les priorités et négociation – résoudre les contradictions Faire la documentation

B.Shishedjiev - Génie logiciel39 Découverte des besoins Information collectée –Concernant les systèmes proposés et existants –En distillant on peut obtenir les besoins dutilisateur et du système Sources –Documentation –Actionnaires –Spécifications des systèmes similaires

B.Shishedjiev - Génie logiciel40 Exemple Les actionnaires du système de distributeurs de billets (ATM) –Clients de la banque –Représentatives dautres banques –Directeurs de la banque –Le personnels des guichets –Administrateurs de BD –Chefs de sécurité –Le département de marketing –Ingénieurs de maintenance de matériel et logiciel –Régulateurs des banques

B.Shishedjiev - Génie logiciel41 Points de vue Points de vue des acteurs Points de vue indirectes Points de vue du domaine

B.Shishedjiev - Génie logiciel42 LYBSYS points de vue

B.Shishedjiev - Génie logiciel43 Interviewer Types dinterviews –Fermé –Ouvert En pratique –Mixte dinterviews ouverts et fermés –Bons pour comprendre les expectations des actionnaires –Mauvais pour les besoins du domaine Interview effectif –Jamais « Quest ce que voulez-vous du système » –Propositions et suggestions

B.Shishedjiev - Génie logiciel44 Scénarios Des exemples de la vie réelle qui montrent comment le système peut être utilisé Structure –Description de la situation au début –Description du flux normal des événements; –Description des choses qui peuvent échouer; –Information pour des activité simultanées; –Description de la situation à la fin du scénario;

B.Shishedjiev - Génie logiciel45 Exemple LYBSYS Initial assumption: The user has logged on to the LIBSYS system and has located the journal containing the copy of the article. Normal: The user selects the article to be copied. He or she is then prompted by the system to either provide subscriber information for the journal or to indicate how they will pay for the article. Alternative payment methods are by credit card or by quoting an organisational account number. The user is then asked to fill in a copyright form that maintains details of the transaction and they then submit this to the LIBSYS system. The copyright form is checked and, if OK, the PDF version of the article is downloaded to the LIBSYS working area on the users computer and the user is informed that it is available. The user is asked to select a printer and a copy of the article is printed. If the article has been flagged as print-only it is deleted from the users system once the user has confirmed that printing is complete.

B.Shishedjiev - Génie logiciel46 Exemple LYBSYS What can go wrong: The user may fail to fill in the copyright form correctly. In this case, the form should be re-presented to the user for correction. If the resubmitted form is still incorrect then the users request for the article is rejected. The payment may be rejected by the system. The users request for the article is rejected. The article download may fail. Retry until successful or the user terminates the session. It may not be possible to print the article. If the article is not flagged as print-only then it is held in the LIBSYS workspace. Otherwise, the article is deleted and the users account credited with the cost of the article. Other activities: Simultaneous downloads of other articles. System state on completion: User is logged on. The downloaded article has been deleted from LIBSYS workspace if it has been flagged as print-only.

B.Shishedjiev - Génie logiciel47 Diagrammes Texte Cas dutilisation Diagramme dactivité Scénario Diagramme de communication Diagramme détats Diagramme de séquence

B.Shishedjiev - Génie logiciel48 Cas dutilisation

B.Shishedjiev - Génie logiciel49 Diagramme de séquence

B.Shishedjiev - Génie logiciel50 Diagramme de communication

B.Shishedjiev - Génie logiciel51 Diagramme dactivité

Validation des besoins Démontrer que les besoins définissent le système désiré par le client. Les erreurs sont trop chères. Propriétés qui doivent être vérifiées –Validité – Sont les fonctions du système mieux adaptées aux besoins du client? –Consistance – Y a-t-il des confits entres les besoins? –Totalité – Toute fonction présente? –Réalisable – Est-ce quon peut les développer? –Vérifiable – Peut-on les vérifier? B.Shishedjiev - Génie logiciel52

Techniques de validation Revues –Recommandations Réguliers Avec les clients –Propriétés validées Vérifiabilité Compréhensibilité Traçabilité – doù vient le besoin Adaptabilité – peut-on changer le besoin sans changer beaucoup dautres choses? Prototype Générer des cas de test B.Shishedjiev - Génie logiciel53