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