3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes



Documents pareils
Génie Logiciel. Rappels. C. Crochepeyre Génie Logiciel Rappels 1

Cours de Génie Logiciel

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Organigramme / Algorigramme Dossier élève 1 SI

Présentation générale de la méthode orientée objet : O.M.T. (Rumbaugh & al.)

Méthodes fonctionnelles : Structured Analysis - Structured Design (SA - SD)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Système binaire. Algèbre booléenne

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Modélisation des données

Algorithmique et programmation : les bases (VBA) Corrigé

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Statistique : Résumé de cours et méthodes

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Les diagrammes de modélisation

Urbanisation de système d'information. PLM 4 (Product Lifecycle Management) Préoccupation d'assurance qualité Processus et Procédures

Cours d algorithmique pour la classe de 2nde

Rappel sur les bases de données

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Génie Logiciel avec Ada. 4 février 2013

Université de Bangui. Modélisons en UML

Découverte du logiciel ordinateur TI-n spire / TI-n spire CAS

Présentation du langage et premières fonctions

Algorithmique & programmation

Analyse des Besoins (Spécifications)

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

IFT1215 Introduction aux systèmes informatiques

OCL - Object Constraint Language

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if


IFT2255 : Génie logiciel

Catalogue des connaissances de base en mathématiques dispensées dans les gymnases, lycées et collèges romands.

Application 1- VBA : Test de comportements d'investissements

Introduction à MATLAB R

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Corrigé des TD 1 à 5

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

UML. Diagrammes de classes (suite) Delphine Longuet.

Cours Informatique Master STEP

Conception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA (d'après A.-M. Hugues) màj 17/04/2007

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Chapitre I : le langage UML et le processus unifié

Business Process Modeling (BPM)

TD : Codage des images

Calculs de probabilités

Recherche dans un tableau

Qualité du logiciel: Méthodes de test

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

Bases de données. Chapitre 1. Introduction

Comparaison de trois techniques de modélisation de processus: ADONIS, OSSAD et UML

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Langage SQL : créer et interroger une base

Évaluation et implémentation des langages

Chapitre 1 : Introduction aux bases de données

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

GPA770 Microélectronique appliquée Exercices série A

Excel 2007 Niveau 3 Page 1

Chapitre 5 : Flot maximal dans un graphe

Analyse,, Conception des Systèmes Informatiques

Arbres binaires de recherche

Génie Logiciel Avancé Cours 3 Le modèle à objets

Initiation à Excel. Frédéric Gava (MCF)

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

UML (Diagramme de classes) Unified Modeling Language

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Plan du cours Cours théoriques. 29 septembre 2014

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

L AUTOMATISME LE SIGNAL

Enseignement secondaire technique

Préparation à l examen EFA en Macro

ELP 304 : Électronique Numérique. Cours 1 Introduction

MEGA ITSM Accelerator. Guide de Démarrage

Bases de Données. Plan

UNITÉS ET MESURES UNITÉS DE MESURE DES LONGUEURS. Dossier n 1 Juin 2005

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Annexe 6. Notions d ordonnancement.

MEGA ITSM Accelerator. Guide de démarrage

4. EXPRESSION ET ANALYSE DU BESOIN INTRODUCTION LE CAHIER DES CHARGES... 1 Critères de succès...2 Expression du besoin en langage

Exemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions

Information utiles. webpage : Google+ : digiusto/

Table des matières. I Mise à niveau 11. Préface

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

ALGORITHMIQUE ET PROGRAMMATION En C

Big Data et Graphes : Quelques pistes de recherche

GUIDE Excel (version débutante) Version 2013

Extrait des Exploitations Pédagogiques

Transcription:

PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason 47

3. SPÉCIFICATIONS DU LOGICIEL Passage: de l'expression des besoins à la conception Spécifications fonctionnelles Analyse fonctionnelle et méthodes étape avant : Conception détaillée des logiciels Relations entre les logiciels C.Crochepeyre Génie Logiciel Diapason 48

Document de spécifications des logiciels définitions abstraites des logiciels destiné aux développeurs Outils de spécifications des logiciels: domaine de la recherche orientation vers des techniques formelles définition du langage de spécification approches différentes de spécifications C.Crochepeyre Génie Logiciel Diapason 49

Définition des langages de spécification approche opérationnelle définition d'une machine abstraite et de ses opérations approche dénotationnelle définitions de fonctions par logique mathématique espace de valeurs abstrait propriétés des valeurs décrites par des techniques mathématiques approche axiomatique constructions de fonctions basées sur des axiomes C.Crochepeyre Génie Logiciel Diapason 50

Les approches différentes de spécification spécifications d'interface spécifications opérationnnelles spécifications de type abstrait C.Crochepeyre Génie Logiciel Diapason 51

Spécifications d'interface logiciel = boîte noire fonction de la boîte = contraintes E/S E logiciel S C.Crochepeyre Génie Logiciel Diapason 52

Exemple ECHANGE_ETAT (S: in out, P) output forall J, PREMIER(S) <=J<=DERNIER(S): S(J) = ARRETE then S(J) = PRET or S(J) = PRET then S(J) = ACTIF or S(J) = ACTIF then S(J) = ARRETE spécification relativement longue pas d'information sur la réalisation utilisation pour des cas simples C.Crochepeyre Génie Logiciel Diapason 53

Spécifications opérationnelles description abstraite des transformations E/S description des opérations du programme E logiciel S C.Crochepeyre Génie Logiciel Diapason 54

Exemple traitement // des capteurs type ETAT is (ARRETE,PRET,ACTIF) type P is array(1,...,n) of ETAT type CAPT is array(1,...,n) of (HAUT,BAS) CHANGE_ETAT (S: in out P; CAPTEURS: CAPT) forall J, PREMIER(CAPTEURS) <=J<=DERNIER(CAPTEURS) do if CAPTEURS(J) = HAUT then S(J):= if S(J) = ACTIF then ARRETE else succ(s(j)) end CHANGE_ETAT C.Crochepeyre Génie Logiciel Diapason 55

Spécifications de type abstrait type abstrait = valeurs et opérations associées description du comportement des opérations sur chaque type abstrait approches: modèle abstrait modèle algébrique: noms des opérations, arguments des opérations axiomes de comportement des opérations C.Crochepeyre Génie Logiciel Diapason 56

Exemple de description de type abstrait array of E interface CREER(A,B: INTEGER) -> array of E PREMIER(X:array of E) -> INTEGER DERNIER(X:array of E) -> INTEGER VAL(X: array of E; I:INTEGER) -> E METTRE(X:array of E; I:INTEGER; V:E) -> array of E axioms CREER(A,B) = if B<A then ERREUR METTRE(X,I,V) = if... C.Crochepeyre Génie Logiciel Diapason 57

De la spécification à l analyse fonctionnelle Une bonne spécification doit avoir: une taille minimale pour un niveau de spécification donné Cela permet ensuite de faire une analyse fonctionnelle: - identification des sous systèmes fonctionnels - décomposition en éléments et opérations associées - détail des algorithmes utilisés pour chaque élément C.Crochepeyre Génie Logiciel Diapason 58

Méthode d Analyse Structurée SA E. YOURDON (1979) spécification statique du logiciel analyse descendante: affinages successifs des traitements description des flots de données des traitements ensemble de diagrammes ordonnés et hiérarchisés fonctions élémentaires = primitives fonctionnelles outils graphiques et textuels C.Crochepeyre Génie Logiciel Diapason 59

Outil graphique DFD Data Flow Diagrams diagramme de flots de données = interconnexion de fonctions traversées par une circulation de données 4 éléments graphiques le traitement ou process = cercle le flot de données = trait l'unité de stockage = 2 traits l'entité externe ou terminateur = rectangle C.Crochepeyre Génie Logiciel Diapason 60

S1 S2 e1 e1 e2 1.0 - DFD - s1 0.0 0.0 P1 e2 Si: source Pi: puits ei: entrée si: sortie 0.0: process s1 3.0 2.0 C.Crochepeyre Génie Logiciel Diapason 61

Les process sont identifiés par un verbe et un N transforment les flots de données en entrée en flots de données en sortie Les flots de données portent un nom unique et significatif les extrémités: une à un process l'autre à un process, terminateur, unité de stockage ramifications possibles C.Crochepeyre Génie Logiciel Diapason 62

Exemple ELEMENTS_PAIE PAIE_EDITEE EDITER PAIE 2.0 PAIE_EN ATTENTE C.Crochepeyre Génie Logiciel Diapason 63

Les annotations procédurales D1 D3 * + D2 D4 * ET + OU C.Crochepeyre Génie Logiciel Diapason 64

Les unités de stockage un nom descriptif les flèches = opérations L/E pas de nom sur les flots de données en E/S lecture FICHIER_PAIE écriture FICHIER_CLIENTS maj FICHIER_NOTES C.Crochepeyre Génie Logiciel Diapason 65

Les terminateurs une personne ou un périphérique: agents extérieurs un nom pas de règles précises sur leurs flots de données SAISIE ECRAN C.Crochepeyre Génie Logiciel Diapason 66

Outils textuels En complément des outils graphiques DFD : Dictionnaire de données DD Description des flots de données DFD C.Crochepeyre Génie Logiciel Diapason 67

Dictionnaire de données DD création simultanée diagrammes flots données contient sémantique, structure, flots et stockage de chaque donnée adresse EST nom ET adresse rue ET nom ville ET code postal adresse = nom + adresse rue + nom ville + code postal C.Crochepeyre Génie Logiciel Diapason 68

Les opérateurs DD SYMBOLES SIGNIFICATION = + max min {} est composé de séquence; avec; et répétition; suivi de (au moins min, au plus max)......... ( ) >> >> * * sélection, ou(exclusif), soit: optionnel littéral commentaire C.Crochepeyre Génie Logiciel Diapason 69

Description des flots de données DFD précision du sens des mots "l'identité" de la personne signifie son nom et son prénom type et domaine définition délimitée par * type de valeur: entier, car,... domaine la plage de valeurs nom = *domaine: car, limite: majuscules C.Crochepeyre Génie Logiciel Diapason 70

Outils graphiques/textuels : Diagrammes de structures de données DSD Spécifications de process PSPEC algorithmes arbres de décision tables de décision diagrammes C.Crochepeyre Génie Logiciel Diapason 71

Diagrammes de structures de données DSD description des relations entre les données données simples dans le DD données complexes décrites: textuellement (opérateurs DD) graphiquement (diagrammes M. Jackson) identité nom prénom C.Crochepeyre Génie Logiciel Diapason 72

Spécifications de process PSPEC Par algorithmes Séquence ou traitement traitement_1 traitement_2 traitement_2 Alternatives composées Si <condition> vraie Alors Décider entre traitement_1 Cas_1 vraie Alors traitement_1 Sinon Cas_2 vraie Alors traitement_2 traitement_2 Autrement Finsi Erreur Fin Décider C.Crochepeyre Génie Logiciel Diapason 73

Spécifications de process PSPEC Par arbres de décision TAUX_REMISE montant <10.000Fr >10.000Fr 1ère remise -5% -10% nb achats 1er 2ème 1er 2ème 2ème remise -0% -2% -0% -5% C.Crochepeyre Génie Logiciel Diapason 74

Spécifications de process PSPEC Par tables de décision règles R1 R2 R3 R4 <10.000 V V F F conditions 2ème achat F V F V remise 2% V remise 5% V V V actions remise 10% V V C.Crochepeyre Génie Logiciel Diapason 75

Spécifications de process PSPEC Par diagrammes M. Jackson et Warnier N. Schneiderman Tant que condition vraie vraie Si faux traitement_1.1 vraie Si faux traitement 1.2 traitement_2.1 traitement_2.2 C.Crochepeyre Génie Logiciel Diapason 76

Conclusion SA spécification statique et analyse descendante outils graphiques Data Flow Diagrams DFD: process et flots de données outils textuels dictionnaire de données DD description des flots de données DFD Outils graphiques/textuels diagrammes de structures de données DSD spécifications de process PSPEC C.Crochepeyre Génie Logiciel Diapason 77

Méthode SA Temps Réel SA-RT P. WARD et S. MELLOR (1985) extension de SA au temps réel méthode SA: vue statique des process méthode SA_RT: vue dynamique des process systèmes temps réels: systèmes combinatoires: E => S systèmes séquentiels: E + états internes => S outils graphiques et textuels C.Crochepeyre Génie Logiciel Diapason 78

Diagramme de flots de données: DFD le process ou traitement : un cercle les flots de données: un trait les flots discrets: une flèche les flots continus: une double flèche l'unité de stockage: deux traits parallèles le terminateur: un rectangle C.Crochepeyre Génie Logiciel Diapason 79

Exemple DFD en SA_RT température max flot discret température flot continu Contrôle température arrêt si température>max stockage température Flot discret -> : valeur valide à des instants précis Flot continu ->> : valeur continuellement valide dans le temps C.Crochepeyre Génie Logiciel Diapason 80

Dictionnaire de données: DD répertoire données flots de données stockages des données flots de contrôle stockage des flots de contrôle ou événements informations d'après les diagrammes de flots de données DFD informations d'après les flots de contrôle CFD C.Crochepeyre Génie Logiciel Diapason 81

Diagramme de structure de données: DSD description des relations complexes relations entre fichiers description textuelle avec notation du DD description graphique (diagrammes M Jackson) C.Crochepeyre Génie Logiciel Diapason 82

Spécifications de process: PSPEC description des traitements élémentaires par: algorithmes abstraits arbres de décision tables de décision diagrammes équations fonctions de gestion de bases de données commentaires... C.Crochepeyre Génie Logiciel Diapason 83

Diagramme de flots de contrôle: CFD CFD comprend: les flots de contrôle ou événements ou signaux événements: vecteurs pointillés données discrètes: traits pleins les flots de contrôle "prompt" flèche pointillée E: activation flèche pointillée D: désactivation flèche pointillée T: déclenchement (Tigger) les process de contrôle cercle pointillé les stockages de contrôle ou stockage d'événements deux traits C.Crochepeyre Génie Logiciel Diapason 84

Spécifications de contrôle: CSPEC Diagramme État-Transition: STD états ou attributs d'état: rectangle représentant un intervalle de temps pendant lequel l'objet a un comportement déterminé signaux ou transitions: transitions d'entrée transitions de sortie OU Table État-Transition: STT états: lignes de la table transitions d'entrée: colonnes de la table transitions de sortie, nouvel état: intersection C.Crochepeyre Génie Logiciel Diapason 85

Exemple STD Four froid T monte vers 200 T descend vers 0 T = 200 Fin cuisson Four chaud Four verrouillé T descend vers 0 C.Crochepeyre Génie Logiciel Diapason 86

Exemple STT Transitions Etats T monte vers 200 T = 200 T descend vers 0 F. froid ES: F. chaud TS: aucune F. chaud ES: F. verrouillé TS: T = 200 ES: F. froid TS: aucune F. verrouillé ES: F. chaud TS: Fin cuisson C.Crochepeyre Génie Logiciel Diapason 87

Spécifications de "timing": TSPEC les tables de temps de réponses fréquence de répétition des signaux temps de réponse entre signal entrée et signal sortie temps d'activation dans un état... C.Crochepeyre Génie Logiciel Diapason 88

Méthodologie d'analyse TR expression des besoins: méthodes statiques: SADT ou EA méthodes dynamiques: réseaux de Pétri ou SA_RT spécification du logiciel: modèle essentiel modèle d'environnement diagramme de contexte liste des événements externes modèle de comportement aspects statiques: DFD, DD, DSD, PSPEC aspects dynamiques: CFD, DD, CSPEC, TSPEC C.Crochepeyre Génie Logiciel Diapason 89

Conclusion: spécifications du logiciel analyse fonctionnelle du logiciel des méthodes différentes mais: des outils similaires (graphes, textes, tables) des besoins différents (statique ou dynamique TR) des niveaux différents (besoins, logiciels) des apprentissages plus ou moins faciles Nous venons de voir : l étude des besoins les spécifications du logiciel Passons à: l analyse détaillée et la conception du logiciel C.Crochepeyre Génie Logiciel Diapason 90