• Aucun résultat trouvé

Modélisation-05 : UML complet

N/A
N/A
Protected

Academic year: 2022

Partager "Modélisation-05 : UML complet"

Copied!
6
0
0

Texte intégral

(1)

Modélisation

Cours 05 – Modélisation de la BD avec UML

Bertrand LIAUDET

SOMMAIRE

SOMMAIRE 1

MODELISATION UML DE LA BD 1

0. Présentation 1

1. Exemples de MEA avec le modèle de BD UML correspondant 2

Les employés et les départements 2

Les courriers : association non hiérarchique sans attributs 3 La bibliothèque : association non hiérarchique avec attributs et classe-association 4

Les cinémas : identifiant relatif et composition 5

Les chantiers : héritage 6

Première édition : juin 2008 Mise à jour : juin 2010

MODELISATION UML DE LA BD

0. Présentation

Le diagramme de classe UML peut être utilisé pour modéliser les données de la BD.

Toutefois, il ne faut pas oublier que ce n’est pas son but.

 Un diagramme de classes modélise les classes qui vont intervenir dans une application développée avec un langage objet (C++, java, etc.).

 Un modèle des données modélise les tables de la BD.

Avec un outil de génie logiciel (PowerAMC par exemple), on commencera par faire un MEA.

Celui-ci pourra être traduit en SQL et aussi en diagramme de classes.

(2)

Modélisation – Cours 05 - Modélisation de la BD avec UML - page 2/6 - Bertrand LIAUDET

1. Exemples de MEA avec le modèle de BD UML correspondant

Les employés et les départements MEA

1,1

0,n 0,1

0,n

EMPLOYES NE

nom job dateEntree salaire comm

DEPARTEMENTS ND

nom ville Travaille dans

a pour chef

UML

Travaille dans

0..* 1..1

a pour chef

0..*

0..1

EMPLOYES +

+ + + + +

NE nom job dateEntree salaire comm

: int

: java.lang.String : java.lang.String : java.util.Date : double : double

DEPARTEMENTS +

+ +

ND nom ville

: int

: java.lang.String : java.lang.String

Explications

 La notion de clé primaire n’a pas de signification dans un diagramme de classe. En effet, tout objet (instance d’une classe) est caractérisé par ses attributs, ses méthodes et son identifiant qui est son adresse. Cependant, on peut préciser la notion d’identifiant primaire pour les attributs.

 Les cardinalités des associations UML peuvent reprendre le même formalisme que dans le MEA : 0.1, 1.1, 0.N, 1.N.

 La position des cardinalités est inversée par rapport au formalisme MEA : un employé travaille dans 1 et 1 seul département. La cardinalité 1.1 est du coté du département.

 Les associations UML sont orientées : il peut y avoir des flèches dans un sens ou un autre.

Cette notion n’ayant pas de sens dans le MEA, l’association sera rendu navigable dans les deux sens, ce qui conduit à l’élimination des flèches.

(3)

Les courriers : association non hiérarchique sans attributs MEA

0,n

1,n PERSONNES

NP nom Adesse CP Ville Pays COURRIERS

NC Texte DateEnvoi

RECEVOIR

UML

RECEVOIR 0..*

1..*

PERSONNES +

+ + + + +

NP nom Adesse CP Ville Pays

: int

: java.lang.String : java.lang.String : java.lang.String : java.lang.String : java.lang.String COURRIERS

+ + +

NC Texte DateEnvoi

: int : int : int

Explications

 Les associations non hiérarchiques sans attributs du MEA sont transformées en association dans le modèle de BD UML. La position des cardinalités est inversée : un personne peut recevoir 0 ou N courriers (ça peut être 0 si on ne lui à jamais écrit). Un courrier est envoyé à 1 ou N personnes. Au moins 1 car il n’y a pas de courriers qui ne soit pas envoyé.

(4)

Modélisation – Cours 05 - Modélisation de la BD avec UML - page 4/6 - Bertrand LIAUDET

La bibliothèque : association non hiérarchique avec attributs et classe-association MEA

0,n

1,1

0,n ADHERENTS 0,n

NA nom adr tel

LIVRES NL

éditeur EMPRUNTER

datEmp duréeMax datRet

OEUVRES N0

auteur titre

correspond à

UML

0..*

0..*

0..*

1..1 ADHERENTS

+ + + +

NA nom adr tel

: double

: java.lang.String : java.lang.String : java.lang.String

LIVRES +

+ NL éditeur

: int : int EMPRUNTER

+ + +

datEmp duréeMax datRet

: java.util.Date : java.util.Date : java.util.Date

OEUVRES +

+ +

N0 auteur titre

: int

: java.lang.String : java.lang.String

Explications

 En UML, on ne peut pas mettre d’attributs sur les associations. Les associations non hiérarchiques avec attributs du MEA donnent lieu dans le modèle de BD UML à des classes-associations.

 Une classe-association est une association classique à laquelle est raccrochée une classe dont les attributs proviennent de l’association non hiérarchique du MEA.

(5)

Les cinémas : identifiant relatif et composition MEA

0,n (1,1)

Cinémas NC

nom Adesse CP Ville Pays

Salles NS NbPlaces Ecran Son Est composé de

UML

Est composé de 0..*

1..1 Cinémas

+ + + + + +

NC nom Adesse CP Ville Pays

: int

: java.lang.String : java.lang.String : java.lang.String : java.lang.String : java.lang.String

Salles +

+ + +

NS NbPlaces Ecran Son

: int : double : java.util.Date : int

Explications

 L’identifiant relatif du MEA est transformé, dans le modèle de BD UML, en une association de composition : losange plein (et pas creux !) du coté du composé.

 La composition signifie que si on supprime de cinéma, alors on supprime aussi les salles.

(6)

Modélisation – Cours 05 - Modélisation de la BD avec UML - page 6/6 - Bertrand LIAUDET

Les chantiers : héritage MEA

Chantier numchan nom lieu Pays

archeo surface typ bat archeo epoque

construc type bat

rehab

UML

Chantier +

+ + +

numchan nom lieu Pays

: int

: java.lang.String : int

: java.lang.String

archeo +

+ +

surface typ bat archeo epoque

: int

: java.lang.String : java.lang.String

construc

+ type bat : java.lang.String

rehab

Explications

 L’héritage dans les MEA se traduit par un héritage dans le modèle de BD UML.

 Dans notre exemple, l’héritage est de type X : ce qui veut dire qu’il y a disjonction : un chantier ne peut être que d’une seule espèce (disjonction, X), mais pas couverture (T) : il existe des chantiers ne correspondant à aucune des trois espèces représentées. Rappelons qu’en cas de disjonction et couverture : XT, on note +.

 Les caractéristiques de disjonction, X, de couverture, T, ou de disjonction et couverture, +, ne sont pas représentées dans le modèle de BD UML.

Références

Documents relatifs

- Une méthode de classe (modificateur static en Java) exécute une action indépendante d’une instance particulière de la classe. - Une méthode de classe peut être considérée

[r]

Cette présentation a donc pour objectif, d'une part, de montrer en quoi l'approche objet et UML constituent un "plus" et d'autre part, d'exposer comment utiliser UML dans

Pour ça, on définit les classes interface et contrôleur et on précise les méthodes dans toutes les classes en jeu avec l’analyse du diagramme de séquence

On peut aussi coder le constructeur (en plus du diagramme de séquence) si on préfère. Un répertoire possède un nom et des droits en lecture, exécution et écriture. Modéliser

La Mairie de Paris veut gérer les membres de ses centres d’animations et les animations qu’ils pratiquent.. La Mairie possède

Il est possible d'exprimer des contraintes sur une association, afin de limiter les objets mis en jeu. Cela permet de mieux cadrer l'architecture de l'ensemble. - conditions

[r]