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
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/ChKjALDOUfnHKSytTfNZPyJ8GGmmGjgWpjUJTQH335eyMpF4sAKRuzuDORtLNSQnOjRtohu8vjfhxpEbvVhBnUQI.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/IFfFDMbsm6hlismPfVo6IfydwJvtmM9nO7SSH16zZQvTUgRE57uJazgSJHIZkiQRQpP7FrjLVRApaZjUorctWLEz.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/O2Z10QtW15z0LdaT88ggXmYc89N5KkCn8Of0pdnVVe7YQ1iFdWNebTYA9xOM4KxUyvUba60Ki7fxKAvfA6ambcNF.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Qq5xFi0GUbAtdpTLA7EMdCsAnipBgwECiTPeTDycO5FQ5XTPFgvzft1tp0APjr1nAUSshBK906DdPYF5kSbEp75r.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/A6LwNUwYNhGorEAsPqcQwq0UAkuQQxR5DleHeKJ85yUlJFRONGiSVjiD5Wsx7hE6Lz9WZ7ZO4zcjaQEAT5XC3fNl.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/BmNtOqlpc3oeM3kgXZwm4Z3M9VBP4R5NIb7XlyoJ6JfbfejjnTKXRk4ooViOEw1DdsVwO4UcmSppYKWMyNyUGUey.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/d4T4x1tYdvLbgAjcKoilhnDvOKo3gK3JaaGRq7XU4qg9uUCts5lgBxoZPzrMZFNSS9sdP4mYJHzCy2sGJ1W1GhA8.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/AopQHCaMA70X1V3ORdg76euFh3z06938rGwQsIgqEjo3RiTGFmab0l3issfolXqfiN87r7ATKfq9AtndchTHQpPs.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Uj891UlO2hgtwOt8lmFn05xWFQlYSZ4FxCsQQeGqpaXhf1wmqZ49fR2fo6eK5CulhmxUGhWlIKtHcobe8jxgELdb.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/G1lJdxNk0oLiBaGKym8ga5cbTbNYKbBQdLFVwc30ehI5NM7t3SDJPLOmPpMC442gy8CiUceFu0a6xqRaUdvlKFCC.png)
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 01, 2021
- Catégorie Management
- Langue French
- Taille du fichier 0.8712MB