Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
2
Méthodologie et Modélisation
– Modélisation : description structurelle– Méthodologie : démarche de
conception– Certaines méthodes sont liées à une
notation OMT, Merise (MCD)– La notation UML indépendante de toute
méthodologie
3
Le modèle Entité-Association
Issu des travaux de Chen (US) et Européens
Objectifs :– Puissance de représentation– Stabilité et flexibilité : un ajout de données ne doit pas
remettre en cause le schéma.– Simplicité : facilité de compréhension et d'utilisation– Indépendance par rapport à l'implémentation cible
(SGBDR, fichiers, programmation…)
Plusieurs réalisations : MCD (Merise) , OMT (+méthodologie), UML,…
OMTObject-modeling technique
Merise MCDModèle conceptuel des données
6
UML : ClasseDéfinition : Une classe est un concept identifiable et pertinent pour l'application, par exemple, une personne, une voiture, ... mais qui peut être aussi un concept ou une grandeur abstraite.
La classe est définie par une liste de propriétés qui la caractérisent. Celles-ci constituent le plus petit élément d'information ayant un sens par lui-même.
NomEntite
nomProp1
nomProp2
NomEntite
Personne
nomprénomagepoids
Voiture
7
Classe vs Objet
On distingue les notions Classe et Objet.
On ne s'intéresse pas à chaque objet séparément, mais à un type d'objet.
Définition : Une classe est l'ensemble de tous les objets qui sont de la même nature et jouent le même rôle.
Personne
nomprénomagepoids
p1:Personne
DupontMarie2252
8
IdentifiantUne des propriétés d'une classe, doit permettre d'identifier une de ses occurrences parmi toutes les autres.
On parle également de clé.
Exemple : numéro de sécurité sociale d'une personne
Représentation graphique UML (contrainte ou stéréotype, notion de profil)
Personne
num_insee {clé}nom prénomagepoids
Personne
num_insee <<identifiant>>nom prénomagepoids
Personne
num_inseenom prénomagepoids
identifiant=num_insee
9
Terminologie UML
UML ainsi que les différents ateliers UML ont une terminologie différente :– Entité type → Classe– Entité Instance / Objet→– Propriété → Attribut– Identifiant → n'existe pas par défaut en
UML
10
AssociationDéfinition : Une association est un lien logique entre l'ensemble des occurrences de classes éventuellement différentes.
Une association est souvent perçue comme une action menée vis à vis de classes (se traduit par un verbe). La mise en relation de classes peut faire apparaître des propriétés qui n'appartiennent en propre à aucune des classes. On distingue :– Les associations binaires relient les différentes instances
de deux classes d'entité (imposé par OMT et ODMG)– Les associations n-aire relient les instances de n-classes
d'entité.– Les associations réflexives relient une instance d'une
classe à d'autres instances d'une même classe.
11
Association simple
Représentation graphique UML :
Note : Indiquez le sens de lecture du nom de l'association
Auteur
numero{cle}nomage
Ouvrage
isbn{cle}titreresume
publie >
12
Propriétés d'association
Représentation graphique UML :
Auteur
numero{cle}nomage
Ouvrage
isbn{cle}titreresume
publie >
date_publication
13
Association n-aire
Représentation graphique UML :
Auteur
numero{cle}nomage
Ouvrage
isbn{cle}titreresume
Editeur
numero{cle}nom
publie
14
Les rôles d'une association
Représentation graphique UML :
Universite Personnegere >
etudiant
employeur emploie >
enseignant
15
L'agrégation
Forme particulière d'association
Relation non symétrique qui exprime un couplage fort et une relation de type maître-esclaves
Une des classes joue un rôle plus important que l'autre dans la relation
Représentation graphique UML :
Note : Si le vélo est détruit, les roues peuvent être réutilisées
VéloRoue
16
La composition
Forme particulière d'association Relation non symétrique qui exprime un couplage fort et une relation de type maître-esclavesUne des classes joue un rôle plus important que l'autre dans la relationIl ne peut y avoir qu'un seul maître.Classes composites physiquement contenus par l'agrégat (inclusion des cycles de vie). Si l'agrégat est détruit ses composants le sont aussi.Représentation graphique UML :
Note : Si le vélo est détruit, le cadre aussi.
CadreVélo
17
Les deux
18
La navigation
Forme particulière d'association
Permet de se déplacer dans le modèle
Correspond aux différents scénarios (dynamique)
Par défaut, les associations sont navigables dans les deux directions
Représentation graphique UML :
Note : la flèche indique que l'association n'est navigable que dans un sens
HotelChambre
19
Cardinalités d'une association
Elles précisent les nombres minimum et maximum d'occurrences d'une entité pouvant être impliquées dans une occurrence de l'association.
Elles sont définies au niveau de chaque extrémité de l'association
Convention
d'affichage
représentation signification
1 un et un seul
0..1 zéro ou un
M..N de M à N
* de zéro à plusieurs
0..* de zéro à plusieurs
1..* de un à plusieurs
20
Cardinalités
Exemples UML :
Auteur
numero{cle}nomage
Ouvrage
isbn{cle}titreresume
ecrit >
1..* 1..*
Universite Personnegere > etudiant
employeuremploie >
enseignant
1 *
0..1 *
21
UML, c'est aussi…
Des types pour les propriétés (attributs)Des paquetagesDes droits d'accès (public, privé, etc)De l'héritageD'autres diagrammes
22
Schéma conceptuel UML et bases de données relationnelles
Tout n'est pas obligatoire
Trouver le bon compromis !
Surcharge du schéma, difficulté de lecture – simple c'est bien !
Tout n'est pas possible facilement (exemple : héritage)
La solution : définir un profil UML
23
Ex. Gestion d'une bibliothèqueSoit le cahier des charges suivants volontairement flou pour gérer une bibliothèque.
Un livre est caractérisé par son titre, son auteur, ses éditeurs. Pour chaque livre édité, on veut connaître la date d'édition.
Un auteur est caractérisé par son nom, prénom.
Un éditeur est caractérisé par son nom et son adresse.
Un utilisateur est caractérisé par son nom, prénom et age.
Le but de cette gestion est de gérer les emprunts de livres (maximum 3 livres par utilisateur) et la possibilité de réserver des livres.
⇒ Proposez un schéma conceptuel
24
Une solution possible
25
Autre solution - gestion de l'historique des emprunts
26
Une dernière solution, plus réaliste
27
Agence de voyageInformatisation de la gestion d'une agence de voyages comprenant :– les demandes d'informations sur les voyages,– les réservations de places pour un voyage,– la publicité (envoi du catalogue des voyages) auprès des clients des 3
dernières années.
Un voyage est décrit par le (ou les) nom(s) du (des) pays visités et pour chaque jour :– la ville étape,– le nombre de km parcouru,– l'hôtel d'accueil.
Pour certains pays des vaccinations sont obligatoires. Pour en informer ses clients, l'agence mémorise par pays les noms des vaccins et les délais de vaccination (entre la prise du vaccin et le début du voyage).
28