Académique Documents
Professionnel Documents
Culture Documents
Le concept
d’association
§ Associations spécifiques
2
Identification des associations
Monde informationnel
INFORMATION
Specification conceptuelle
Monde
Monde DOMAINE INFORMATIQUE
artificiel
vivant Organisation, activités Architecture informatique
numérique
3
Association dans le monde informationnel
INFORMATION
possède >
CHAUFFEUR PERMIS
< appartient à
4
Association dans le monde vivant
DOMAINE
5
Association dans le monde vivant
DOMAINE
Classes
Véhicule, Chauffeur, Trajet, Compagnie-Assurances
Associations
Conduire entre les classes Chauffeur et Véhicule
Etre assuré entre les classes Véhicule et Compagnie-Assurances
Effectuer formée sur Conduire et Trajet
6
Identification des associations
DOMAINE INFORMATION
7
Identification des associations
DOMAINE INFORMATION
Trajet
8
Association dans le monde artificiel
INFORMATIQUE
9
Implémentation des associations
INFORMATION INFORMATIQUE
10
Propriétés d’une association
Sémantique de l’association
Cardinalité des rôles d’association
Contraintes entre associations
Transformation d’une association en classe
Sémantique de l’association
La sémantique de l’association est définie par son nom et les rôles
que jouent les classes participant à l’association.
nom de l’association
Classe A Classe B
rôle de A rôle de B
12
Multiplicité de liens dans une association
Une association entre deux classes représente de 0 à N liens entre les
objets de ces classes.
Possession
PERSONNE VOITURE
1 0..N
v1: VOITURE
AZ.345
Porche
Michel : Personne
v2: VOITURE
AI.122
BMW
Marie : Personne v3: VOITURE
Paul : Personne
NL.374
Ferrari
13
Cardinalités des rôles d’associations
Cardinalité – le nombre d’objets avec lesquelles un objet peut être
liée via un ensemble de liens.
14
Cardinalités des rôles d’associations
Une cardinalité est définie par deux valeurs numériques (min..max)
min..max min..max
Classe A Classe B
§ Les valeurs possibles sont : (0..1), (1..1), (0..N), (1..N), (M..N) ou N indique un
nombre indéterminé >1
§ N et (O..N) peut être remplacé par * : (*), (1..*)
15
Exemples des cardinalités
Adhésion 3..N
CLUB PERSONNE
Inscription 0..10
ÉTUDIANT COURS
Possession *
PERSONNE VOITURE
1 Possession *
PERSONNE VOITURE
Les noms d’association et/ou des rôles aide à distinguer leur sémantique.
participation
membre
EMPLOYÉ PROJET
directeur
direction
18
Association récursive
L’association récursive relie les objets de la même classe entre eux.
19
Degré d’association
Degré d’une association – le nombre de classes participant dans
l’association.
§ Binaire = degré 2
A B
§ Ternaire = degré 3
§ N-aire = degré N
A B
…
C
A B
20
Exemple d’association ternaire
Un cours peut être donné dans plusieurs salles différentes et par plusieurs
enseignants différents.
* *
COURS Planning SALLE
ENSEIGNANT
Peut-on savoir quel enseignant donne quel cours et dans quelle salle?
NON!
21
Association ternaire vs Classe
On peut toujours transformer une association ternaire /n-aire en une classe.
Forte recommandation !
Les objets de la classe SÉANCE-COURS constituent le planning des cours. Une séance d’un
cours à une date et se déroule dans une salle et peut être donnée par un ou plusieurs
enseignants.
1 * * 1
COURS SÉANCE-COURS SALLE
Date
*
1..*
Cette modélisation est
ENSEIGNANT beaucoup plus précise !
22
Contraintes entre associations
1..* écrit par >
Ordonnancement LIVRE AUTEUR
1..* {ordonné}
* commandant 1
Exclusion VOL PILOTE
{ou exclusif}
* 1
copilote
* membre 1..*
Inclusion ÉMPLOYÉ DÉPARTEMENT
{inclusion}
* *
directeur
23
Comment faire si l’association a des
informations propres à elle?
* évaluation *
ÉTUDIANT EXAMEN
Matricule NomCours
Nom Date
Prénom …
…
1 * * 1
ÉTUDIANT ÉVALUATION EXAMEN
Matricule Note NomCours
Nom … Année
Prénom Semestre
… …
25
Classe d’association (UML)
Classe d’association – une association qui est représentée par une
classe afin d’y ajouter des attributs et des opérations.
§ La cardinalité maximale des deux rôles est N.
§ A transformer en une classe normale avec deux associations!
* * *
Classe A Classe B ÉTUDIANT * EXAMEN
Classe Association
ÉVALUATION
attributs Note
…
méthodes ()
Attention: seuls les outils de modélisation
spécifiques UML supportent cette représentation !
26
Associations spécifiques
Composition
Agrégation
Spécialisation / généralisation
Composition
Association de type « fait partie de »
28
Agrégation
Association de type « fait partie de », moins forte que la composition.
Classe Classe *
agrégat élément Département * Employé
29
Composition, agrégation ou association
En modélisation conceptuelle de données toujours privilégier
l’association simple.
Composition à Association
1..N 1 1..N
Bâtiment Pièce Bâtiment Pièce
composé de>
Agrégation à Association
30
Spécialisation / généralisation
31
Spécialisation / généralisation
code_ouvrage
titre
Livre Revue
ISBN ISSN
{auteur} volume
numéro
32
Spécialisation / généralisation
Un moyen d’organiser un domaine, créer une taxonomie
Boisson
33
Spécialisation / généralisation
Spécialisation / généralisation – un type particulier d’association.
Classe A Classe A
1,1
0,1
Classe B Classe B
34
Quel intérêt pour la spécialisation?
Spécialisation logique ou d’utilisation ?
35
Contraintes de spécialisation
Spécialisation disjointe ou chevauchante ?
Client Personne
dis. chev.
Client_Privé Client_Entreprise Enseignant Etudiant
36
Contraintes de spécialisation
Spécialisation totale ou partielle ?
Client Client
tot. part.
37
Exemples de spécialisations
Client Personne
38
Exemples de spécialisations
Partielle et disjointe Partielle et chevauchante
§ Un client peut être classé comme § Une personne est soit un enseignant,
exceptionnel ou comme mauvais, soit un étudiant, soit non classée dans
mais pas les deux à la fois. aucune de ces deux catégories (ex.
§ Les autres clients ne sont placés dans secrétaire, comptable).
aucune des catégories. § Elle peut appartenir aux deux catégories
à la fois.
Client Personne
{p, d}
{p, ch}
39
Spécialisation multiple
ENSEIGNANT ETUDIANT
ASSISTANT
40
Représentation des
associations en langage
formelle relationnel
Définition générique
?..? ?..?
Classe A Classe B
42
Association simple 0..1 – 0..N
0..1 0..N
Classe A Classe B
Si deux classes A et B sont reliées par une association ayant comme cardinalités
0..1 du côté de A et 0..N du côté de B, alors la définition de la classe B doit inclure
la clé de la classe A.
A (cléA // A1, A2, A3,…)
B (cléB // cléA, B1, B2, B3,…)
Si deux classes A et B sont reliées par une association ayant comme cardinalités 1
du côté de A et 0..N du côté de B, alors la définition de la classe B doit inclure la clé
de la classe A dont la valeur doit être claire pour tous les objets de B.
A (cléA // A1, A2, A3,…)
B (cléB // cléA, B1, B2, B3,…)
§ Un objet de B
§ ne peut pas exister sans être relié à aucun objet de A et ne peut être relier qu’à un seul
objet de A
§ est relié au même objet de A pour toute son existence
48
Association complexe 0..N – 0..N
0..N 0..N
Classe A Classe B
Attributs
AB1, AB2, …
50
Association complexe 0..N – 0..N
Exemple : gestion des examens
Chaque étudiant peut passer plusieurs examens et chaque examen est ouvert à plusieurs
étudiants.
La note obtenue est un attribut propre à l’association.
0..N passe > 0..N
ÉTUDIANT EXAMEN
NoImmat // IDCours
Nom Note DateExam //
… Type
Durée
..
52
Spécialisation / généralisation
Si les classes A1 et A2 sont des Classe générique A
spécialisations de la classe A alors A1 et A2
sont en dépendance existentielle avec A.
§ Tout objet de A1/A2 doit être relié à un et un Classe Classe
seul objet de A2 pour toute son existence. spécifique A1 spécifique A2
53
Spécialisation / généralisation
Exemple : gestion des membres académiques PERSONNE
IDPersonne //
Nom …
ENSEIGNANT ETUDIANT
Classe générique
PERSONNE (IdPersonne / NoAVS // Nom, Prénom, email, Adresse, DateNaissance)
Classes spécifiques
ENSEIGNANT (NoEns / IdPersonne // DateEmbauche, Position)
ETUDIANT (NoEtudiant / IdPersonne //DateInscription, EtatEdutdiant)
54