2 Processus de conception de BD

Slides:



Advertisements
Présentations similaires
Génie Logiciel 2 Julie Dugdale
Advertisements

Unified Modeling Language
Ingénierie des Modèles
Réflexivité et réseaux d’ information
Autour des objets et du formalisme UML
T. Libourel Autour des objets T. Libourel
Urbanisation de Systèmes d'Information
Laboratoire Informatique Image Interaction
M.E.D.A.L. Module dEnseignement à Distance pour lArchitecture Logicielle Alain VAILLY Diapositive n° 1 IUP MIAGE - Université de NANTES IUP-MIAGE 3ème.
Régine Laleau Centre d'Étude et de Recherche en Informatique du CNAM
UML - Présentation.
Gestion de la persistance des objets
Introduction à la POO: Les classes vs les objets
Diagramme de Classes Bonjour,
UML : GENERALITES Rappel Diagrammes Niveaux de visions
Création d’un langage d’action pour un logiciel MDA
Principes de la technologie orientée objets
Les Cas d’utilisation.
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Modélisation des bases de données avec UML
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
RDF(S)
Classes abstraites et Interfaces
Static modeling, Thu G. Falquet, L. Nerima.
Chapitre 3 Les diagrammes de classes
Vers la conception objet
3 Introduction au modèle relationnel 3.1 Concepts de base
Département de génie logiciel et des TI Université du Québec École de technologie supérieure Systèmes dinformation dans les entreprises Systèmes dinformation.
SYSTEMES D’INFORMATION
Structures de données IFT-2000
Introduction au paradigme orienté-objet (suite)
Types de données abstrait et mécanismes d'encapsulation
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Portée, arrimages et intervenants Évolution des méthodes
UML (2) Modèle dynamique le diagramme de séquence
Sensibilisation a la modelisation
Diagramme de classes Introduction Notions de classe
Patrons de conceptions de créations
Transformation de modèles Kick Off Motor Jean Marc Jézéquel & Didier Vojtisek La vision Triskell : Umlaut NG.
Supports de formation au SQ Unifié
Management des Systèmes d’Information (MSI)
Programmation objet La base.
1 A llier R elations et O bjets pour M odéliser Projet Sherpa INRIA Rhône-Alpes Visite Schneider 15/09/99.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
5ième Classe (Mercredi, 19 octobre) Prog CSI2572.
C++ L’HERITAGE Fayçal BRAÏKI DUT INFORMATIQUE.
PHP objet Jérôme CUTRONA 10:13:27 Programmation Web
Présentation AICHA REVEL INGENIEUR D’ÉTUDE STERIA DEPARTEMENT TRD
La programmation par objets Principes et concepts Etude de Smalltalk.
Unified Modeling Language
21/04/2015© Robert Godin. Tous droits réservés.1 6Gestion des contraintes d’intégrité en SQL n Contrainte d'intégrité statique – respectée pour chacun.
ISNET-43 Atelier de génie logiciel Approche fonctionnelle ou objets Concurrence ou complémentarité ? Synthèse.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
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.
(UML) Unified Modeling Language
Nouvelles Technologies Internet & Mobile
UML : DIAGRAMME DE CLASSES
Générateur d’applications WEB de gestion de données Modèle conceptuel de données.
Introduction à la Programmation Orientée Objet
Diagramme de classe Classe Objet Associations Diagramme de classe.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 2 Méthodologies d’analyse.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
© Robert Godin. Tous droits réservés.
© Robert Godin. Tous droits réservés.
Transcription de la présentation:

2 Processus de conception de BD Pourquoi ? Quoi ? Comment ? 13/04/2017 © Robert Godin. Tous droits réservés.

Processus de développement Cycle de vie en cascade Cycle de vie itératif ... 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2017-04-13 2.1 Planification Pourquoi développer un système ? Étude d'opportunité risques coûts bénéfices Document des exigences logicielles spécification de haut niveau du système diagramme de contexte UML : diagramme des cas d ’utilisation 13/04/2017 © Robert Godin. Tous droits réservés. © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.1.1 Etude de cas : SyLeRat Développement d'un système d’information pour la bibliothèque LeRat gestion des collections service de prêt suivi des retards service de repérage documentaire alimenté par SystèmeAcquisitions 13/04/2017 © Robert Godin. Tous droits réservés.

2.1.2 Acteurs et cas d'utilisation Cas d ’utilisation (use cases) Jacobson (92) interface au système d'un point de vue de son utilisation par acteurs Acteur entité externe qui interagit avec le système 13/04/2017 © Robert Godin. Tous droits réservés.

Diagramme de contexte de SyLeRat 13/04/2017 © Robert Godin. Tous droits réservés.

Documentation d'accompagnement pour le cas d'utilisation GérerPrêt 2017-04-13 Documentation d'accompagnement pour le cas d'utilisation GérerPrêt 13/04/2017 © Robert Godin. Tous droits réservés. © Robert Godin. Tous droits réservés.

2.1 Analyse : modèle conceptuel de données Modèle conceptuel de données : représentation abstraite des informations à placer dans la base de données qui est indépendante de la technologie utilisée pour l’implémentation ~Données persistantes du Platform Independent Model (PIM) de Model Driven Architecture (MDA) de l’OMG 13/04/2017 © Robert Godin. Tous droits réservés.

Représentation du modèle conceptuel Formalisme entité/association (Chen, 76) diverses extensions Modèles sémantiques graphes conceptuels (Sowa), SDM, ... UML ~ entité/association++ diagramme de structure statique (diagrammes de classes) 13/04/2017 © Robert Godin. Tous droits réservés.

2.3 Diagrammes de classes UML 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.1 Notion d'objet et de classe Objet (instance d'une classe) significatif pour le domaine d'application caractérisé par identité état comportement Attribut (variable membre, variable d'instance) contenant pour une valeur 13/04/2017 © Robert Godin. Tous droits réservés.

Représentation d ’un objet en UML 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Classe Abstraction Caractéristiques communes à un ensemble d'objets attributs associations opérations 13/04/2017 © Robert Godin. Tous droits réservés.

Représentation d ’une classe en UML 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Intension/extension Intension (intent) d'une classe propriétés communes (attributs, associations et opérations) Extension (extent) d'une classe ensemble des objets correspondant à la classe extension représentée par un objet ? 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Terminologie Objet instance, occurrence, entité Classe à l ’analyse abstraction pas toujours une classe d ’implémentation concept, entité, type (stéréotype UML) stéréotype « entité » pour données persistantes du domaine d ’application valeur étiqueté {persistent} 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Stéréotype UML 13/04/2017 © Robert Godin. Tous droits réservés.

Identifiant d'objet (OID, object identifier) Mécanisme d ’identification pas deux objets avec le même OID Implicite non visible réalisation traitée à la conception Mécanisme de référence 13/04/2017 © Robert Godin. Tous droits réservés.

Pas besoin d ’identificateur explicite ! Par opposition au relationnel 13/04/2017 © Robert Godin. Tous droits réservés.

Identifiant naturel (ou clé «key») pour une classe Ensemble d'attributs minimal qui identifie chacun des objets de manière unique ~clé candidate du relationnel Représentation par une contrainte UML 13/04/2017 © Robert Godin. Tous droits réservés.

Syntaxe générale pour la spécification des attributs en UML [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés} visibilité peut être : + publique # protégé - privé nom de l'attribut multiplicité ( [1..1] par défaut) téléphone[1..2]: String adresse [0..1]: String auteurs [1..*]: String 13/04/2017 © Robert Godin. Tous droits réservés.

Syntaxe pour attributs (suite) [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés}] type OCL Boolean, Integer, Real, String, enum{valeur1,…, valeurn} types de la plate-forme visée type non pré-défini classe de stéréotype «datatype» stéréotype « enumeration » ~domaine en modélisation conceptuelle 13/04/2017 © Robert Godin. Tous droits réservés.

Syntaxe pour attributs (suite) [visibilité] nom [multiplicité] [: type] [= valeurInitiale] [{propriétés}] valeurInitiale à la création de l ’objet propriétés prédéfinies : changeable (par défaut) addOnly frozen portée souligner attribut de classe (Rational Rose 98 :$) 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.2 Notion de lien et d'association binaire 13/04/2017 © Robert Godin. Tous droits réservés.

Rôles et multiplicités Nom de rôle Exemple avec nom de rôle et d ’association 13/04/2017 © Robert Godin. Tous droits réservés.

Association réflexive 13/04/2017 © Robert Godin. Tous droits réservés.

Contraintes pré-définies pour les associations Ordonné (ordered) Modifiable (changeable) InsertionSeulement (addOnly) Fixe (frozen) Exclusives entre deux associations 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.3 Agrégation Cas particulier d ’association 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Composition 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.4 Associations qualifiées Partition des objets associés Contrainte d ’identification locale {UNIQUE : Cours, numéro, session} 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.5 Classes associatives Données spécifiques à l ’association Incorrect si plusieurs notes pour un Etudiant et un Cours 13/04/2017 © Robert Godin. Tous droits réservés.

Réification de l ’association Plusieurs notes pour un Etudiant et un Cours 13/04/2017 © Robert Godin. Tous droits réservés.

Autre solution : classe associative + agrégation 13/04/2017 © Robert Godin. Tous droits réservés.

Solution avec classe Groupe Créer un objet session ? 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.6 La généralisation/ spécialisation Propriétés communes : classe plus générale Héritage 13/04/2017 © Robert Godin. Tous droits réservés.

Notation multi-segments 13/04/2017 © Robert Godin. Tous droits réservés.

Mise en facteur par délégation ? 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Discriminant Discriminant 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.6.1 Contraintes pré-définies pour la généralisation Complète /incomplète Disjointe/chevauchante Italique pour nom de classe abstraite 13/04/2017 © Robert Godin. Tous droits réservés.

Notation alternative par une note UML 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.7 Héritage multiple 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.7.1 Multi-classification et héritage multiple 13/04/2017 © Robert Godin. Tous droits réservés.

Sous-classes de jointure? 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Modélisation par rôle 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.8 Attribut de classe Souligner l ’attribut (UML 1.1) 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.9 Opérations Signature d'une opération nom et type des paramètres 13/04/2017 © Robert Godin. Tous droits réservés.

Syntaxe générale pour la spécification des opérations en UML [«stéréotype»][visibilité] nom [(listeParamètres)] [: typeRetour] [{propriétés}] visibilité peut être : + publique # protégé - privé nom de l ’opération listeParamètres syntaxe d ’un paramètre [direction] nomParamètre : typeParamètre [ = valeurDeDéfaut] direction (in, out ou inout) 13/04/2017 © Robert Godin. Tous droits réservés.

Syntaxe pour opérations (suite) [«stéréotype»][visibilité] nom [(listeParamètres)] [: typeRetour] [{propriétés}] typeRetour optionnel portée souligner opération de classe (Rational Rose 98 : $) abstraite en italique 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Interface Opérations publiques visibles Définition d ’une interface de classe classe stéréotypée 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. Définitions Méthode une implémentation d'une opération Polymorphisme même signature d'opération méthodes distinctes pour des classes distinctes Surcharge (« overloading ») même nom avec signatures différentes 13/04/2017 © Robert Godin. Tous droits réservés.

Catégories d ’opérations Constructeur Modifieur Lecteur ... 13/04/2017 © Robert Godin. Tous droits réservés.

2.3.10 Spécification de contraintes Entre { } A proximité de l ’élément concerné après spécification d ’un attribut avant un ensemble d ’attributs Note reliée aux éléments Près d ’un trait pointillé Près d ’une flèche pointillée Syntaxe langue naturelle OCL (version 1.1 d ’UML) 13/04/2017 © Robert Godin. Tous droits réservés.

© Robert Godin. Tous droits réservés. 2.3.11 Eléments dérivés 13/04/2017 © Robert Godin. Tous droits réservés.

2.4 Modèle entité-association : ERD de Oracle Designer 13/04/2017 © Robert Godin. Tous droits réservés.

Notation des multiplicités 13/04/2017 © Robert Godin. Tous droits réservés.