Académique Documents
Professionnel Documents
Culture Documents
Diagramme de classe
S.Bouzidi-Zouaoui
INSAT
Objectif
1
11/02/2014
Diagramme de classes
C’est l’un des éléments majeurs de la modélisation:
Concept de classe + association pour décrire l’aspect statique des
données et des traitements,
Ce diagramme est défini par trois concepts importants:
L’objet (abstraction ou chose qui a un sens dans le contexte du
système),
La classe avec ses attributs et opérations:
L’attribut est qualifié par son nom, son type, sa valeur initiale, son
caractère multivalué ([]) et calculé (/).
L’opération est qualifiée par son nom, sa liste de paramètres et
son type de résultat.
Les associations entre classes: c’est une connexion physique ou
conceptuelle entre instances de classes.
Notation de base
Classe
Classe
Une description d’un
ensemble d’objets qui
partage les mêmes
attributs, opérations,
méthodes, relations et
contraintes Objet de type Classe
Objet
Une entité avec une limite
et une identité bien
définies. Un objet est une
instance d’une classe.
2
11/02/2014
Notions de base
Nom de la classe
Personne
Nom attribut: type = [valeur initiale]
-nom:chaîne
-prénom: chaîne
Nom opération(paramètres)[: typ résultat] -date naissance: date
+ GetNom()
+ GetDateNaissance()
3
11/02/2014
Association
Exprime une connexion sémantique bi-directionnelle entre
classes
Le sens d ’une association peut-être précisé par une flèche
Association binaire = Association entre 2 classes. Cas
particulier d ’association n-aire
Rôle = rôle joué par une classe dans une association
Multiplicité = indique le nombre d’instances d ’une classe qui
peut être mise en relation avec une seule instance de la classe
associée
1 : obligatoire (1 et un seul)
0..1 : optionnel
0..* ou * : plusieurs
1..* : au moins 1
1..5, 10 : entre 1 et 5, ou 10
Exemple Rôle
Sens
Classe
Multiplicité
4
11/02/2014
Association
Note
•Note = Commentaire placé sur un diagramme
Commentaire sur
une association
Personne Entreprise
Commentaire
sur une classe
5
11/02/2014
Association n-aire
Association réflexive
6
11/02/2014
7
11/02/2014
8
11/02/2014
membre 0..*
Personne Club
1..*
{subset]
1..1
président 0..*
Exclusion
Contrainte
titulaire Personne
0..* 1..1
Compte
{or}
titulaire Société
0..* 1..1
9
11/02/2014
Attribut d’Association
N° de Contrat
Attribut
Attribut Note
Classe d’Association
Classe d’association = Elément ayant à la fois les propriétés
d ’une classe et d ’une association
Société
Personne
nom
nom travaille capital
age
0..* 0..* embaucher( )
prendre retraite( déposer bilan(
Contrat de Travail
date Convention Collective
salaire respecte - référence
1..* 1..1
augmenter( ) + renégocier( )
résilier( )
Classe
10
11/02/2014
Classe d’association
Agrégation
Une agrégation est une forme
particulière d'association. Elle
représente la relation d'inclusion
d'un élément dans un ensemble.
On représente l'agrégation par
l'ajout d'un losange vide du côté de
l'agrégat.
Une agrégation dénote une relation
d'un ensemble à ses parties.
L'ensemble est l'agrégat et la partie
l'agrégé
11
11/02/2014
Composition
Agrégation ou composition?
La composition est aussi dite agrégation forte .
Pour décider de mettre une composition plutôt qu'une agrégation,
on doit se poser les questions suivantes :
Est-ce que la destruction de l'objet composite (du tout) implique
nécessairement la destruction des objets composants (les parties) ?
C'est le cas si les composants n'ont pas d'autonomie vis-à-vis des
composites.
Lorsque l'on copie le composite, doit-on aussi copier les composants, ou
est-ce qu'on peut les réutiliser , auquel cas un composant peut faire
partie de plusieurs composites ?
Si on répond par l'affirmative à ces deux questions, on doit utiliser
une composition.
12
11/02/2014
Héritage
Généralisation = relation ente un élément plus général et un
élément plus spécifique qui est entièrement conforme avec le
premier élément, et qui ajoute de l ’information supplémentaire
Spécialisation = mécanisme par lequel des éléments plus
spécifiques incorporent la structure et le comportement
d’éléments plus généraux (notion d’héritage).
Avion Discriminant
Généralisation
A320
Spécialisation
Héritage multiple
Terminologie de l'héritage
Une classe enfant peut redéfinir (même signature) une ou
plusieurs méthodes de la classe parent.
Toutes les associations de la classe parent s'appliquent, par
défaut, aux classes dérivées (classes enfant).
Principe de substitution : une instance d'une classe peut être
utilisée partout où une instance de sa classe parent est attendue.
Par exemple, toute opération acceptant un objet d'une classe Animal doit
accepter tout objet de la classe Chat (l'inverse n'est pas toujours vrai).
13
11/02/2014
Associations qualifiées
Classes abstraites
Une méthode est dite abstraite lorsqu'on connaît son entête
mais pas la manière dont elle peut être réalisée.
Il appartient aux classes enfant de définir les méthodes
abstraites.
Une classe est dite abstraite lorsqu'elle définit au moins une
méthode abstraite ou lorsqu'une classe parent contient une
méthode abstraite non encore réalisée.
14
11/02/2014
Interface
Interface
Le rôle d'une interface est de regrouper un ensemble
d'opérations assurant un service cohérent offert par une classe
Une interface est définie comme une classe, avec les mêmes
compartiments. On ajoute le stéréotype interface avant le nom
de l'interface.
On utilise une relation de type réalisation entre une interface et
une classe qui l'implémente.
Les classes implémentant une interface doivent implémenter
toutes les opérations décrites dans l'interface
15
11/02/2014
Exemple d'interface
16
11/02/2014
Exercice
17
11/02/2014
Exercice
Exercice
18
11/02/2014
Exercice
Exercice
19
11/02/2014
Exercice
20
11/02/2014
Diagramme d’objets
Objectif
Le diagramme d'objets représente les objets d'un
système à un instant donné. Il permet de :
Illustrer le modèle de classes (en montrant un exemple
qui explique le modèle) ;
Préciser certains aspects du système (en mettant en
évidence des détails imperceptibles dans le diagramme
de classes) ;
Exprimer une exception (en modélisant des cas
particuliers, des connaissances non généralisables. . . ).
Le diagramme de classes modélise des règles et
le diagramme d'objets modélise des faits
21
11/02/2014
Diagramme de classes et
diagramme d'objets
22
11/02/2014
Diagramme de classes et
diagramme d'objets
Liens
Un lien est une instance d'une association.
Un lien se représente comme une association
mais s'il a un nom, il est souligné.
Attention
Naturellement, on ne représente pas les
multiplicités qui n'ont aucun sens au niveau
des objets
23
11/02/2014
24
11/02/2014
Association binaire
Association binaire
25
11/02/2014
Association binaire
Association binaire
26
11/02/2014
27
11/02/2014
Association réflexive
Association réflexive
28
11/02/2014
Contraintes
Agrégation et composition
29
11/02/2014
Agrégation et composition
Classe d’association
30
11/02/2014
Diagramme de paquetages
Diagramme de paquetages
31
11/02/2014
Espace de nom
Dépendances
32