Bases de données Claude TRÉPIED Maître de conférences d’informatique École Poly

Bases de données Claude TRÉPIED Maître de conférences d’informatique École Polytechnique de l'Université de Tours FRANCE Bases de données 1 – Introduction 2 - Les systèmes d’information et UML 3 – Les diagrammes UML 3.1 - Diagramme de classes (class diagram) Classe, attribut et opération Classe, attribut et opération Une classe : un "moule" de création d’objets L’objet possède des attributs qui le caractérisent ("attribut d'objet") L’o. est capable d’exécuter des tâches. On peut aussi effectuer des tâches sur un o. Une tâche s’appelle une opération (ou méthode) Ex : la classe Véhicule 3 Nom de la classe Attributs Opérations() Classe, attribut et opération (suite) L’o. doit posséder un identifiant : celui-ci doit permettre au système d’identifier l'o. de façon non équivoque. il représente l’identité de l’o. (seule différence entre sosies) on le notera : {id} Ex : 4 {id} Documentation d'une classe Notion de niveau d'abstraction 5 1er niveau) 2ème niveau) Documentation d'une classe (suite) 6 3ème niveau) Attribut Syntaxe complète d’un att. : visibilité nomdeAtt : type = valeurInitiale La visibilité peut être publique (+), protégée (#), privée (-) privé : l'att est seulement visible à l’intérieur de la classe protégé : att. n'est visible qu'à l’intérieur de la classe et de ses sous-classes public : att. est toujours visible (et donc toujours accessible) Le nom de l'att. est obligatoire On peut ajouter : le type de l'attribut ainsi qu'une valeur initiale (fixée à la construction de l'objet). 7 Attribut (suite) Ex : 8 Attribut de classe (ou "attribut classe") Différentes perceptions de cette notion dans la "littérature" : 1) L’att. décrit la classe (considérée elle-même comme un objet) Ex : la classe Facture est perçue comme un ens. de factures elle a comme att. de classe : nombreDeFactures 2) Tous les objets de la classe partagent la même valeur pour cet attribut Ex : classe Voiture et attribut nombreDeRoues : entier = 4 Nous utiliserons seulement la 1ère déf Notation : soulignement du nom de l'attribut. (parfois, un dollar ($) devant le nom de l'attribut… ) à ne pas confondre avec une clé primaire du modèle relationnel (BD) 9 Attribut dérivé  Peut être dérivé (déduit) de un ou plusieurs autres attributs par un calcul On utilise le slash (/) devant le nom d’un attribut dérivé Ex 1 : âge d’une personne est un att. dérivé puisqu'on peut le déterminer dynamiquement à partir de la date de naissance et de la date courante 10 Attribut dérivé (suite) Ex 2 : La surface d’un rectangle peut être déterminée à partir de la longueur et de la largeur. 11 Attribut monovalué / multivalué Att. monovalué : a au plus une seule valeur à l’instant t (mais cette valeur peut évoluer dans le temps) Ex : prix Att. multivalué : peut avoir plusieurs valeurs à l’instant t Ex : 1) enceintes [2..6] : Haut-Parleur 2) Pour une classe Personne : téléphones [1..2] : String 3) 12 Opération Correspond à la notion de "méthode" (langage progr. o., "fonction"…) Syntaxe : visibilité nomOp (paramètres) : typeRetour Le nom de l'opération est obligatoire. La visibilité reprend le vocabulaire employé pour les att. : Certains logiciels utilisent des icônes : 13 Règles de visibilité + Attribut public # Attribut protégé - Attribut privé + Opération publique() # Opération protégée - Opération privée Opération (suite) visibilité nomOp (paramètres) : typeRetour Une op. peut avoir des paramètres :  Soit on se limite à donner seulement les noms (et l'ordre) des param.  Soit on donne une version détaillée pour chaque param : [Direction] NomParam : TypeParam [ = ValeurParDéfaut] avec pour Direction : in : paramètre en entrée seule et non modifié par l’exécution de l'opération out : " sortie seule ; l’appelant peut ainsi récupérer un résultat inout : " entrée-sortie ; passé à l’op. et modifiable Type retour : si l'op. peut renvoyer une valeur (//fonction) Ex : 14 Bases de données 1 – Introduction 2 - Les systèmes d’information et UML 3 – Les diagrammes UML 3.1 - Diagramme de classes (class diagram) Classe, attribut et opération Les relations entre classes Les relations entre classes L’association L’agrégation La composition La généralisation La dépendance 16 Exemple : généralisation et association Hypothèse : Nous sommes dans la situation de la France (pas de polygamie) avant 2013 pour le mariage civil (seulement mariage H-F) En 2013, mariage devient une association unaire (voir plus loin) sur Personne Diagramme faux après 2013 Importance des hypothèses… et des commentaires ! 17 mariage Bases de données 1 – Introduction 2 - Les systèmes d’information et UML 3 – Les diagrammes UML 3.1 - Diagramme de classes (class diagram) Classe, attribut et opération Les relations entre classes Association Association Une association exprime une connexion entre classes : sémantique (qui a un sens) bidirectionnelle (même si son nom semble privilégier un sens) Ex (notation UML) : Une asso. est une abstraction des liens qui existent entre les objets Ex (visualisation à l'instant t avec des diagrammes de Venn) : 19 Personne p1● p2● p3● p4● Ecole ●e1 ●e2 Nommage des associations Indication possible du sens de lecture : > ou NB : ce sont (hélas ou heureusement…) 2 associations différentes ! 20 Université Etudiant Accueille 4 3Diplômé de 4 Rôles Indication possible du rôle d’une classe au sein d’une association un nom de rôle peut être spécifié de part et d’autre du trait de l'asso. 21 Université Personne Etudiant Employeur Enseignant Enseigne Etudie Multiplicité (ou cardinalités) Les rôles portent une information de multiplicité : le nombre d’objets qui participent à l'association 22 de un à plusieurs 1..* de zéro à plusieurs * 0..* de M à N (entiers naturels) P.. P (P exactement) M .. N P zéro ou un 0..1 un et un seul (1 exactement) 1 1..1 Multiplicité (ou cardinalités). Ex : Attention au sens de lecture : notation anglo-saxonne ! Différent de Merise (modèle entité-association français… obsolète) Cardinalités du côté de la cible Ex : 1 personne peut être associée à (ou "travaillePour") 0 à plusieurs compagnies Préciser obligatoirement ses hypothèses : H1 : une personne (dans le SI de cet ex.) peut être au chômage 23 Navigabilité d’une association Par défaut, une association est navigable dans les deux sens On peut cependant mettre une restriction en donnant une indication de navigabilité Exemple :  étant donné 1 utilisateur, on pourra accéder à son MdP  étant donné 1 MdP, on ne souhaite pas pouvoir accéder à l'utilisateur correspondant 24 1 Association réflexive Parfois appelée "association unaire" Exemple de la filiation : H : Dans ce SI, les deux parents sont obligatoirement connus (H. forte !) 25 Personne nom prénom dateNaissance sexe * 2 enfant * parent 2 Association binaire 26 Livre ISBN : String titre : String anParution : Integer Editeur nomEditeur : String ville : String Auteur nom : String prénom : String 1..* 1 Edite> 1..* 1..* <Rédige Exemple : Association ternaire (voire plus) Exemple "Record" : Lecture des cardinalités :  Comme pour une association binaire, du côté de la cible.  Ex : Sur ce diagramme, à un couple d'objet (t1, y1), on peut associer 0 à plusieurs "goalkeeper" 27 Le concept de "Classe-association" Déf : association qui possède des attributs et/ou des opérations Ex. avec une association binaire : 28 Exemple avec une asso. ternaire 29 NB : à ne pas confondre avec une agrégation ! Bases de données 1 – Introduction 2 - Les systèmes d’information et UML 3 – Les diagrammes UML 3.1 - Diagramme de classes (class diagram) Classe, attribut et opération Les relations entre classes Association Agrégation L’agrégation L’association représente un couplage faible entre classes : celles-ci restant relativement indépendantes les unes des autres L’agrégation exprime un couplage fort entre classes : Une des classes joue un rôle plus important que l’autre dans la relation L’agrégation permet de représenter des relations de type :  "maître et esclaves"  "tout et parties"  "composé et composants" Représentation graphique : losange blanc 31 Exemple "Auto" 32 H : existence de pièces détachées Moteur Châssis Porte Pneu Auto 0..1 1 0..1 1 0..1 0..1 4 0..1 4 0..1 2..5 1 0..1 1 0..1 Exemple "Ecole" 33 Bases de données 1 – Introduction 2 - Les systèmes d’information et UML 3 – Les diagrammes UML 3.1 - Diagramme de classes (class diagram) Classe, attribut et opération Les relations entre classes Association Agrégation Composition La composition Cas particulier d’agrégation Composition : d’agrégation avec un couplage très fort qui indique que : 1) les composants ne sont pas partageables : un composant n'est rattaché qu'à un seul agrégat La cardinalité maximale du côté de l'agrégat ne doit donc pas excéder 1 2) la destruction de l’agrégat entraîne la destruction des composants Représentation graphique d'une cOmposition : losange nOir (pour mémoire, Agrégation : losange blAnc) 35 Exemple "Ecole" 36 TableDesMatières Chapitre Bibliographie Index Livre 1 1 1 1 1 1..* 1 1..* 1 1 1 1 1 1 1 1 Glossaire 1 0..1 1 0..1 tableDesMatières chapitres bibliographie index glossaire Exemple "livre" Version A uploads/Management/ 3-diagrammes-uml-v2022-23-classes-et-objets.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Apv 01, 2021
  • Catégorie Management
  • Langue French
  • Taille du fichier 0.8712MB