Académique Documents
Professionnel Documents
Culture Documents
(UNIFIED MODELING
LANGUAGE)
P R É S E N T É PA R : D J E B B I K A W T H E R
1
DIAGRAMME DE
CL ASSE
P R É S E N T É PA R : D J E B B I K A W T H E R
2
DÉFINITION
• C’est un ensemble de classes en relation (association , généralisation,
dépendance…)
• Le diagramme de classe représente l’aspect donnée de la futur application.
• Le diagramme de classe est la version précèdent les table de la base donnée.
• En effet en appliquant les 5 règle de passage nous obtenons le schéma
relationnel de BD.
3
FORMALISME
4
LA CLASSE
• C’est la description d’un ensemble d’objet qui partagent les même attributs ,
les mêmes opérations et la même sémantique.
• Le nom de la classe peut être simple ou complet (précédé par le nom du
paquetage dans lequel il existe)
• Le nom est formé d’une chaine de caractère ( les chiffres les lettres les signes
de ponctuation sauf les deux point)
• Le nom par convention doit être court, et chaque première lettre de chaque
mot doit être écrite en majuscule.
5
L’ATTRIBUT
• L’attribut est une propriété de la classe qui décrit un ensemble de
valeurs que cette propriété peut avoir comme instance.
6
L’ATTRIBUT
• La forme la plus courte de l’attribut est le nom de l’attribut
• La forme la plus complexe est la suivante :
7
L’ATTRIBUT
•Visibilité:
Publique : « + » : l’attribut est visible par toutes les autres classes
8
L’ATTRIBUT
•Multiplicité:
Represente le nombre d’instance que peut avoir un attribut.
Exemple:
Adresse domaine
Adresse bureau de 1 à 3 instances adresse [1..3]
Adresse vacance
9
ATTRIBUT
•Type:
Peut être simple : caractère, entier, chaine, booleen, réel…
10
ATTRIBUT
•Valeur Initiale:
C’est la valeur prise par défaut
En UML 0 ou NULL
11
ATTRIBUT DERIVE
• C’est un attribut qui peut être calculé à partir d’autres attributs de
la classe .
• Il est précédé toujours par « / »: barre oblique
12
ATTRIBUT ÉTENDU
• Il concerne plusieurs objets(instance de la classe)
• Dans C++ c’est un attribut statique.
• L’attribut statique doit toujours être souligné
13
OPERATIONS
• UML différencie une opération de la méthode ,la méthode est
l’implémentation de l’opération qui peut être désignée par un
algorithme ou par un code dans un langage de programmation .
• La forme la plus courte de l’opération est son nom
• La forme la plus complexe est la suivante
(+ , - , #)
14
L’ARGUMENT
• L’argument a la forme suivante:
Exemple :
Créer (In numFact, In dateFact, In montant, In-Out caTotal)
15
OPÉRATION ÉTENDU
• Une opération peut être (statique) : étendu lorsqu'elle manipule
des attributs étendu.
• L’opération doit être soulignée.
16
RELATION ENTRE CLASSES
Parmi les relations existantes entre les classes :
• Association
• Généralisation(Héritage)
• Agrégation par référence (Agrégation)
• Agrégation par valeur (Composition)
17
ASSOCIATION
• L’association permet de lier les objets d’une classe à d’autres objets
d’autres classes
• L’association est le reflet des futurs relations entre les tables de la
base de donnée.
• L’association se transforme en clés étrangères, classes associatives
et permet de faciliter l’accès aux données garces aux requêtes.
18
ASSOCIATION
Nom de l’association :
• En général on utilise des verbes à l’infinitif pour éviter l’ambiguité .
19
ASSOCIATION
Cardinalité:
1 1
0..1 0..1
0..* 0..*
1..* 1..*
* *
2 2
[3,6] [3,6]
20
CLASSE ASSOCIATION
• Si une association est porteuse de donnée alors elle est modélisée par une
classe association:
21
AGRÉGATION
22
AGRÉGATION
Lors qu’on élimine l’ordinateur les autres classes ne sont pas supprimées:
23
COMPOSITION
24
COMPOSITION
25
GÉNÉRALISATION/SPÉCIALISATION
• C’est une relation entre classe générale appelé , SuperClasse, mère
ou parent,
• Et une autre classe spécifique appelée sous classe, fille , ou enfant.
• La classe fille peut hériter de tout ce que contient la classe mère et
peut avoir des attributs et des opérations spécifiques.
• Il existe deux types de généralisations:
Simple: chaque fille a une seule mère
Multiple: une fille peut avoir plusieurs mères
26
GÉNÉRALISATION/SPÉCIALISATION
Généralisation
Spécialisation
27
GÉNÉRALISATION/SPÉCIALISATION
• Entre les sous classes on peut avoir des contraintes tel que :
• {Complete} : Toutes les sous classes ont été identifiées, il est
impossible d’en ajouter.
• {Incomplete}: La liste n’est pas complète, on peut en ajouter
d’autres.
• {Chevauchement} : il est impossible d’avoir une instance commune
entre les sous classes
• {Overlapping} : Il est possible d’avoir une instance commune entre
les sous classes.
28
GÉNÉRALISATION/SPÉCIALISATION
{Complete,Chevauchement}
29