Partie3-DiagClasse Objet
Partie3-DiagClasse Objet
Partie3-DiagClasse Objet
Diagramme des
classes et diagramme d’objets
1
Qu’est-ce que le diagramme des classes?
1. Classe:
Une classe est une représentation abstraite d’un d’ensemble d’objets, elle contient les informations
nécessaires à la construction de l’objet (c'est-à-dire la définition des attributs et des méthodes).
La classe peut donc être considérée comme le modèle, le moule ou la notice qui va permette la
construction d’un objet. Nous pouvons encore parler de type (comme pour une donnée). On dit
également qu’un objet est l’instance d’une classe (la concrétisation d’une classe).
2. Rôles du diagramme des classes:
Le diagramme des classes est un diagramme structurel (statique) qui permet de représenter :
les classes (attributs + méthodes)
les associations (relations) entre les classes.
Le diagramme de classes est le plus important des diagrammes UML, c’est le seul qui soit obligatoire lors
de la modélisation objet d’un système
2
Représentation des Classes (1)
Une classe est représentée par un rectangle (appelé aussi classeur) divisé en 3 compartiments.
Le premier compartiment contient le nom de la classe qui :
- représente le type d’objet instancié.
- débute par une lettre majuscule.
- il est centré dans le compartiment supérieur de la classe.
- il est écrit en caractère gras.
- il est en italique si la classe est abstraite (IMPOSSIBLE d’instancié un objet).
Le deuxième compartiment contient les attributs.
Le troisième compartiment contient les méthodes.
3
Représentation des Classes (2)
Si la modélisation ne s’intéresse qu’aux relations entre les différentes classe du système (et pas
au contenu des classes), nous pouvons ne pas représenter les attributs et les méthodes de
chaque classe (nous ne mettons rien dans le deuxième et troisième compartiment)
Exemples :
- La voiture
4
Encapsulation
Nous pouvons détailler la classe en indiquant:
La visibilité (encapsulation) des méthodes et des attributs.
5
Relations entre classes: Multiplicité
Un objet de la classe Voiture est composé d’au moins trois roues et d’au plus dix roues.
Pour ajouter cette information dans le diagramme de classes, on ajoutera le lien de
composition entre les classes Voiture et Roue et on ajoutera la multiplicité [3..10] du
côté de la classe Roue.
Cette relation entre deux classes indique qu’un objet de la classe Voiture doit être
composé de trois à dix objets de la classe Roue.
6
Relations entre classes: Association (1)
Une association représente une relation sémantique entre les objets d’une classe.
Exemple:
Une personne travaille pour une et une seule entreprise. L’entreprise emploie au moins une personne. L’entreprise est
l’employeur des personnes qui travaillent pour elle et une personne a un statut d’employé dans l’entreprise.
Association réflexive
7
Relations entre classes: Association(2)
8
Relations entre classes: Classe-association
• Une association peut être raffinée et avoir ses propres propriétés, qui ne sont disponibles dans
aucune des classes qu’elle lie.
Exemple:
Une classe-association est caractérisée par l’ajout d’un trait discontinu entre la classe et l’association
qu’elle représente.
9
Relations entre classes: Association n-aire
• Une association n-aire lie plus de deux classes.
Exemple
Chaque année, les étudiants s’inscrivent dans un seul groupe et suivent des modules. Pour un groupe
d’étudiants donné (ne dépassant pas vingt-cinq individus), un module est assuré par un seul enseignant. Un
module n’ouvre que si au moins quatre étudiants sont inscrits. Par ailleurs, la politique de l’école fait qu’un
enseignant ne peut pas assurer plus de trois modules pour un étudiant donné et un étudiant suit entre cinq
et dix modules.
10
Relations entre classes: relation d’agrégation
• Une agrégation se distingue d’une association par l’ajout d’un losange vide du côté de l’agrégat.
Exemple
Une école dispose d’au moins une salle de cours. Dans chaque salle, on trouve des chaises et un vidéo-
projecteur fixé au plafond.
11
Relations entre classes: relation de composition
• Une composition se distingue d’une association par l’ajout d’un losange plein du côté de l’agrégat.
La multiplicité du côté de l’agrégat ne peut prendre que deux valeurs : 0 ou 1. Par défaut, la
multiplicité vaut 1.
Exemple
On peut compléter l’exemple précédent en indiquant qu’une salle est composée d’une seule porte et
de plusieurs fenêtres. De plus, si le tableau est fixé, on considère que la relation de composition reflète
mieux le lien qui le lie à la salle.
12
Relations entre classes: relation d’héritage
• Le mécanisme d’héritage permet de mettre en relation des classes ayant des caractéristiques communes
(attributs et comportements) en respectant une certaine filiation.
Exemple
13
Application (1)
Dessiner les diagrammes de classe correspondant aux situations suivantes :
1. Tout écrivain a écrit au moins une œuvre ;
2. Les personnes peuvent être associées à des universités en tant qu’étudiants aussi bien qu’en tant que
professeurs ;
3. Un rectangle a quatre sommets qui sont des points. On construit un rectangle à partir des coordonnées
de deux points. Il est possible de calculer sa surface et son périmètre, ou encore de le translater selon
un vecteur ;
4. Les cinémas sont composés de plusieurs salles qui projettent des films à une heure déterminée ;
5. Tous les jours, le facteur distribue des recommandés dans une zone géographique qui lui est affectée.
Les habitants sont aussi associés à une zone géographique. Les recommandés sont de deux sortes :
lettres ou colis. Comme plusieurs facteurs peuvent intervenir sur la même zone, on souhaite, pour
chaque recommandé, le facteur qui l’a distribué, en plus du destinataire
14
Application (1)
1.
2.
3.
15
Application (1)
4.
5.
16
Application (2): échecs
Donner un diagramme de classes modélisant un jeu d'échecs simplifié (plateau + pièces).
Déplacement des pièces :
Pion : une case en avant
Cavalier : en L, deux cases puis une perpendiculairement
Fou : en diagonale
Tour : horizontalement ou verticalement
Dame : dans toutes les directions
Roi : une case dans toutes les directions
17
Application (2): échecs
18