Modèles. Outils. Méthodes. Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 4



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

Analyse,, Conception des Systèmes Informatiques

IFT2255 : Génie logiciel

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

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

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

Chapitre I : le langage UML et le processus unifié

Les diagrammes de modélisation

Modélisation des données

Université de Bangui. Modélisons en UML

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

Information utiles. webpage : Google+ : digiusto/

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

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

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Cours de Génie Logiciel

Analyse des Besoins (Spécifications)

Analyse et Conception objet du logiciel Analyse et conception objet du logiciel : Méthode de conception objet et notation UML.

UML (Paquetage) Unified Modeling Language

Le génie logiciel. maintenance de logiciels.

Méthodologies de développement de logiciels de gestion

Systèmes d information et bases de données (niveau 1)

Management des processus opérationnels

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

2. Activités et Modèles de développement en Génie Logiciel

Introduction IV. Comparaison MERISE/UML/SCRUM Approche fonctionnelle Schéma Entité/Association Méthodologie...

Merise. Introduction

Méthodes de Conception Orientés Objet (MCOO) SOMMAIRE

Introduction au génie logiciel

Nom-Projet MODELE PLAN DE MANAGEMENT DE PROJET

UML (Diagramme de classes) Unified Modeling Language

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

Comprendre Merise et la modélisation des données

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

Conception, architecture et urbanisation des systèmes d information

Évaluation et implémentation des langages

Conception des bases de données : Modèle Entité-Association

Introduction aux Bases de Données

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

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Rappel sur les bases de données

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

Sommaire. Conduite de projet Méthode d analyse et de conception. Processus unifié. Objectifs d un processus de développement

Modélisation de bases de données : Le modèle relationnel

4.2 Unités d enseignement du M1

Bases de données. Chapitre 1. Introduction

Chapitre 1 : Introduction aux bases de données

Architecture d'entreprise : Guide Pratique de l'architecture Logique

MERISE. Modélisation et Conception de Systèmes d Information

Sommaire. G. Pujolle, F. Ravat, C. Soulé-Dupuy, G. Zurfluh

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

Cours d Analyse et Conception des Systèmes d Information (d Outils et Modèles pour le Génie Logiciel)

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

GOL502 Industries de services

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

Générer du code à partir d une description de haut niveau

Business Process Modeling (BPM)

What s New. HOPEX V1 Release 2. MEGA International Avril V1R2 What's New 1

Le Guide Pratique des Processus Métiers

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

MEGA ITSM Accelerator. Guide de Démarrage

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

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

1 Introduction et installation

Modélisation des processus métiers PowerAMC 16.0

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Rational Unified Process

Modélisation des processus métiers PowerAMC 16.5

Sujet de thèse CIFRE RESULIS / LGI2P

Brève introduction à la recherche d!information sur le Web à base d!agents logiciels

MEGA Database Builder. Guide d utilisation

Chap. 3: Le modèle de données entité-association (E.A.)

Conduite de projets informatiques Développement, analyse et pilotage (2ième édition)

Modèle conceptuel : diagramme entité-association

UML 2.0. (IUT, département informatique, 1 re année) Laurent AUDIBERT

Programmation graphique des applications de contrôle-commande

Nom de l application

2.DIFFERENTS MODELES DE CYCLE DE VIE

Urbanisation de système d'information. PLM 3 (Product Lifecycle Management) Élaborations, versions, variantes, configurations

Diagramme de classes

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

URBANISME DES SYSTÈMES D INFORMATION

MEGA Application Portfolio Management. Guide d utilisation

Concevoir un modèle de données Gestion des clients et des visites

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

Les processus métiers : concepts, modèles et systèmes

UML et les Bases de Données

Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique

Resolution limit in community detection

Méthodes de développement. Analyse des exigences (spécification)

Ingénierie des Modèles. Méta-modélisation

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

conférence : l'avenir des systèmes d'information à l'horizon de 2015

MEGA Merise. Guide d utilisation

Pascal Brunot Hadrien Cambazard UML FOR BUSINESS INTELLIGENCE PROJECT

Réussir la modélisation UML des phases amont Techniques de «pré-modélisation» : un pont vers le modèle

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

Modèle Entité/Association

Transcription:

Typologie des modèles, outils et des méthodes de spécification en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille 2008 Typologie des modèles : analytiques, conceptuels, structurels, comportementaux Typologie des outils informels ou semi-formels : Dictionnaire de données, tables de décision, d'états-transitions Diagrammes de flot de données, de structures, d'états-transitions, Réseaux de Pétri et le Grafcet, Modèle Entité-Association de base et étendu Typologie des méthodes : fonctionnelles, systémiques, orientées objet Probl é m atique général e ( 1) Génie logiciel : l'art de spécifier, de concevoir, de réaliser, et de faire évoluer, avec des moyens et dans des délais raisonnables, des programmes, des documentations et des procédures de qualité en vue d'utiliser un ordinateur pour résoudre certains problèmes le GL considère le logiciel comme un objet manufacturé complexe le but du GL est de définir des techniques de "fabrication" justifiées soit par la théorie, soit par la pratique depuis sa "naissance" en 1968 sous le patronage de l!otan, le GL a permis de développer des logiciels : plus fiables qu'il y a vingt ans, plus facilement modifiables et satisfont mieux leurs utilisateurs ceci en utilisant des méthodes, des modèles et des outils Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 1 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 2 Probl é m atique général e ( 2) M odèl e s pour la sp é c i f i cation e t l a conc e ption Modèles Outils modèles pour la spécification du logiciel : exprimer les caractéristiques de l'objet à développer Méthodes selon une vue externe (comportement, propriété, contraintes) modèles pour la conception du logiciel : Modèles = représentation abstraite de tout ou partie du réel Outils = formalisme, langue permettant d'exprimer un modèle Méthode = {modèle, outils} + démarche de mise en oeuvre donner une description interne de l'objet à développer la plus explicite possible (structure, comportement des composants) Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 3 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 4

Q ualité et classification des modèles Qualité générale d'un modèle abstraction : permet de décrire le système sans faire référence aux détails de toutes ses parties refinement : un sous-ensemble du modèle doit pouvoir être décrit à l'aide d'un autre modèle : du même type (description progressive) d'un autre type pour compléter la description ou exprimer un point de vue différent lisibilité : le modèle doit être simple à interpréter (intérêt des représentations graphiques) Classification des modèles iconique : reproduction en miniature d'un objet réel (voiture, avion, maquette bâtiment,... pour soufflerie) analogique : exploitent une apparence physique différente du phénomène ou objet du réel (réseau électrique... pour une suspension de voiture) analytique : mathématiques et logiques pour représenter les lois physiques de l'objet conceptuels : emploi de symboles pour la représentation des aspects qualitatifs. Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 5 très répandus et très variés M odèl e s analytiques utilisés pour prédire ou estimer (partiellement) le comportement de l'objet utilisés comme moyen de validation classification des modèles analytiques (Wilson 86) : déterministe non déterministe statique algébriques statistiques et probabilistes modèles indépendants du temps dynamique différentielles stochastiques modèles dépendants du temps Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 6 M odèl e s conceptuels permettent de : clarifier une situation (organigramme d'une société) illustrer un concept (boucle de rétroaction) définir des entre entités d'une structure (circulation de flux d'information) définir une méthode classification des modèles conceptuels (Wilson 86) : structurel comportemental O utils pour développer des Modèles de structures e t d e comportements Outils pour des modèles de structures pour les activités : diagramme de flots de données (DFD) pour les données : diagramme de Jackson, Entité-Association, modèles objets,... pour les fonctions : diagrammes hiérarchiques de fonctions, Process Structure Graph (DARTS), diagramme de Booch,... Outils pour des modèles de comportement activités données vertical horizontal continu discret mathématiques : décrit le domaine des variables d'entrée et de sorties et la transformation des entrée vers les sorties formels : langage Z, modèle explicite dans VDM (Vienna Development Method -IBM Vienne),... speudo-code automates à états finis state charts (Harel 87) réseaux de Pétri Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 7 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 8

Pr é s e ntations format é e s spécifications écrites uniquement en langage naturel (même respectent plans types normalisés : STD 830, DoD 2167-A) posent des problèmes de non cohérence, d'ambiguïté, de non complétude => présentations formatées les plus connues : le dictionnaire de données les tables de décision, les tables d'état-transition Dictionnaire des données ou glossair e spécifications des données utilisées aux différents niveaux d'analyse et de conception contient en général les définitions des termes utilisés classées par ordre alphabétique présente des sigles, codes ou symboles employés dans les documents, précise les synonymes, alias. permet de définir la structure d'une donnée (notation syntaxique stricte - Naur-Backus) peut intégrer des informations sur les fichiers contenant les données et les processus qui les utilisent peut indiquer le nombre des versions stockées (pour chaque information) avec dates de création ou de modification Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 9 Tabl e d e d é c i sion représentation tabulaire de tous les cas des valeurs d'entrée d'un processus et des valeurs de sortie correspondant à chacune de ces combinaisons adaptée à la spécification de systèmes dont les sorties sont, à tout moment, uniquement définies par les entrées : condition 1 O O O O N N N N condition 2 O O N N O O N N condition 3 O N O N O N O N action 1 X X X X action 2 X action 3 X action 4 X Tabl e é t ats-transitions composée de colonnes représentant les différents états du système pour chaque état, les événements qui provoquent des transitions d'un état à un autre, les actions à effectuer et l'état suivant pour chaque transition adaptée à la spécification de systèmes dont les sorties sont déterminées par les entrées et l'historique des états antérieurs représentation similaire : matrice états-transitions Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 10 O utils graphiques ou semi-forme l l e s favorisent communication entre développeurs du système et futurs utilisateurs de celui-ci introduisent un aspect formel en général accompagné de "textes" informels => techniques "semi-formelles" outils graphiques ou semi-formels les plus utilisés : les diagrammes de flot de données (DFD) les diagrammes de structures les diagrammes d'états-transitions les réseaux de Pétri et le Grafcet l'entité-association de base et étendu Diagrammes de flots de données (DFD) : Data Flow Diagrams) notations : Myers (1975), Yourdon (1975), Constantine&Yourdon (1979) intégrés dans diverses méthodes utilisés pour la modélisation des traitements permettent de montrer comment chaque processus transforme ses entrées (flots de données entrants) en sorties correspondantes (flots de données sortants) concepts majeurs : noeud : processus arc orienté : flot de données dépôt de donnée : stockage de données = regroupements de données utilisables par tout processus souvent accompagnés de diagrammes de contexte présentant les échanges de flots de données avec les acteurs extérieurs au système à modéliser bien adaptés à la description de systèmes réactifs (systèmes toujours prêts à réagir à l'arrivée de données) Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 11 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 12

Exempl e d e Diagramme de flots de donn é e s Exempl e d e Diagramme de cont e x t e associé à un DFD Le diagramme de contexte permet de présenter les échanges de flots de données avec les acteurs extérieurs au système à modéliser : le processus "Évaluation" prend en compte des critères obtenus à partir du flux entrant des "Critères de sélection" pour évaluer une proposition rangée dans la zone de stockage "proposition" par rapport à un projet rangé dans la zone de stockage "projet". la note attribuée (flux sortant) est rangée dans la zone de stockage "proposition". le flux entrant correspondant aux "critères de sélection" provient d'un acteur extérieur "responsable du projet" une "société de service" est aussi un acteur extérieur qui fournit une proposition. Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 13 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 14 Diagrammes de structure : Structured Charts Exempl e d e Diagramme de structure introduits par Constantine, Yourdon & Myers (1979) permettent de décrire l'architecture d'un système, comme une hiérarchie de fonctions par un arbre, à lire de gauche à droite une connexion entre 2 fonctions est représentée par une flèche orientée de la fonction appelante vers la fonction appelée les paramètres d'entrée et de sortie sont identifiés par de petites flèches orientées : données des paramètres destinées à être traitées : données des paramètres servant au contrôle : il est possible de traduire par des symboles particuliers les structures itératives (boucles) et alternatives (choix parmi différents cas) Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 15 la hiérarchie du système "Sélection des projets" la fonction "Évaluation" opère sur les données "Proposition" (sortie de la fonction "Saisie") à partir des informations de contrôle "Critères" et retourne un "Résultat" la fonction "Décision" donne lieu à une alternative. Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 16

Diagrammes é t ats-transitions : permettent de spécifier l'incidence des événements sur les différents états du système en indiquant les actions à effectuer utile pour la réalisation des tables ou des matrices états-transitions. adaptés pour modéliser le cycle de vie d'un objet (cf. méthodes d'analyse orientée objet) une proposition peut passer par différents états : soumis, en examen, accepté, refusé les changements d'états sont dus aux événements : "Arrivée d'une proposition", "Affectation d'un comité de lecture", "Critères satisfaits" ou "Critères non satisfaits". préciser ainsi les valeurs prises par un attribut "état" (défini par ailleurs dans un modèle de données) Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 17 R é s e a u de Petri (RdP) outil mathématique pour la modélisation du comportement d'un système dynamique à événements discrets utilise : des places (cercles), correspondant aux différents états du système, des transitions (traits) associées aux changements d'états et des arcs reliant places et transitions. des techniques de marquages (jetons) permettent de définir l'état du système à un moment donné aux transitions peuvent être associés des conditions ou des événements externes. On parlera alors de réseaux de Petri interprétés divers RdP : colorées, synchronisés,... a inspiré d'autres modèles de comportement : formalisme de traitement MERISE G r afcet résultat d'un groupe de travail AFCET = outil de spécification des automates logiques, inspiré des RdP norme internationale (1987), très utilisé par la communauté française des automaticiens Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 18 Exempl e d e R é s e a u de Petri M odèl e Entité-Association Modèle des données [P.Chen 75] [Nanci, Tardieu, Pascot 75] norme ISO : Entity- Relationship Model représente les états du système à partir de l'appel d'offre auprès de plusieurs sociétés jusqu'à la sélection des solutions proposées. tant que l'appel d'offre est en cours (1 jeton dans P1), dès qu'une proposition est enregistrée (1 jeton dans P2), on peut passer à l'état "Examen propositions" (1 jeton est consommé dans P1, 1 jeton est consommé dans P2, 1 jeton est produit dans P3 et un jeton est produit dans P1 car on reste dans l'état "Appel d'offre en cours"). connu en France sous différentes appellations : le modèle Entité-Association, Entité- Liaison, Entité-Relation, Objet-Relation ou Modèle Individuel. repose sur différents concepts : entité relation/association propriété/attributs d'entités ou de relation cardinalités/multiplicités permet d'identifier et de caractériser les objets du domaine et d'établir leurs liens, les cardinalités donnent des renseignements sur le minimum et le maximum d'occurrences d'une association liant une entité à une autre utilisé dans de nombreuses méthodes d'analyse sous sa forme basique ou sous une forme étendue prenant en compte des concepts introduits par les méthodes orientées objet bien adapté à la conception de bases de données Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 19 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 20

Exempl e d e m odèle Entité-Relation (basique) Typologie des méthod e s d'analyse e t d e conception propriétés CIRCUIT #CIR DUREE.CIR KM.CIR PRIX.CIR associé a porte sur NB.PLACE.CLI RESERV.CLIENT #RES.CLI DAT.RES.CLI ST.RES.CLI 1,N VOYAGE fait CLIENT #CLI ADR.CLI SOLD.CLI NOM.CLI nombreuses méthodes se sont développées en suivant l'évolution des langages et techniques différentes manières de les classer approches descendantes / approches ascendantes : méthode descendante : on décompose le système de base en sous-systèmes, chacun d'eux pouvant être ensuite redécomposé jusqu'à l'obtention de modules programmables "simplement". entité composé de NO.JOUR.CIR HEBERGEMENT #HEB ADR.HEB SOLD.HEB PRIX.HEB conduit à DAT.HEB NB.PENSIONS concerne #VOY DAT.DEB assure RESERV.HEBERGEMENT #RES.HEB DAT.RES.HEB relation ACCOMPAGNATEUR #ACC ADR.ACC NOM.ACC Cadinalité/multiplicité méthode ascendante : on part de modules déjà existants que l'on essaie de composer. certaines méthodes insistent beaucoup sur une conception en vue d'une réutilisation d'autres sont un compromis entre les 2 approches citées classification communément admise : les méthodes fonctionnelles (dirigées par les traitements) les méthodes systémiques les méthodes orientées objet. Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 21 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 22 L e s m é t hodes Fonctionnell e s ont leur origine dans le développement des langages procéduraux très utilisées plus orientées vers les traitements que vers les données mettent en évidence la ou les fonctions à assurer et proposent une approche hiérarchique, descendante et modulaire en précisant les liens entre les différents modules. utilisent souvent des notations de type DFD avec l'évolution des langages de programmation et des systèmes, prennent en compte la modélisation des données et les problèmes posés par le temps réel Méthodes fonctionnelle les plus connues : SA-SD (Strutured Analysis -Structured Design - Yourdon, DeMarco, Constantine, Gane & Sarson,...) SADT (Structured Analysis and Design Technique - SA-RT (Strutured Analysis -Structured Design - Hatley & Pirbhai 1991) spécialisé temps réel... L e s m é t hodes Syst é m i q u e s méthodes s'appuyant sur une approche systémique définissent différents niveaux de préoccupation ou d'abstraction proposent de nombreux modèles complémentaires sont souvent spécialisées pour la conception d'un certain type de systèmes Méthodes systémiques les plus connues : MERISE (méthode la plus utilisée en informatique de gestion en France et grande partie de l'europe) AXIAL (IBM - systèmes d'information), MEGA (Mega - systèmes d'information),... OSSAD (systèmes bureautiques) SAGACE (CEA - systèmes complexes (centrales atomiques)) GRAI (Productique)... Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 23 Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 24

L e s m é t hodes Orient é e s O bj e t influencées par le développement du langage Ada et des langages de programmation basés sur les objets C++ la plupart aborde l'étude d'un problème est réalisée suivant 3 aspects : aspect statique : identifie les propriétés des objets et leurs liaisons avec les autres objets, aspect dynamique définit le cycle de vie des objets en précisant : le comportement des objets, les différents états par lesquels ils passent et les événements qui déclenchent ces changements d'états. aspect fonctionnel : précise les fonctions réalisées par les objets par l'intermédiaire des méthodes Méthodes orientées objet les plus connues : OMT (Rumbaugh et al. 1995) puis UML (Rumbaugh et al. 1998) OOA (Object Oriented Analysis - Coad & Yourdon 1992) BOOCH (Booch 1991) OOA (Object Oriented Analysis - Shlaer & Mellor 1992) Objectory-OOSE (Jacobson & al. 19XX) HOOD... Typologie des Outils et Méthodes de spécification en Génie Logiciel - Bernard ESPINASSE - - 25