Bases de données   J-L Hainaut 2012 1 III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6.

Slides:



Advertisements
Présentations similaires
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,
Advertisements

Eléments de Génie Logiciel
La Gestion de la Configuration
Architecture Technique de la plate-forme CASTORE
19 septembre 2006 Tendances Logicielles IBM Rational Data Architect Un outil complet de modélisation et de conception pour SGBD Isabelle Claverie-Berge.
Introduction Pour concrétiser l’enseignement assisté par ordinateur
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
UML - Présentation.
CURSUS DE FORMATION AUX NOUVELLES TECHNOLOGIES DE DEVELOPPEMENT UV EJB Entité Module Java Expert.
TP 3-4 BD21.
Urbanisation et Architecture CNAM NFE107
Les Ateliers de Génie Logiciel
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.
MIAGE MASTER 1 Cours de gestion de projet
Initiation à la conception de systèmes d'information
Réalisée par :Samira RAHALI
Sommaire Objectif de Peakup Principes de fonctionnement
Sésame Conseils Bon sens et compétences
Chap 4 Les bases de données et le modèle relationnel
Le Travail Collaboratif ...
Des outils pour le développement logiciel
SYSTEMES D’INFORMATION
Etude globale de système.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
Les concepts et les méthodes des bases de données
Management of Information Technology - e-business
Les étapes du cycle de développement du génie logiciel
Initiation aux bases de données et à la programmation événementielle
Portée, arrimages et intervenants Évolution des méthodes
Sensibilisation a la modelisation
Ingénierie Système en SysML appliquée à la rédaction du cahier des charges Y. Le Gallou Séminaire académique STI2D - Calais – 1er avril 2014.
Introduction.
ANALYSE METHODE & OUTILS
Mise en oeuvre et exploitation
Supports de formation au SQ Unifié
Hatainville Les Moitiers d’Allonne – Tel : Website : stratic.online.com La démarche projet Mars 2001.
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Algorithmes et Programmation
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.
UML : un peu d’histoire H. Lounis.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
Introduction au Génie Logiciel
Extrait du Referentiel BTS Systèmes numériques Options : Informatique et réseaux et Électronique et communication S1 à S9 Définition des savoirs et savoir-faire.
Initiation à la conception des systèmes d'informations
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
Management de la qualité
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
L’enseignement de spécialité SLAM
Principes et définitions
Cours n°4M1.ist-ie (S. Sidhom) UE 203 Promo. M1 IST-IE 2006/07 Conception d’un système d'information sur Internet Architecture trois-tiers : technologies.
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.
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Le Processus Hiver 2002 Petko Valtchev.
UML support à la COO 2ème année IUT Calais-Boulogne Bénédicte Talon
Séance /10/2004 SGBD - Approches & Principes.
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
INTRODUCTION AUX BASES DE DONNEES
Présentation de la méthode Merise
INTRODUCTION AUX BASES DE DONNEES Base et métabase
ISO 9001:2000 Interprétation Article 7 Réalisation du produit
Introduction Module 1.
Analyse, élaboration et exploitation d’une Base de Données
I. Concepts des bases de données Bases de données   J-L Hainaut Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
PRÉSENTATION AGL LES TESTS LOGICIELS LES TEST LOGICIELS 1 Mickael BETTINELLI Brandon OZIOL Gaétan PHILIPPE Simon LUAIRE.
Bases de données   J-L Hainaut I. Concepts des bases de données 1. Motivation et introduction 5. Les SGBD 2. Concepts des bases de données 3.
1. Méthodologie des bases de données
Transcription de la présentation:

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1. Méthodologie des bases de données Support du chapitre 14, Méthodologie des bases de données de l'ouvrage Bases de données, J-L Hainaut, Dunod Version 2 - Janvier 2012

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1. Méthodologie des bases de données 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement 1.1 Introduction 1.2 Méthodes, processus et produits 1.3 Méthodes de développement d'une base de données 1.4 Les modèles de développement 1.5 Les processus d'ingénierie Contenu

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 INTRODUCTION 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Une base de données de taille moyenne : comporte plusieurs centaines de tables, comporte plusieurs milliers de colonnes, Une base de données de grande taille comporte plusieurs milliers de tables, comporte plusieurs dizaines de milliers de colonnes, 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Rappel aux impatients : On ne crée pas une base de données en écrivant directement du code SQL ! SAP repose sur une base de données de près de tables, de près de colonnes, cas un peu spécial : il s'agit d'une multibase

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Espaces de stockage : 382 Tables : 853 Colonnes : Liste des objets (espaces, tables, colonnes, identifiants) : 251 pages Code SQL DDL standard (sans index) : lignes ou 507 pages 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Exemple d'une BD de taille moyenne : 3 Suisses (St Brice) en 1999

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Les 382 espaces de stockage schéma CLICOM

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Les 853 tables (sans FK) schéma CLICOM

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction  nécessité d'une approche disciplinée, structurée et basée sur des techniques et modèles rigoureux. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Principes généraux Une base de données : constitue un modèle fidèle d'un domaine d'application : les données en représentent tous les aspects pertinents et eux seulement; est implantée sur un ordinateur; constitue une source de données efficace pour les utilisateurs et les programmes (persistence, robustesse, disponibilité, efficacité, sécurité, etc.) Une base de données doit donc être : correcte; opérationnelle; efficace 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Le problème principal Comment traduire les besoins exprimés par les utilisateurs en structures de données correctes, opérationnelles efficaces ? 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement ???

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Les utilisateurs Tous les agents (personnes, organismes, programmes d'application clients) impliqués dans la collecte, la production, la consultation, l'utilisation, la transmission, le traitement, la gestion des données. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Les structures de données Le(s) schéma(s) de la base de données Les besoins (ou exigences) Ensemble des propriétés, caractéristiques et conditions que la base de données doit respecter pour satisfaire ses utilisateurs. besoins fonctionnels : contribuent à la fonction (au métier) des utilisateurs besoins non fonctionnels : contribuent à la qualité des services rendus aux utilisateurs

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Le problème principal Comment traduire les besoins exprimés par les utilisateurs en structures de données correctes, opérationnelles efficaces ? 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement ? ? ?

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Les structures de données sont opérationnelles Elles sont conformes à une technologie disponible (p. ex. un SGBD) Les structures de données sont correctes Les schémas représentent les types de données nécessaires et suffisants pour satisfaire les besoins fonctionnels des utilisateurs. Cette représentation est simple, minimale, expressive, normalisée, etc. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Les structures de données sont efficaces Elles induiront une occupation d'espace minimale, des temps d'accès minimaux, une robustesse et une disponibilité satisfaisantes, etc.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.1 Introduction Développer une base de données, en deux mots Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Un ouvrage est une oeuvre littéraire publiée. Il est caractérisé par son numéro identifiant, son titre, son éditeur, sa date de première parution, ses mots-clés (10 au maximum), une brève note de présentation (ces notes sont en cours de constitution), le nom et le prénom de ses auteurs. A un ouvrage correspondent un certain nombre d'exemplaires, qui en sont la matérialisation physique.... besoins des utilisateurs create database BIB create dbspace BIB_DATA; create table OUVRAGE ( NUMERO char(18) not null, TITRE varchar(60) not null, EDITEUR char(32) not null, DATE_1RE_PARUTION date not null, PRESENTATION varchar(255), primary key (NUMERO)) in BIB_DATA;... alter table EXEMPLAIRE add constraint FKDE foreign key (NUMERO)references OUVRAGE;... create unique index IDOUVRAGE on OUVRAGE (NUMERO);... ? code SQL DDL ?

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.2 METHODES, PROCESSUS ET PRODUITS 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.2 Méthodes, processus et produits La construction d'un logiciel s'effectue en plusieurs étapes bien identifiées, chacune réalisant des objectifs bien précis. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Chaque étape correspond à un processus. Un processus utilise des produits (documents, code, interviews, etc.) et fournit de nouveaux produits ou modifie des produits existants. Les résultats d'un processus doivent satisfaire des critères bien précis.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.2 Méthodes, processus et produits P produits i j critères k 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Formellement : produits j = P (produits i ; critères k ) L'exécution du processus P transforme les produits en entrée produits i en produits en sortie produits j selon les critères critères k.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.2 Méthodes, processus et produits 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Une méthode de conception de base de données est un processus dont l'exécution produit une base de données conforme aux besoins d'une communauté d'utilisateurs. Un processus élémentaire (une tâche) n'est pas détaillé. Un processus non élémentaire est constitué d'un enchaînement de (sous-) processus plus simples. Si cet enchaînement et les sous-processus sont formellement définis, le processus peut être automatisé. L'exécution d'un processus peut être manuel, assisté ou automatisée. Aide à l'exécution d'un processus : au moyen d'un atelier de génie logiciel ou AGL (génie logiciel = Computer-aided Software Engineering ou CASE)

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 METHODES DE DEVELOPPEMENT DE BASES DE DONNEES 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle create database BIB create dbspace BIB_DATA; create table OUVRAGE ( NUMERO char(18) not null, TITRE varchar(60) not null, EDITEUR char(32) not null, DATE_1RE_PARUTION date not null, PRESENTATION varchar(255), primary key (NUMERO)) in BIB_DATA;... alter table EXEMPLAIRE add constraint FKDE foreign key (NUMERO)references OUVRAGE;... create unique index IDOUVRAGE on OUVRAGE (NUMERO);... code SQL DDL 1.3 Méthodes de développement de bases de données 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Un ouvrage est une oeuvre littéraire publiée. Il est caractérisé par son numéro identifiant, son titre, son éditeur, sa date de première parution, ses mots-clés (10 au maximum), une brève note de présentation (ces notes sont en cours de constitution), le nom et le prénom de ses auteurs. A un ouvrage correspondent un certain nombre d'exemplaires, qui en sont la matérialisation physique.... besoins des utilisateurs Conception de base de données Conception de base de données

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Un ouvrage est une oeuvre littéraire publiée. Il est caractérisé par son numéro identifiant, son titre, son éditeur, sa date de première parution, ses mots-clés (10 au maximum), une brève note de présentation (ces notes sont en cours de constitution), le nom et le prénom de ses auteurs. A un ouvrage correspondent un certain nombre d'exemplaires, qui en sont la matérialisation physique.... create database BIB create dbspace BIB_DATA; create table OUVRAGE ( NUMERO char(18) not null, TITRE varchar(60) not null, EDITEUR char(32) not null, DATE_1RE_PARUTION date not null, PRESENTATION varchar(255), primary key (NUMERO)) in BIB_DATA;... alter table EXEMPLAIRE add constraint FKDE foreign key (NUMERO)references OUVRAGE;... create unique index IDOUVRAGE on OUVRAGE (NUMERO);... schéma logique (relationnel) schéma physique (Oracle 11) N de 1-N0-N écrit OUVRAGE Numéro Titre Editeur Date 1re parution Mot clé[0-10] Présentation[0-1] id:Numéro EXEMPLAIRE Num série Date acquisition Localisation Etage Rayon Travée Etat[0-1] id:de.OUVRAGE Num série AUTEUR Nom Prénom schéma conceptuel 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Conception de base de données

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Conception d'une base de données besoins des utilisateurs code SQL DDL correction conformité au modèle relationnel efficacité Méthode simplifiée (pour BD relationnelles) 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Analyse conceptuelle Conception logique schéma conceptuel Codage schéma physique code SQL DDL Conception physique schéma logique besoins des utilisateurs correct correct + relationnel correct + relationnel + efficace correction conformité au modèle relationnel efficacité Méthode simplifiée (pour BD relationnelles) 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Conception de base de données

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Conception d'une base de données besoins des utilisateurs schéma conceptuel schéma logique schéma physique code DDL code additionnel vues correction conformité au modèle efficacité etc. Méthode (un peu plus) détaillée 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Méthode détaillée 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement vues schéma logique schéma physique schéma conceptuel Analyse conceptuelle besoins des utilisateurs schéma conceptuel schéma physique code DDL code additionnel Conception logique Conception physique Production de code Définition des vues sous-schémas conceptuels schémas dynamiques spec. logiques traitements SGBD efficacité etc. complet correct normalisé etc. conformité au modèle etc. correction conformité au modèle efficacité etc. schéma logique SGBD vues

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Analyse conceptuelle 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Processus :construction d'un schéma qui exprime formellement et de manière abstraite les besoins fonctionnels des utilisateurs Produits en sortie :sous-schémas conceptuels; schéma conceptuel (global); diagrammes des traitements, etc. Produit en entrée :besoins fonctionnels des utilisateurs Expression du schéma conceptuel : modèle Entité-association ou diagrammes de classes UML (faute de mieux) Critères :complétude, correction, normalisation

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Pour maîtriser la complexité de l'analyse, le domaine d'application est décomposé en sous-systèmes. Chaque sous-système fait l'objet d'une analyse conceptuelle. On obtient ainsi des sous-schémas conceptuels. Le schéma conceptuel global s'obtient par l'intégration des sous-schémas conceptuels. Remarque

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Conception logique 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Processus :construit un schéma logique équivalent au schéma conceptuel et conforme à un modèle de base de données Produit en sortie :schéma logique de la base de données Produit en entrée :schéma conceptuel Expression du schéma conceptuel : modèle logique (exemple : SQL2, SQL3, XML, fichiers) Critère :conformité au modèle logique choisi

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Conception physique 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Processus :construit un schéma physique équivalent au schéma logique, conforme aux spécificités d'un SGBD et satisfaisant des critères d'efficacité Produit en sortie :schéma physique selon un SGBD Produits en entrée :schéma logique besoins des traitements en accès Critères :conformité aux spécificités du SGBD; efficacité en temps d'accès; efficacité en espace occupé; robustesse; disponibilité, etc.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Définition des vues 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Processus :dérive pour chaque sous-schéma conceptuel un ensemble équivalent de vues conformes au modèle logique Produit en sortie :collection de vues Produits en entrée :schéma logique; sous-schémas conceptuels Critère :conformité au modèle logique

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.3 Méthodes de développement de bases de données Production du code 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Processus :produit le code DDL déclarant les structures de données; produit le code additionnel Produit en sortie :code Produits en entrée :schéma physique; vues le DDL est limité et ne peut pas tout exprimer Critères :conformité aux langages du SGBD; qualité du code le code d'une BD de la CE comprend lignes

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.4 LES MODELES DE DEVELOPPEMENT 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.4 Les modèles de développement Méthode présentée comme un enchaînement linéaire de processus = processus traditionnel en cascade (modèle waterfall) 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Analyse conceptuelle Conception logique Conception physique Production de code Définition des vues

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.4 Les modèles de développement Méthode en cascade généralement jugée rigide, lourde, peu adaptative, historique, voire obsolète. Bref, ringarde ! 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement A l'opposé : les méthodes itératives (en spirale, agiles et autres XP) schéma conceptuel (v1) schéma logique (v1) schéma physique (v1) code DDL (v1) Conception BD besoins utilisateurs (v1) En réalité, les deux modèles sont complémentaires : schéma conceptuel (v2) schéma logique (v2) schéma physique (v2) code DDL (v2) Conception BD besoins utilisateurs (v2) schéma conceptuel (vj) schéma logique (vj) schéma physique (vj) code DDL (vj) Conception BD besoins utilisateurs (vj)...

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.5 LES PROCESSUS D'INGENIERIE 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.5 Les processus d'ingénierie On a considéré le processus de construction d'une base de données. Le cycle de vie d'une base de données est beaucoup plus riche Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement conception : construction initiale des schémas rétro-ingénierie : reconstruction a posteriori des schémas d'une base de données non (ou mal) documentée maintenance : correction des erreurs dans les schémas évolution : modification de la sémantique des schémas intégration : fusion de deux bases de données refactoring : amélioration des schémas à sémantique inchangée migration : déplacement d'une base de données vers une autre plateforme technologique (p. ex. CODASYL vers SGBD relationnel) réutilisation : certaines parties sont réutilisées dans un autre contexte

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.5 Les processus d'ingénierie La base de données est un composant essentiel du système d'information. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Système d'information (sens large) : sous-système partiellement automatisé de l’organisation qui inclut en outre les ressources humaines, comprenant les utilisateurs, les décideurs, le personnel informatique et les tiers de l’organisation. Système d'information (sens restreint) : Système fortement couplé constitué d’équipements (ordinateurs, serveurs, réseaux), de logiciels de base, de logiciels d’application et de données. Le SI a pour objectif de satisfaire les besoins en information d’une organisation dans ses activités de production et de gestion. Il assure principalement les tâches de collecte, de transmission, de présentation, de mémorisation et de traitement des données relatives à l’organisation et à son environnement.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.5 Les processus d'ingénierie La base de données est un composant essentiel du système d'information mais il n'est pas le seul Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement... traitements (logiciels d'application), interfaces HM, architecture Ces composants sont en forte interaction : les programmes utilisent les données la BD satisfait les exigences des programmes les interfaces HM présentent les données aux utilisateurs (humains) les interfaces HM transmettent des données à la BD l'architecture de l'application concerne les données : distribution, coopération, nomadisme, duplication, synchronisation, transactions, etc.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 1.5 Les processus d'ingénierie Il est donc naturel que les méthodes de conception de la BD des programmes de l'interface HM de l'architecture présentent des interactions. 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement Malheureusement, les méthodes couvrant l'ensemble de ces aspects ne sont pas encore très répandues en pratique. Exemple : les diagrammes UML (classes, activités, de séquence, d'états) restent des spécifications indépendantes, à charge des concepteurs/développeurs de vérifier leur cohérence.

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle 2. Le modèle Entité-association étendu (+ diagrammes de classes UML) 1.1 Introduction1.5 Les processus d'ingénierie 1.2 Méthodes, processus et produits 1.3 Méthodes de développement de BD 1.4 Les modèles de développement La suite L'analyse conceptuelle 4. La conception logique relationnelle (+ 5. Conception logique relation.-objet) 6. La conception physique relationnelle 7. La production de code SQL DDL 8. Bonus : La rétro-ingénierie

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle Fin du module 1 Module suivant : 2. Le modèle Entité-association étendu

Bases de données   J-L Hainaut III. Méthodologie des bases de données [long] 1. Méthodologie des BD5. Conception physique 2. Le modèle Entité-association6. Production du code 3. Analyse conceptuelle7. Rétro-ingénierie 4. Conception logique relationnelle