Diagramme de Classes

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 26

Diagramme de classes

Pr. Badraddine AGHOUTANE


Objectif
1. Les diagrammes de cas d'utilisation modélisent à QUOI sert le
système?
2. Le système est composé d'objets qui interagissent entre eux et avec
les acteurs pour réaliser ces cas d'utilisation.
3. Les diagrammes de classes permettent de spécifier la STRUCTURE
et les liens entre les objets dont le système est composé.
 Chaque diagramme UML montre un aspect du système, tous sont
complémentaires et doivent être cohérents les uns avec les autres
Diagramme de classes
• Le diagramme de classes est le plus important: point central de
développement orienté objet.
• Il représente la structure statique interne du système sous forme de
classes (attributs + opérations) et de relations entre ces classes.
• Ce diagramme constitue la base pour la génération du code
(squelette) d’une application informatique et la génération du
schéma d’une base de données, à l’aide des outils logiciels appropriés
Exemple de diagramme de classes
Concepts et instances
Une instance est la concrétisation d'un concept abstrait.
Exemple:
• Concept : Stylo
• Instance : le stylo que vous utilisez à ce moment précis est une instance du concept
stylo : il a sa propre forme, sa propre couleur, son propre niveau d'usure, etc.
Classes et objets
Une classe décrit un type d’objets concrets.
Elle spécifie la manière dont tous les objets de même type seront décrits.
Par exemple: une classe Article est décrit par son désignation, auteur, prix,
avisInternaute,… etc

Un objet est une instance d'une classe


• Classe : Vidéo
• Objets : Pink Floyd (Live in Pompey), Odyssée de l'Espace,… etc.
Classes et objets
• Une classe est, un type abstrait, caractérisée par des propriétés (attributs et
méthodes) communes à un ensemble d’objets de même type et permettant de
créer des objets ayant ces propriétés.
• Une classe est composée d'un nom, d'attributs et d'opérations.
Diagramme de classes
NomClasse

listeAttributs
NomClasse NomClasse

Classe non documentée listeMéthodes

Ne pas représenter les attributs ou


Classe documentée
les méthodes d'une classe sur un
diagramme, n'indique pas que cette
classe n'en contient pas.

8
Propriétés : attributs et opérations
Les attributs et les opérations sont les propriétés d'une classe.
1. Un attribut décrit une donnée de la classe.
• Les types des attributs et leurs initialisations ainsi que les modificateurs
d'accès peuvent être précisés dans le modèle
• Les attributs prennent des valeurs lorsque la classe est instanciée : ils sont
des variables attachées aux objets.
2. Une opération est un service offert par la classe (un traitement que les
objets correspondant peuvent effectuer).
Diagramme de classes
Par convention, les noms de propriétés commencent par une lettre minuscule et
les noms de classes commencent par une lettre majuscule.

Personne Package::Personne
Ne pas spécifier les nom -nom: String
niveaux d’accès des age -age : int = valeurInitial
propriétés d'une classe adresse -adresse : String
ne veut pas dire qu'on nationalite -nationalite : String
ne représente que les poids -poids : float
membres publics. Personne +Personne(String,int, …)
veillit +veillit():void
setNom +setNom (String): void
getAdresse +getAdresse(): String

Classe documentée Classe détaillée


Diagramme de classes
Niveau d’accès, visibilité et portée des propriétés (attributs et opérations) :
• public (+) : la propriété est visible par tous les classes (clients) de la classe.

• protégé (#) : la propriété est visible par les sous-classes de la classe.

• privé (-) : la propriété n’est visible que par les objets de la classe dans laquelle elle est
déclarée.
Compartiment des attributs
• Un attribut peut être initialisé et sa visibilité est définie lors de sa déclaration.
• Syntaxe de la déclaration d'un attribut :

modifAcces nomAtt : nomClasse [ multi ]= valeurInit


Compartiment des opérations
• Une opération est définie par son nom ainsi que par les types de ses
paramètres et le type de sa valeur de retour : sa signature
• La syntaxe de la déclaration d'une opération est la suivante :
modifAcces nomOperation ( parametres ) : ClasseRetour
Relations entre classes
• Une relation d'héritage est une relation de généralisation/spécialisation
permettant l'abstraction de concepts.
• Une association représente une relation sémantique entre les objets des
classes associées.
• Une relation d'agrégation décrit une relation de contenance ou de
composition.
Diagramme de classes (association simple)
• Une association exprime une connexion sémantique entre deux classes.

Personne Entreprise
travaille

• L'association est instanciable dans un diagramme d'objet, sous forme de liens entre
objets issus de classes associées.

Mohamed:Personne
WebDev:Société
nom = Alami
nom = WebDev
prénom = Mohamed

Diagramme d’objets

05/12/2017 15
Diagramme de classes (association multiple)
• Les classes sont liées entre elles par plusieurs relations distinctes (association multiple).
Exemples: formalismes en utilisant les noms des rôles.

Personne Entreprise
employé employeur

???
client

• Le rôle décrit comment chaque classe est vue par l’autre à travers l’association
parent
Personne
Les rôles sont intéressants
lorsque l’association est
réflexive enfant

05/12/2017 16
Diagramme de classes (multiplicité)
• Les multiplicités d’une association expriment le nombre d’objets d’une
classe qui participent dans une association avec une autre classe.

Personne Société
1..* Employer 0..1

parent
2
enfant 0..*

05/12/2017 17
Diagramme de classes (association n-aire)

• Association n-aire : association reliant plus de deux classes distinctes

Salle Etudiant

Professeur

05/12/2017 18
Diagramme de classes (Classe association)

• Une association ayant des propriétés (attributs/méthodes) peut être représenter par
une classe association

Commande Produit
Contenir >

qtéCommandée

05/12/2017 19
Diagramme de classes (Classe intermédiaire)
• Toute classe-association peut être remplacée par une classe intermédiaire et
qui sert de pivot pour une paire d’association.

Commande Ligne commande Produit


1..* 0..*
1..1 qtéCommandée 1..1

05/12/2017 20
Diagramme de classes (exemples)

Salle Salle

<<association ternaire>>
Professeur Etudiant Professeur Etudiant
Cours
jour
heure
Cours durée
jour
heure
durée

05/12/2017 21
Diagramme de classes (Agrégation)
• L’agrégation est une association non symétrique. Une des extrémités joue un
rôle prédominant par rapport à l’autre.
• C’est une association qui décrit une relation d’inclusion entre tout (l’agrégat) et
ses parties.

Propriétaire 1 * Voiture

• Elle indique une relation de "possession" : l'agrégat peut contenir plusieurs


objets d'un type donné.

05/12/2017 22
Diagramme de classes (composition)
• La composition est une agrégation forte (contenance physique).
• Si les durées de vie des objets sont liées on parle de composition
(composé/composant), symbolisée par un losange plein du côté du composé;
• Les composants sont totalement dépendants du composite. Si destruction objet
composé  destruction automatique de tous ses composants.

Livre 1 1..* Page

05/12/2017 23
Diagramme de classes (Héritage)
• Ne pas confondre généralisation/spécialisation et agrégation ! Quand une
classe est une spécialisation d’une autre, elle est de même nautre ce qui n’est
pas le cas avec l’agrégation.
• L’héritage est un moyen de réaliser la classification ou l’organisation en
classes.
• Principe de substitution : toutes les propriétés de la classe ‘de base’ doivent être
valables pour les classes ‘dérivées’
• Héritages: simple / multiple

ClasseDeBase ClasseDerivée

05/12/2017 24
Héritage simple (exemple)

Véhicule

Généralisation
Spécialisation

VéhiculeTerrestre VéhiuleAérien

Voiture Avion

05/12/2017 25
Héritage multiple (plusieurs super classes)

Vous aimerez peut-être aussi