0% ont trouvé ce document utile (0 vote)
47 vues41 pages

Digramme de CLASS

c'est une doc qui explique le fonctionnement de dig de class

Transféré par

Elghalo Youssra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
47 vues41 pages

Digramme de CLASS

c'est une doc qui explique le fonctionnement de dig de class

Transféré par

Elghalo Youssra
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DIAGRAMME DE CLASSE

Définition :

Le diagramme de classe est l’un des diagrammes structurels les plus importants d’UML. Il représente les
entités d’un système (les classes) ainsi que leurs relations. Il est essentiel pour concevoir la structure
d’un logiciel avant son implémentation en code

Dans un contexte de développement logiciel orienté objet, le diagramme de classe est un outil
fondamental permettant de :

▪ Représenter la structure du système avant son implémentation.


▪ Définir les interactions entre les différentes entités logicielles.
▪ Faciliter la communication entre les membres de l'équipe de développement.
▪ Assurer une meilleure maintenabilité et évolutivité du logiciel
DIAGRAMME DE CLASSE

Définition :

Le diagramme de classe est l’un des diagrammes structurels les plus importants d’UML. Il représente les
entités d’un système (les classes) ainsi que leurs relations. Il est essentiel pour concevoir la structure
d’un logiciel avant son implémentation en code

Pourquoi privilégier le diagramme de classe ?


▪ Contrairement au diagramme de cas d’utilisation, qui montre les interactions globales du système,
le diagramme de classe donne une vue détaillée de la structure interne.
▪ Il est plus précis que les diagrammes de séquence, qui se concentrent sur l’ordre des interactions
entre objets.
▪ Il sert souvent de base pour la conception du modèle de données, notamment dans les bases de
données relationnelles.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

1. Les classes et objets


En Programmation Orientée Objet (POO), une classe est un modèle ou un gabarit qui définit la structure et le
comportement des objets qu’elle engendre.

Une classe contient :


▪ Des attributs : représentent les caractéristiques de l’objet.
▪ Des méthodes : définissent les comportements de l’objet.
Un objet est une instance d’une classe. Il possède ses propres valeurs pour les attributs et peut exécuter les
méthodes définies dans la classe.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

1. Les classes et objets

Classe : Regroupement d'objets de même nature (mêmes attributs + mêmes opérations)


Objet :
▪ Entité concrète ou abstraite du domaine d'application
▪ Décrit par : identité (adresse mémoire) + état (attributs) + comportement (opérations)
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

2. Les attributs et opérations

Un attribut est une variable définie dans une classe.

▪ Caractéristique partagée par tous les objets de la classe


▪ Associe à chaque objet une valeur
▪ Type associé simple (int, bool...), primitif (Date) ou énuméré
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

2. Les attributs et opérations

Un attribut est une variable définie dans une classe.

▪ Caractéristique partagée par tous les objets de la classe


▪ Associe à chaque objet une valeur
▪ Type associé simple (int, bool...), primitif (Date) ou énuméré
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

2. Les attributs et opérations

Portée des attributs (public, privé, protégé) :


En UML, les attributs et méthodes sont précédés d’un symbole définissant leur visibilité :
▪ + Public : Accessible de n'importe où.
▪ - Privé : Accessible uniquement dans la classe.
▪ # Protégé : Accessible dans la classe et ses sous-classes.

▪ nom est privé (-), donc accessible uniquement dans Personne.


▪ age est protégé (#), accessible dans Personne et ses sous-classes.
▪ adresse est public (+), donc accessible partout.
▪ calculerAge() est privé (-), utilisable uniquement dans la classe Personne.
▪ afficherInfo() est protégé (#), utilisable dans Personne et ses sous-classes.
▪ sePresenter() est public (+), utilisable par tous.
2. Les attributs et opérations
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

2. Les attributs et opérations


DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

2. Les attributs et opérations


DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


1. Associations entre classes

L’association représente une relation statique entre deux classes. Elle peut être simple, bidirectionnelle,
ou encore réflexive.
Notation UML des associations :
▪ Une ligne relie deux classes pour indiquer une association.
▪ Une multiplicité peut être indiquée (1, 0..1, 1..*, *, etc.).
▪ Une nomination de l’association est parfois utilisée pour clarifier le rôle.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


1. Associations entre classes

L’association représente une relation statique entre deux classes. Elle peut être simple, bidirectionnelle,
ou encore réflexive.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes

L’association représente une relation statique entre deux classes. Elle peut être simple, bidirectionnelle,
ou encore réflexive.

Types d’associations :

▪ Association unidirectionnelle : Une classe connaît l'autre, mais pas l’inverse.


▪ Association bidirectionnelle : Les deux classes se connaissent.
▪ Association réflexive : Une classe peut être associée à elle-même.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes

Association unidirectionnelle : Une classe connaît l'autre, mais


pas l’inverse
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes

Association bidirectionnelle : Les deux classes se connaissent


mutuellement.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes

Une association réflexive signifie qu'une classe peut être


associée à elle-même. Cela est souvent utilisé pour représenter
des relations hiérarchiques ou des structures récursives.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes

Une association réflexive signifie qu'une classe


peut être associée à elle-même. Cela est souvent
utilisé pour représenter des relations
hiérarchiques ou des structures récursives.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe

3. Relations entre classes dans un diagramme UML


3.1. Associations entre classes
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L’héritage (Généralisation & Spécialisation)

L’héritage représente une relation "est un" entre une classe mère
et une ou plusieurs classes filles.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L’héritage (Généralisation & Spécialisation)
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L’héritage (Généralisation & Spécialisation)

Avantages de cette organisation:


1.Réutilisation du code : Les attributs et méthodes
communs sont définis une seule fois dans la super-classe,
ce qui évite la duplication.
1.Clarté et modularité : La hiérarchie des classes est
claire et facile à comprendre. Chaque sous-classe ajoute
uniquement ce qui est spécifique à son fonctionnement.
1.Extensibilité : Si nous voulons ajouter un nouveau type
de compte (par exemple, un compte professionnel), nous
pouvons simplement créer une nouvelle sous-classe sans
modifier le code existant."
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L’héritage (Généralisation & Spécialisation)
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L ’agrégation

L'agrégation représente une relation "partie-tout" où les parties peuvent exister indépendamment
du tout. Si le tout est détruit, les parties ne sont pas nécessairement détruites

Explication de l'agrégation :
▪ Voiture : La classe principale qui représente une voiture.
▪ Composant : Une classe représentant les composants de la voiture
(moteur, roues, etc.).
▪ Relation : Une voiture est composée de plusieurs composants, mais
ces composants peuvent exister indépendamment de la voiture. Si
la voiture est détruite, les composants ne sont pas nécessairement
détruits.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L ’agrégation
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) L ’agrégation
Comment l'agrégation est modélisée dans le code Java
1.Référence à un objet :
1. Dans la classe Voiture, une liste de Composant est déclarée :
2. java
3. Copy
2. Cela signifie que la Voiture contient une référence à des
objets Composant.
2.Existence indépendante :
1. Les objets Composant (comme moteur, roue1, roue2) sont
créés indépendamment de la Voiture.
2. Ils peuvent être ajoutés à la Voiture via la
méthode ajouterComposant, mais ils continuent d'exister
même si la Voiture est détruite.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) La composition

La composition représente une relation "partie-tout" plus forte où les parties ne peuvent pas exister
indépendamment du tout. Si le tout est détruit, les parties sont également détruites.
Caractéristiques de la composition en UML
1.Relation forte : 3. Multiplicité :

▪ La composition représente une relation de dépendance forte ▪ La composition est souvent représentée
entre deux classes. avec une multiplicité de 1 pour le tout
▪ Les parties (composants) ne peuvent pas exister et 1..* pour les parties (par exemple,
indépendamment du tout (objet principal). une Maison a une ou plusieurs Pièces).
2.Durée de vie liée : 4. Représentation graphique :
▪ Les objets composants sont créés et détruits en même temps ▪ En UML, la composition est représentée par
que l'objet principal.
un losange plein du côté de la classe "tout",
▪ Si l'objet principal est supprimé, les objets composants le sont
relié à la classe "partie".
également.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) La composition
1.Classe Maison :
1. Représente l'objet principal (le "tout").
2. Contient une liste de Pièce (les "parties").
3. La relation est représentée par un losange plein du côté
de Maison, indiquant une composition.
2.Classe Pièce :
1. Représente les objets composants (les "parties").
2. Les instances de Pièce ne peuvent pas exister
indépendamment d'une Maison.
3.Relation de composition :
1. Une Maison est composée de une ou plusieurs Pièce.
2. Si la Maison est détruite, toutes les Pièce associées sont
également détruites
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) La composition
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.2. Relations avancées : Héritage, agrégation et composition
a) La composition

Aspect Composition Agrégation


Relation Partie-tout forte Partie-tout faible
Les parties sont détruites avec le
Durée de vie Les parties survivent au tout
tout
Les parties sont créées à l'intérieur Les parties sont créées en dehors
Création des parties
du tout du tout
Exemple Maison et Pièce Voiture et Composant
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.3. Les dépendances et les interfaces
a) Les dépendances :
Une dépendance représente une relation où une classe utilise une autre classe, mais sans qu'il y ait une
relation structurelle forte (comme dans l'agrégation ou la composition). La dépendance est souvent
temporaire et survient lorsqu'une classe a besoin d'une autre classe pour accomplir une tâche spécifique

Exemple :
Imaginons une classe Client qui utilise une
classe ServicePaiement pour effectuer un paiement.
La classe Client dépend de ServicePaiement, mais
elle ne la possède pas.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.3. Les dépendances et les interfaces
a) Les dépendances :
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.3. Les dépendances et les interfaces
a) Les dépendances :
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.3. Les dépendances et les interfaces
b) Les interfaces :

Une interface est un contrat qui définit un ensemble de méthodes qu'une classe doit implémenter. Les
interfaces permettent de découpler le code et de favoriser la réutilisation et l'extensibilité

Exemple :
Imaginons un système où plusieurs types de véhicules
(Voiture, Vélo) peuvent démarrer et s'arrêter. Nous pouvons
définir une interface Véhicule pour garantir que tous les
véhicules implémentent ces méthodes.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


3. Relations entre classes dans un diagramme UML
3.3. Les dépendances et les interfaces
b) Les interfaces :
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


4. Autres notions
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


4. Autres notions

1.Quand l'utiliser ?
1. Lorsque la relation entre deux classes a des
propriétés ou des comportements propres.
2. Par exemple, si une relation
entre Étudiant et Cours a un attribut note, on
utilise une classe d'association pour représenter
cette relation.
2.Représentation en UML :
1. Une classe d'association est représentée comme
une classe normale, mais elle est connectée à une
association entre deux autres classes.
3.Exemple concret :
1. Une relation entre Étudiant et Cours peut avoir un
attribut note pour représenter la note obtenue par
l'étudiant dans ce cours.
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


4. Autres notions

Une association n-aire en UML est une relation qui implique trois classes ou plus. Contrairement
aux associations binaires (entre deux classes), les associations n-aires permettent de modéliser des
relations plus complexes où plusieurs classes interagissent ensemble. Une association n-aire est
souvent représentée par un losange connecté aux classes participantes
DIAGRAMME DE CLASSE

Éléments de Base du Diagramme de classe


4. Autres notions
DIAGRAMME DE CLASSE

Vous aimerez peut-être aussi