Chapitre 2 Modélisation de Bases de Données avec UML

Documents pareils
Bases de données. Chapitre 1. Introduction

Modèle Entité/Association

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

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

A. Définition et formalisme

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

Introduction aux Bases de Données

GOL502 Industries de services

Bases de Données Avancées

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Introduction aux Bases de Données

Université de Bangui. Modélisons en UML

Rappel sur les bases de données

Information utiles. webpage : Google+ : digiusto/

Modélisation des données

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

UML et les Bases de Données

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

UML (Paquetage) Unified Modeling Language

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

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

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

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

UML (Diagramme de classes) Unified Modeling Language

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

Généralités sur le Langage Java et éléments syntaxiques.

Bases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre

Modélisation conceptuelle des données Responsable: Dominique Schneuwly, Regis Caloz

Le niveau conceptuel : la modélisation des bases de données

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

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

Bases de données Cours 1 : Généralités sur les bases de données

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Resolution limit in community detection

M1 : Ingénierie du Logiciel

I- Définitions des signaux.

Université de La Rochelle. Réseaux TD n 6

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

Chaîne opératoire de réalisation d une base de données. ANF «Comment concevoir une base de données» (29-30/01/2015)

Cours STIM P8 TD 1 Génie Logiciel

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

Modélisation Conceptuelle. Partie 2: Le modèle Entité-Association

Application web de gestion de comptes en banques

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Table des matières Sources

ECTS CM TD TP. 1er semestre (S3)

Projet Active Object

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

Comprendre Merise et la modélisation des données

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

CQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD)

I4 : Bases de Données

MERISE. Modélisation de Systèmes d Information. Pierre Gérard. DUT Informatique 2ème année 2004/2005. IUT de Villetaneuse - Université de Paris 13

Conception, architecture et urbanisation des systèmes d information

Année Universitaire ère année de Master Droit Mention Droit Privé 1 er semestre. 1 er SEMESTRE 8 matières CM TD COEFF ECTS.

LE MODELE CONCEPTUEL DE DONNEES

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Chapitre 1 Généralités sur les bases de données

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)

Mercredi 15 Janvier 2014

Modèle conceptuel : diagramme entité-association

Méthodes d évolution de modèle produit dans les systèmes du type PLM

Chapitre VI- La validation de la composition.

FctsAffines.nb 1. Mathématiques, 1-ère année Edition Fonctions affines

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

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

Introduction à la conception de systèmes d information

Gouvernance des mesures de sécurité avec DCM-Manager. Présentation du 22 mai 2014

Cours de bases de données. Philippe Rigaux

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Développement d un interpréteur OCL pour une machine virtuelle UML.

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

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

Méthode d analyse Merise

Conception d une base de données

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Développement spécifique d'un système d information

OBJECTIFS ET ARCHITECTURE DES SGBD

3. UML - Unified Modeling Language Diagrammes statiques

UML. Diagrammes de classes (suite) Delphine Longuet.

Diagrammes de Package, de déploiement et de composants UML

BD réparties. Bases de Données Réparties. SGBD réparti. Paramètres à considérer

TD/TP PAC - Programmation n 3

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

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

TP1 : Initiation à Java et Eclipse

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

UE5 Mise en situation professionnelle M1 et M2. Note de cadrage Master MEEF enseignement Mention second degré

Modèle Entité-Association. C est un modèle important pour la conception des bases de données relationnelles. Il

Présentation. Au programme. Fonctionnement. A l issue de ce module vous devriez...

Transcription:

Objectifs de la Modélisation Chapitre 2 Modélisation de Bases de Données avec UML Sarah Cohen-Boulakia Permettre une meilleure compréhension Le monde réel est trop complexe Abstraction des aspects cruciaux du problème Omission des détails Permettre une conception progressive Abstractions et raffinements successifs Possibilité de prototypage rapide Découpage en modules ou packages Génération des structures de (et de traitements) LRI, Université Paris-Sud, Orsay 1 2 Élaborer un modèle conceptuel Rappel : Modélisation à plusieurs niveaux Isoler les concepts fondamentaux Que vont représenter les de la BD? Découvrir les concepts élémentaires du monde réel Décrire les sous-concepts Faciliter la visualisation du système Diagrammes avec notations simples et précises Compréhension visuelle et pas seulement intellectuelle 3 Réel Modèle conceptuel Modèle logique Modèle Physique Indépendant du modèle de Indépendant du SGBD Dépendant du modèle de Indépendant du SGBD Dépendant du modèle de Dépendant du SGBD Médecin effectue Visite Relationnel Objet XML Organisation physique des Structures de stockage des Structures accélératrices (index) 4

Gestion des réservations de billets de trains (SNIF) Réservation Num reservation Nom client Adresse client numéro trajet date Départ - gare - heure Arrivée - gare - heure Étapes, Wagons, Trains Trajet numéro trajet gare départ heure départ destination finale heure d arrivée 5 Du Modèle E-A à UML Entité-Association (ou Entity-Relations) Ensemble de concepts pour modéliser les d'une application (d'une entreprise) Ensemble de symboles graphiques associés Formalisé en 1976 par P. Chen Etendu vers E/R généralisé puis vers l'objet avec UML (cf. cours C. Barras) Pourquoi le Diag. des Classes d UML? Un seul formalisme (international, massivement répandu, breux outils de conception existants) De mieux en mieux adapté aux BDs 6 Exemple de modèle en UML Classe numres {PK} : int numtraj {PK} : int achete Une première modélisation du système SNIF en UML 7 Ensemble de ayant un lien conceptuel ayant des caractéristiques communes qui peuvent être identifiées et que l'on souhaite représenter Classe Classe d objets Entité Concept regroupées sous la notion de classe 8

Attribut Attribut, caractéristique, champs, propriété Propriété des classes Prend sa valeur dans un «domaine de valeurs» : Types simples uniquement entier, chaîne de c., réel, Date Toutes les instances d'une classe ont les mêmes (s d ) attributs NB : Par soucis de simplicité on pourra omettre les types 9 4534 Bordeaux Montpellier 3/12/07 7h15 10h35 Instances Instance de classe : élément de la classe donné Instance d'entité, donnée, instance, objet, occurrence d entité numtraj {PK} : int 9836 Lyon Montpellier 24/11/07 17h25 19h05 Attention : il arrive qu on dise «entité» pour désigner la classe ou l instance. NumSS : 1790256768 Nom : Payen Pré : Olivier NumSS : 2800256765 Nom :Bazin Pré : Lucie 10 Identifiant = Clé Un identifiant (aussi appelé clé) est un attribut qui permet de retrouver une instance de classe unique à tout instant parmi celles de la classe NSS dans, NumTraj dans Un identifiant peut être constitué de plusieurs attributs (clé composée) [Nom, Pré] pour l identifiant d un Client si le numéro de sécurité sociale n est pas connu En UML (dans ce cours) : On ajoute {PK} identifier l attribut clé NB : si plusieurs attributs forment la clé on notera {PK} à coté de chacun de ses attributs numres{pk} : int Association relation lien achete Association NB : une association possède au moins un ou un rôle mé Les classes sont reliées par des associations Entre instances : on associe un trajet unique à chaque réservation Entre classes : abstraction des associations entre instances 11 12

Un trajet est utilisé (dans le temps) par plusieurs réservations (mais peut n être associé à aucune réservation à sa création dans le système) Cardinalités min et max Un client achète une ou plusieurs réservations Une réservation appartient à exactement un client Cardinalités min et max (suite) Cardinalité maximum Indique le bre maximum d'instances d'une classe participant à une association Cardinalité minimum Indique le bre minimum d'instances d'une classe participant à une association Une réservation exactement un trajet Définition de cardinalité : Nombre d instances en relation dans une association NB : Cette notion n est pas présente dans E/R de base, elle l est dans E/R étendu et UML 13 14 Associations entre deux classes Association reflexive achete prenduneoption personne 2 ---------- numss pre offreduo personne 1 mere ---------- numss pre enfants Plusieurs associations entre deux mêmes classes est possible Remarques On ne modélise ici que les mères qui ont au moins un enfant Les enfants ont exactement une mère (pas de cas d adoption, beaux parents etc.) 15 16

0..1 Serv Ser Degré d'une association monservrestraj SERVICE numservice {PK}: int description : string On évitera au maximum les relations de degré > 2 (toute relation n-aire peut se décomposer en plusieurs relations binaires, cf. TD) Degré = Nombre d instances impliquées dans une relation ; La plupart des associations sont de degré 2 (binaires) Association de degré 3 ou 4 etc. possibles. Attention : certains outils de modélisation bcp utilisés ne gèrent pas le losange 17 NumRes {PK}: int Classe : string Date : Date Propriété d'une association INFO_TRAJ_RES - numplace {PK}: int NumTraj {PK}: int GareDep : string JHDep : Date JHArrivee : Date Informations propres à l association Niveau de détail moins fort qu une association ternaire + une seule valeur possible pour un couple fixé NumSS {PK}: int Nom : string Pre 18 RES_FRET ------------------ qte : int RES_PASSAGER ------------------- nbpassagers : int Héritage Attributs de la classe mère en commun aux classes filles (accessibles par l identifiant) Le concept d héritage fait état de classes filles et d une classe mère 19 ADRESSE -------------------- idadd {PK} numrue Rue codep Ville Entité Faible sonadresse Classe (Entité) qui n existe qu en étroite collaboration avec une autre (ou des autres) L identifiant d une e.f. est composé de ses attributs et de l identifiant d une autre classe (accessible par une association) Peut etre représenté par une composition en UML (dépendance des objets) Exemple : un client est identifié par son, pré et son adresse (idadd) ------------- {PK} pre {PK} Client est une entité faible NB : Si une adresse est supprimée, les clients qui y habitent aussi (on ne peut plus les identifier!) 20

La pratique de la conception Bien comprendre le problème à résoudre En «aller-retour», utilisation du cahier des charges, informations par le client etc. Faire revoir le modèle par d'autres définir en commun les objets de l entreprise Essayer de conserver le modèle simple Bien choisir les s Ne pas cacher les associations sous forme d'attributs Documenter les significations et conventions Élaborer le dictionnaire des Nom et définitions des classes, attributs, associations numres : int 0..N PB classique : Délimiter le système Gestion de l association de trains aux trajets et de wagons aux trains : dans le système? 0..N numtraj : int numss : int utilise TRAIN - idtrain : int. compo WAGON - idwagon : int poidsvide : int poidsplein : int 21 22 Comment trouver les Classes? Établies à partir du texte de définition de besoins (ou cahier des charges) Classes : s ou s composés apparaissant dans le texte (mais pas tous!) Objets physiques, personnes, abstractions Exemple dans SNIF Objets physiques : Train Abstraction : Reservation, Trajet Personne : Client Ne pas confondre avec les acteurs extérieurs au système (utilisateurs etc.)! Comment trouver les Associations? Chercher les relations entre les objets de certaines classes Communications, associations physiques ou logiques, contenus, actions Dans SNIF Association : un client achète des réservations Contenu : Étape = partie d un trajet Action : un wagon est utilisé par un train Réfléchir au type d association : simple, héritage Réfléchir aux cardinalités 23 24

Quelques principes pour concevoir un «bon» schéma E/R Il faut remplacer un attribut multiple par une association et une classe supplémentaire ------------ adresse : string ADRESSE ------------------ numrue Rue codep Ville habite ---------------- pre Quelques principes pour concevoir un «bon» schéma E/R Il faut tenter de factoriser les classes quand c'est possible, éventuellement en ajoutant un nouvel attribut FAN ---------- pre couleur JOUEUR ----------------- pre PERSONNE ------------------ pre JOUEUR FAN -------------- couleur 25 26 Quelques principes pour concevoir un «bon» schéma E/R Attention aux redondances d'associations PERSONNE ------------------- pre habite ADRESSE apourtelpers apourteladr TELEPHONE ----------------- numero Si tous les numéros de téléphone d une personne sont liés à ses adresses apourtelpers est redondante avec le reste du schéma A SUPPRIMER Exercice 1 - Modélisation La base de de l université Paris 128 contient des informations au sujet de ses enseignants (identifiés par leurs numéros de sécurité sociale) et de ses UE (identifiés par leur numéro Apogée). Construisez les diagrammes de classes UML représentant les contraintes ci-dessous indépendamment les unes des autres. a) Tout professeur doit enseigner au moins une UE et une UE est enseignée par exactement un enseignant b) Tout professeur doit enseigner au moins une UE et une UE est enseignée par au moins un enseignant c) Tout professeur doit enseigner au moins une UE et une UE est enseignée par au moins un enseignant par semestre 27 28