Académique Documents
Professionnel Documents
Culture Documents
Orientée Objet
(Unified Modeling Language – UML - )
université d’Alger 1 -
Benyoucef Benkhedda
Diagramme de classe
2
Diagramme de classe
3
Diagramme de classe
Classe
Une classe se représente à l’aide d’un rectangle comportant plusieurs
compartiments.
Classe
5
Diagramme de classe
Attribut
6
Diagramme de classe
Attribut
7
Diagramme de classe
Opération
Une opération est une fonction applicable aux objets d’une classe. Une
opération permet de décrire le comportement d’un objet. Une méthode est
l’implémentation d’une opération.
8
Diagramme de classe
Objet
Le nom d’un objet peut être désigné sous trois formes : nom de l’objet,
désignation directe et explicite d’un objet ; nom de l’objet : nom de la classe,
désignation incluant le nom de la classe ;: nom de la classe, désignation
anonyme d’un objet d’une classe donnée.
9
Diagramme de classe
Objet
10
Diagramme de classe
12
Diagramme de classe
Lien et association
Une association entre classes représente les liens qui existent entre les
instances de ces classes.
13
Diagramme de classe
Lien et association
14
Diagramme de classe
Multiplicité
15
Diagramme de classe
Multiplicité
16
Diagramme de classe
Navigabilité
17
Diagramme de classe
Une classe-association permet de décrire soit des attributs soit des opérations
propres à l’association. Cette classe-association est elle-même reliée par un trait en
pointillé au losange de connexion. Une classe-association peut être reliée à
d’autres classes d’un diagramme de classes.
18
Diagramme de classe
Association de dimension supérieure à 2 et classe-association
19
Diagramme de classe
Agrégation
20
Diagramme de classe
Agrégation
21
Diagramme de classe
Composition
22
Diagramme de classe
Composition
23
Diagramme de classe
La généralisation/spécialisation et l’héritage simple
La généralisation est la relation entre une classe et deux autres classes ou plus
partageant un sous-ensemble commun d’attributs et/ou d’opérations.
La classe qui est affinée s’appelle superclasse, les classes affinées s’appellent
sous-classes. L’opération qui consiste à créer une superclasse à partir de classes
s’appelle la généralisation. Inversement la spécialisation consiste à créer des
sous-classes à partir d’une classe.
24
Diagramme de classe
généralisation/spécialisation et l’héritage simple
25
Diagramme de classe
Classe abstraite
Une classe abstraite est une classe qui n’a pas d’instance directe mais dont les
classes descendantes ont des instances. Dans une relation d’héritage, la
superclasse est par définition une classe abstraite.
26
Diagramme de classe
Classe abstraite
27
Diagramme de classe
L’héritage multiple
Dans certains cas, il est nécessaire de faire hériter une même classe de deux
classes « parentes » distinctes. Ce cas correspond à un héritage multiple
28
Diagramme de classe
L’héritage multiple
29
Diagramme de classe
Passage de diagramme de classe au relationnel
Durant la phase de développement, le diagramme de classe est transformé en
modèle relationnel
Classe:
Classe non abstraite => relation
L’identifiant de la classe => clé primaire
Les classe abstraites sont ignorées dans cette phase
30
Diagramme de classe
Passage de diagramme de classe au relationnel
Attribut:
Attribut simple mono-valué => attribut de la relation
Attribut composite (composé de n attributs) => n attributs de la relation
Attribut simple multi-valué => relation contient un attribut mono-valué et la clé de
l’ancienne relation comme clé étrangère
Attribut composite multi-valué => combine les règles 2 et 3 pour ça
Attribut dérivé n’est pas transformé
31
Diagramme de classe
Passage de diagramme de classe au relationnel
Association:
Association 1:N => ajouter à la classe coté 1 une clé étrangère représentant la clé
primaire de la classe coté N
Association N:M => créer une classe association comportant 2 clé étrangères
représentant chacune une des classes
Association 1:1 => deux solutions
o Fusionner les classes en 1 seule relation (si chaque classe n’a pas une autre association)
o Traiter comme le cas de 1:N en ajoutant la contrainte SQL « UNIQUE » à la clé étrangère pour la limiter
à 1
32
Diagramme de classe
Passage de diagramme de classe au code java
Les classes comportant des méthodes sont aussi (en plus du modèle relationnel)
transformées en code source (exemple java)
Classe:
Classe non abstraite => classe java
Classe abstraite => classe abstraite ou interface
Classe A héritée d’une classe B => classeA extends classeB
33
Diagramme de classe
Passage de diagramme de classe au code java
Attribut:
Attribut simple mono-valué => variable de la classe
Attribut composite (composé de n attributs) => classe java
Attribut simple multi-valué => table s’il a un ensemble fini de valeur ou liste dynamique s’il n’a
pas
Attribut composite multi-valué => classe contenant des variables de type complexe (table ou
liste)
méthodes:
Procédures et fonctions dont le traitement est défini par rapport aux diagrammes de
séquence et d’activité.
34