2 Processus de conception de BD Pourquoi Quoi
2 Processus de conception de BD Pourquoi ? Quoi ? Comment ? 01/03/2021 © Robert Godin. Tous droits réservés. 1
Processus de développement Cycle de vie en cascade n Cycle de vie itératif n. . . n 01/03/2021 © Robert Godin. Tous droits réservés. 2
2. 1 Planification n n Pourquoi développer un système ? Étude d'opportunité – – – n risques coûts bénéfices Document des exigences logicielles – – spécification de haut niveau du système diagramme de contexte n 01/03/2021 UML : diagramme des cas d ’utilisation © Robert Godin. Tous droits réservés. 3
2. 1. 1 Etude de cas : Sy. Le. Rat n Développement d'un système d’information pour la bibliothèque Le. Rat – – – 01/03/2021 gestion des collections service de prêt suivi des retards service de repérage documentaire alimenté par Système. Acquisitions © Robert Godin. Tous droits réservés. 4
2. 1. 2 Acteurs et cas d'utilisation n Cas d ’utilisation (use cases) Jacobson (92) – n interface au système d'un point de vue de son utilisation par acteurs Acteur – 01/03/2021 entité externe qui interagit avec le système © Robert Godin. Tous droits réservés. 5
Diagramme de contexte de Sy. Le. Rat 01/03/2021 © Robert Godin. Tous droits réservés. 6
Documentation d'accompagnement pour le cas d'utilisation Gérer. Prêt 01/03/2021 © Robert Godin. Tous droits réservés. 7
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 n ~Données persistantes du Platform Independent Model (PIM) de Model Driven Architecture (MDA) de l’OMG n 01/03/2021 © Robert Godin. Tous droits réservés. 8
Représentation du modèle conceptuel n Formalisme entité/association (Chen, 76) – n Modèles sémantiques – n diverses extensions graphes conceptuels (Sowa), SDM, . . . UML – – 01/03/2021 ~ entité/association++ diagramme de structure statique (diagrammes de classes) © Robert Godin. Tous droits réservés. 9
2. 3 Diagrammes de classes UML 01/03/2021 © Robert Godin. Tous droits réservés. 10
2. 3. 1 Notion d'objet et de classe n Objet (instance d'une classe) – – significatif pour le domaine d'application caractérisé par n n identité état comportement Attribut (variable d'instance) 01/03/2021 membre, – contenant pour une valeur – état © Robert Godin. Tous droits réservés. variable 11
Représentation d ’un objet en UML 01/03/2021 © Robert Godin. Tous droits réservés. 12
Classe n Abstraction n Caractéristiques communes à un ensemble d'objets 01/03/2021 – attributs – associations – opérations © Robert Godin. Tous droits réservés. 13
Représentation d ’une classe en UML 01/03/2021 © Robert Godin. Tous droits réservés. 14
Intension/extension n Intension (intent) d'une classe – n propriétés communes associations et opérations) (attributs, Extension (extent) d'une classe – ensemble des objets correspondant à la classe n extension représentée par un objet ? 01/03/2021 © Robert Godin. Tous droits réservés. 15
Terminologie n Objet – n instance, occurrence, entité Classe à l ’analyse – – – 01/03/2021 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} © Robert Godin. Tous droits réservés. 16
Stéréotype UML 01/03/2021 © Robert Godin. Tous droits réservés. 17
Identifiant d'objet (OID, object identifier) n Mécanisme d ’identification – n n pas deux objets avec le même OID Implicite – non visible – réalisation traitée à la conception Mécanisme de référence 01/03/2021 © Robert Godin. Tous droits réservés. 18
Pas besoin d ’identificateur explicite ! n Par opposition au relationnel 01/03/2021 © Robert Godin. Tous droits réservés. 19
Identifiant naturel (ou clé «key» ) pour une classe n Ensemble d'attributs minimal qui identifie chacun des objets de manière unique – n ~clé candidate du relationnel Représentation par une contrainte UML 01/03/2021 © Robert Godin. Tous droits réservés. 20
Syntaxe générale pour la spécification des attributs en UML n [visibilité] nom [multiplicité] [: type] [= valeur. Initiale] [{propriétés} – visibilité peut être : n n n – – 01/03/2021 + # - 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 © Robert Godin. Tous droits réservés. 21
Syntaxe pour attributs (suite) n [visibilité] nom [multiplicité] [: type] [= valeur. Initiale] [{propriétés}] – type n OCL – Boolean, Integer, Real, String, enum{valeur 1, …, valeurn} n types de la plate-forme visée n type non pré-défini – classe de stéréotype «datatype» • stéréotype « enumeration » n ~domaine en modélisation conceptuelle 01/03/2021 © Robert Godin. Tous droits réservés. 22
Syntaxe pour attributs (suite) n [visibilité] nom [multiplicité] [: type] [= valeur. Initiale] [{propriétés}] – valeur. Initiale n à la création de l ’objet – propriétés n prédéfinies : – – 01/03/2021 changeable (par défaut) add. Only frozen portée n souligner attribut de classe (Rational Rose 98 : $) © Robert Godin. Tous droits réservés. 23
2. 3. 2 Notion de lien et d'association binaire Lien Association 01/03/2021 © Robert Godin. Tous droits réservés. 24
Rôles et multiplicités n Nom de rôle n Exemple avec nom de rôle et d ’association 01/03/2021 © Robert Godin. Tous droits réservés. 25
Association réflexive 01/03/2021 © Robert Godin. Tous droits réservés. 26
Contraintes pré-définies pour les associations n Ordonné (ordered) Modifiable (changeable) n Insertion. Seulement (add. Only) n Fixe (frozen) n Exclusives n – 01/03/2021 entre deux associations © Robert Godin. Tous droits réservés. 27
2. 3. 3 Agrégation n Cas particulier d ’association 01/03/2021 © Robert Godin. Tous droits réservés. 28
Composition 01/03/2021 © Robert Godin. Tous droits réservés. 29
2. 3. 4 Associations qualifiées n Partition des objets associés Contrainte d ’identification locale {UNIQUE : Cours, numéro, session} 01/03/2021 © Robert Godin. Tous droits réservés. 30
2. 3. 5 Classes associatives n Données spécifiques à l ’association Incorrect si plusieurs notes pour un Etudiant et un Cours 01/03/2021 © Robert Godin. Tous droits réservés. 31
Réification de l ’association n Plusieurs notes pour un Etudiant et un Cours 01/03/2021 © Robert Godin. Tous droits réservés. 32
Autre solution : classe associative + agrégation 01/03/2021 © Robert Godin. Tous droits réservés. 33
Solution avec classe Groupe Créer un objet session ? 01/03/2021 © Robert Godin. Tous droits réservés. 34
2. 3. 6 La généralisation/ spécialisation Propriétés communes : classe plus générale Héritage 01/03/2021 © Robert Godin. Tous droits réservés. 35
Notation multi-segments 01/03/2021 © Robert Godin. Tous droits réservés. 36
Mise en facteur par délégation ? 01/03/2021 © Robert Godin. Tous droits réservés. 37
Discriminant 01/03/2021 © Robert Godin. Tous droits réservés. 38
2. 3. 6. 1 Contraintes pré-définies pour la généralisation Complète /incomplète Disjointe/chevauchante 01/03/2021 © Robert Godin. Tous droits réservés. Italique pour nom de classe abstraite 39
Notation alternative par une note UML 01/03/2021 © Robert Godin. Tous droits réservés. 40
2. 3. 7 Héritage multiple 01/03/2021 © Robert Godin. Tous droits réservés. 41
2. 3. 7. 1 Multi-classification et héritage multiple 01/03/2021 © Robert Godin. Tous droits réservés. 42
Sous-classes de jointure? 01/03/2021 © Robert Godin. Tous droits réservés. 43
Modélisation par rôle 01/03/2021 © Robert Godin. Tous droits réservés. 44
2. 3. 8 Attribut de classe Souligner l ’attribut (UML 1. 1) 01/03/2021 © Robert Godin. Tous droits réservés. 45
2. 3. 9 Opérations n Signature d'une opération – 01/03/2021 nom et type des paramètres © Robert Godin. Tous droits réservés. 46
Syntaxe générale pour la spécification des opérations en UML n [ «stéréotype» ][visibilité] nom [(liste. Paramètres)] [: type. Retour] [{propriétés}] – visibilité peut être : n n n – – + # - publique protégé privé nom de l ’opération liste. Paramètres n syntaxe d ’un paramètre n [direction] nom. Paramètre : type. Paramètre [ = valeur. De. Défaut] – 01/03/2021 direction (in, out ou inout) © Robert Godin. Tous droits réservés. 47
Syntaxe pour opérations (suite) n [ «stéréotype» ][visibilité] nom [(liste. Paramètres)] [: type. Retour] [{propriétés}] – type. Retour n optionnel – portée n souligner opération de classe (Rational Rose 98 : $) – abstraite n en italique 01/03/2021 © Robert Godin. Tous droits réservés. 48
Interface n Opérations publiques visibles n Définition d ’une interface de classe – 01/03/2021 classe stéréotypée © Robert Godin. Tous droits réservés. 49
Définitions n Méthode – n n une implémentation d'une opération Polymorphisme – même signature d'opération – méthodes distinctes pour des classes distinctes Surcharge ( « overloading » ) 01/03/2021 – © Robert Godin. Tous droits réservés. même nom avec signatures différentes 50
Catégories d ’opérations n. Constructeur n. Modifieur n. Lecteur n. . . 01/03/2021 © Robert Godin. Tous droits réservés. 51
2. 3. 10 Spécification de contraintes n n Entre { } A proximité de l ’élément concerné – – n n 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 – – 01/03/2021 langue naturelle OCL (version 1. 1 d ’UML) © Robert Godin. Tous droits réservés. 52
2. 3. 11 Eléments dérivés 01/03/2021 © Robert Godin. Tous droits réservés. 53
2. 4 Modèle entité-association : ERD de Oracle Designer 01/03/2021 © Robert Godin. Tous droits réservés. 54
Notation des multiplicités 01/03/2021 © Robert Godin. Tous droits réservés. 55
- Slides: 55