Vous êtes sur la page 1sur 23

Diagrammes UML : Classes et Objets

Dr Ibrahima GAYE

22 août 2020

1 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Références

https ://www.uml.org/
Le génie logiciel et ses applications, I. Sommerville,
InterEditions, 1988
UML 2 en action, Pascal Roques, Franck Vallée, Eyrolles,
2004
Object-Oriented Analysis and Design, with applications,
3rd Ed. BOOCH, Grady, et al. Addison-Wesley, 2007.
Jacques Printz.Le genie logiciel.Que sais-je ? Presses
Universitaires de France, 2002.
Bertrand Meyer.Conception et Programmation Orient ?ee
Objet.Eyrolles, 2000.
Pierre-Alain Muller and Nathalie Gaertner.Mod ?elisation
Objet avec UML.Eyrolles, 2000.
Pascal Roques.UML en action.Eyrolles, 2003.
2 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets
Diagramme Classes et Objets

Ces deux diagrammes sont considérés comme les plus


importants de la modélisation orientée objet, il sont les seuls
obligatoire lors d’une modélisation.
Le diagramme de cas d’utilisation montre un système du point
de vue des acteurs alors que le diagramme de classes montre
la structure interne.
Tout système orienté objet est organisé autour des classes.
Classe = attributs + méthodes + instanciation
Ne pas représenter les attributs ou les méthodes d’une classe
sur un diagramme, n’indique pas que cette classe n’en contient
pas. C’est juste pour des raisons de lisibilité

3 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Les classes et les objets modélisent les entités matérielles
ou immatérielles qui existent dans le système.
Le diagramme de classe :
il fournit une représentation abstraite des objets du système
qui doivent interagir pour réaliser les fonctions du système.
montre la structure statique du système car on ne tient pas
compte du facteur temporel dans le comportement du
système.
Le diagramme d’objet :
il est un exemple du diagramme de classe qui donne une
capture du système à une date t.

4 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes
Il permet de modéliser les classes du système et leurs
relations, indépendamment d’un langage de programmation
particulier.
Il décrit la vue statique du système en terme de classes,
de paquetages et de relations entre elles
Pour créer un diagramme de classes, il faut :
Identifier et décrire les classes
Identifier et décrire les relations qui existent entre ces
classes

5 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Représentation dune classe


Une classe est représentée àl’aide d’un rectangle
comportant trois compartiments de base
Le nom
Doit évoquer le concept qui décrit la classe
Commence par une majuscule
Les attributs
Décrivent les caractéristiques des objets
Captent l’information qui décrit et identifie une instance
spécifique d’une classe
Les opérations
décrivent ce qu’une classe peut faire
et quels services offre-t-elles aux autres classes.

6 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Représentation dune classe

Nom de la classe : Vehicule


Attributs : marque, couleur, matricule, type
Méthodes : Vehicule(), demarrer(), accelerer(), arreter()

7 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Visibilité des attributs et des opérations


Il existe trois niveaux de visibilité
public (+) : accessible par toutes les classes.
private (-) : accessible que par les seules méthodes desa
classe.
protected (#) : accessible par les classes du même package.

8 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Associations
Il exixte trois niveaux de visibilité
Une association représente une relation sémantique entre
les objets d’une classe.
Une association est représentée par un trait plein entre les
classes associées.
Elle est complétée par un nom
Avec une précision du sens de lecture en cas d’ambigüité
Chaque extrémitéde la relation indique le rôle de la classe
dans l’association et précise le nombre d’objets de la
classes qui y interviennent (multiplicité)

9 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Types des Associations


Les relations suivantes peuvent exister entre des classes :
Association simple : lien entre instances de classes.
Généralisation/Spécialisation : factorisation des
propriétés communes à plusieurs classes.
Agrégation : lien de type ensemble/élément
Composition : cas particulier de l’agrégation avec un
couplage fort.

10 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Une association binaire est matérialisée par un trait plein
entre les classes associées.
Elle peut être ornée dun nom, avec éventuellement une
précision du sens de lecture > ou < .
Le rôle tenu par une classe vis-à-vis dune association peut
être précisé (indispensable pour les associations
réflexives).

11 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes

12 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Multiplicité :
un ensemble de valeurs indiquant le nombre possible
d’instances de la classe destination du rôle qui peuvent être
reliées à une instance de la classe origine du rôle.
peut être associée à une terminaison d’association simple,
d’agrégation ou de composition.

13 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


1 : un et un seul
0..1 : zéro ou un
n : n fois
m..n : de m à n
* : plusieurs
0..* : de zéro à plusieurs
1..* : de un à plusieurs

14 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Cardinalités : précise le nombre d’instances qui participent à
une relation.

Une entreprise peut avoir 0 ou plusieurs personnes


comme clients
Une personne peut être client de zéro ou de plusieurs
entreprises

15 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Une association peut relier plus de deux classes ; elle est dite
dans ce cas n-aire
On représente une association n-aire par un grand losange
avec un chemin partant vers chaque classe participante.
Le nom de l’association, le cas échéant, apparaît à
proximité du losange.

16 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Cardinalités : précise le nombre d’instances qui participent à
une relation.

Une relation entre Professseur, Classe et Etudiant

17 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Relation de dépendance : relation d’utilisation
unidirectionnelle et d’obsolescence (une modification de
l’élément dont on dépend (cible), peut nécessiter une mise
à jour de l’élément dépendant (source)).
Association à navigabilité restreinte : une association est
navigable dans les deux sens. La réduction de la portée de
l’association est souvent réalisée en phase
d’implémentation, mais peut aussi être exprimée dans un
modèle pour indiquer que les instances d’une classe ne
"connaissent" pas les instances d’une autre.

18 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Classe d’association :
Il s’agit de propriétés de l’association. Les associations ne
pouvant posséder de propriété, il faut introduire un nouveau
type. Dans ce cas, l’association est dite « porteuse
d’attributs ».

19 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes


Une association est dite réflexive quand les 2 extrémités
pointent vers le même classeur.
Elle a pour principale fonction de structurer les objets dune
même classe.
Association asymétrique : permet de hiérarchiser les
objets. Il est conseillé d’ajouter les rôles des extrémités
dans le cas des associations asymétriques.
Association symétrique et transitive : permet de regrouper
les objets d’une’même classe en classes d’équivalence.
Association symétrique et non transitive : partitionne les
objets de la classe.

20 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

lien entre instances de classes

Une Personne épouse 0 ou 1 personnes


Une personne est épousée par 0 ou 1 personne

21 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Agrégation
C’est une association asymétrique dans laquelle l’une des
extrémités joue un rôle prédominant par rapport à l’autre.
C’est une relation « composé-composant ».
Une agrégation peut notamment (mais pas
nécessairement) exprimer :
qu’une classe (un "élément") fait partie d’une autre
("l’agrégat"),
qu’un changement d’état d’une classe, entraîne un
changement d’état d’une autre,
qu’une action sur une classe, entraîne une action sur une
autre.

22 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets


Diagramme de classes

Agrégation

Une Personne épouse 0 ou 1 personnes


Une personne est épousée par 0 ou 1 personne

23 Dr Ibrahima GAYE - gaye.ibrahima@esp.sn UML : Diagrammes de classes et d’Objets

Vous aimerez peut-être aussi