0% ont trouvé ce document utile (0 vote)
76 vues48 pages

UML : Diagramme de Classes et Objets

Transféré par

haifadouaa22
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
76 vues48 pages

UML : Diagramme de Classes et Objets

Transféré par

haifadouaa22
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Université Djillali Liabés de Sidi Bel Abbés

Faculté des Sciences Exactes


Département d’Informatique

Génie Logiciel (L3-ISIL)


« software engineering »

Présenté par:
Djediden Mohamed
djdothman@[Link]
CHAPITRE 04

UML: DIAGRAMME DE CLASSES


ET DIAGRAMME D'OBJETS
-VUE STATIQUE-
PARTIE 01
DIAGRAMME DE CLASSES
Définition et objectifs
• Conception orienté objet: Représentation du système comme un ensemble
d’objets interagissant.
• Le diagramme de classes constitue un élément central de tout
développement orienté objet.
• Il décrit la structure statique interne du système en représentant les
classes et leurs relations.
• Un diagramme de classes fait abstraction des aspects dynamiques et
temporels du système
• En phase d’analyse, il détaille les structures manipulées par les utilisateurs.
• En phase de conception, il illustre un code orienté objet en mettant en
lumière les éléments internes du système en cours de développement.
Les classes
• Une classe est une description abstraite d’un ensemble d'objets du domaine de
l’application, définissant leur structure, leur comportement et leurs relations.
• Elle représente un ensemble d'objets partageant les mêmes caractéristiques.

Abstractio
n
Les classes

Une classe est représentée par un rectangle divisé en trois sections :


• La première section affiche le nom de la classe.
• La deuxième section contient les attributs de la classe.
• La troisième section liste les opérations (ou méthodes) de la classe.

Etudiant

Nom: String
Prénom:String
DateN: Date
Note[]: float

CalculerAge()
CalculerMoyenne()
Les attributs
• Un attribut modélise une information élémentaire, définie par son nom et son
format,
• Caractéristiques communes à tous les objets d’une classe.
• Chaque objet possède une valeur associée à ces attributs.
• Les types d'attributs peuvent être simples (int, bool, etc.), primitifs (comme
Date) ou énumérés.
• Identifiant : attribut particulier permettant d’identifier de manière unique
chaque objet ou instance de la classe.
Les attributs
• Les valeurs des attributs reflètent l’état de l’objet.
• Des objets distincts (ayant des identités différentes) peuvent
partager les mêmes valeurs d’attributs.

Mohamed1: Personne Mohamed2: Personne

Nom: Zaki Nom: Mohamed


Prénom:Mohamed Prénom:Zaki
DateN: 10/10/1990 DateN:10/10/1990
Les attributs dérivés
• Les attributs dérivés se distinguent par un slash (/) placé devant leur
nom.
• Ils peuvent être obtenus en effectuant des calculs basés sur d’autres
attributs et des formules spécifiques.

Etudiant

-Nom: String
-Prénom:String
-DateN: Date
-/nomComplet : String
- /Age: integer
Les attributs
Les Opérations
• Actions ou services que chaque objet de la classe peut effectuer.
• Elles définissent un comportement commun à tous les objets de la classe
• Une opération est une fonctionnalité assurée par la classe, qui peut inclure des
paramètres d’entrée et de sortie ainsi que des actions spécifiques à exécuter.
• Comme pour les attributs, les opérations peuvent avoir trois niveaux de visibilité
: public, privé, et protégé.
Visibilité

Un attribut ou une méthode peut être de trois types de visibilité :


1. Protégé : précédé du symbole #, il est accessible uniquement aux
sous-classes de la classe.
2. Privé : précédé du symbole -, il est visible uniquement au sein de
la classe elle-même.
3. Public : précédé du symbole +, il est accessible à tous les clients
de la classe.
Visibilité –Exemple-
1. Attribut public (nom) :
Accès direct : [Link]
2. Attribut protégé (_age) :
Accès via méthode : personne1.modifier_age(nouvel_age)
3. Attribut privé (__nationalite) :
Accès via méthode : personne1.get_nationalite(),
personne1.set_nationalite(nouvelle_nationalite)
Exemples / niveaux d’abstraction
Classe abstraite
• Une classe abstraite est une classe qui ne peut pas être instanciée
directement, mais dont les classes dérivées peuvent créer des
instances.
• Dans le cadre d'une relation d'héritage, la classe parente est, par
définition, une classe abstraite.
Interface
• Une interface est une classe abstraite qui ne contient pas d'attributs, mais
seulement des définitions d'opérations.
• Elle peut être implémentée par une ou plusieurs classes. En UML, une interface
est représentée par le stéréotype <<interface>> ou par un petit cercle.
Les liens entre les classes
1-Association
• L'association est une relation entre une ou plusieurs classes, généralement
binaire, qui décrit comment leurs instances sont connectées structurellement.
• Elle est représentée par une ligne droite reliant des classes de même niveau
hiérarchique. Quatre éléments principaux qui spécifient le lien d’association :
1. Nom : décrit la nature de la relation entre les objets
2. Direction : spécifie le sens dans lequel le nom de l'association s'applique
(directionnelle ou bidirectionnelle)
3. Rôle : décrit le rôle particulier joué par chaque classe dans l'association
4. Cardinalité (multiplicité) : indique le nombre d'instances d'une classe qui
peuvent être associées à une instance de l'autre classe
1-Association

Personne Compte
Nom: string
Numero: int
Prénom: string
devise: Devise
adresse: string SesPropriétair SesCompt
solde: float
Naissance: Date es es

OuvrirCompte()
1..2 Possède n Déposer(montant:float)
Retirer(montant:float)
Solde():float
1.2-Association à navigabilité restreinte
• Par défaut, une association permet la navigation dans les deux sens.
• Toutefois, il est possible de restreindre cette portée dans un modèle
afin d'indiquer que les instances d'une classe ne "connaissent" pas
les instances d'une autre classe.
1.3-Association réflexive et multiple
• Une association réflexive : entre une classe et elle-même

• Une association multiple : Plusieurs associations entre deux classes


1.4-Association N-Aire
• Une association impliquant plus de deux classes est représentée à l'aide
d'un losange qui relie toutes les classes concernées.
• Un client peut avoir plusieurs factures pour une même commande.
• Chaque facture d’un client est associée à une seule commande.
• Une commande et une facture sont toutes deux reliées à un unique client.
Facture
Client 1 1..
*

1
Commande
1.5-Classe-Association
• Une classe-association est une association représentée sous forme de classe
lorsque la relation elle-même possède des attributs ou des méthodes spécifiques.
• Cette classe-association enrichit l’association en lui donnant des propriétés et des
comportements supplémentaires.
• Cette classe-association est connectée par un trait en pointillé à l’association
concernée.
Multiplicité
2-Agregation
• Une forme spéciale d'association qui représente une relation ensemble/
élément
• Dans cette relation de subordination, une classe (l’ensemble) contient une autre
classe (l’élément), mais l’élément peut exister indépendamment de l’ensemble.
• La suppression de la classe principale n'entraîne pas la disparition de ses classes
constitutifs.
• Par exemple, une classe Équipe peut agréer plusieurs Joueurs. Si l'équipe est
dissoute, les joueurs peuvent continuer à exister.
3-Composition
• Une forme plus forte d'agrégation, où l’élément ne peut pas exister sans
l’ensemble
• Si l’ensemble est détruit, l’élément l'est aussi.
• La suppression de A entraine la suppression de B
• Par exemple, une classe Maison peut avoir une classe Chambre. Si la maison est
détruite, les chambres ne peuvent plus exister indépendamment.
Exemple Agrégation / Composition
MULTIPLICITES DES AGREGATIONS ET COMPOSITIONS:
• Dans une agrégation, la classe agrégat (ensemble) peut avoir une cardinalité
maximale de N, car un élément agrégeant (composant) peut être utilisé par
plusieurs agrégats
• En revanche, dans une composition, la cardinalité du côté de la classe ensemble
est limitée à 1..1. Cela s'explique par le fait que le composant, ne pouvant exister
de manière autonome, doit être lié exclusivement à un seul composite.

Enseignant EquipeRecherche
0..N
1..*
Présentatio
Diapositive * 1..1 n
4-Généralisation / Spécialisation
• Le principe de généralisation/spécialisation permet de distinguer, au sein d'une
classe générique, des sous-ensembles d'objets (ou classes spécialisées) qui
possèdent des caractéristiques spécifiques.
• Une classe spécialisée (également appelée classe fille, classe enfant , sous classe ,
classe dérivée ou classe descendante) hérite de la cohérence de la classe plus
générale (ou classe mère , classe parent , superclasse).
• Elle intègre ainsi tous les attributs, membres, et relations de la classe générale tout
en pouvant en ajouter de nouveaux.
4-Généralisation / Spécialisation
4-Généralisation / Spécialisation
• Une classe peut être spécialisée suivant différents critères.
• Certaines contraintes peuvent s’appliquer aux relations de
généralisation.
Héritage
• Un mécanisme qui permet de transmettre les caractéristiques (attributs et
méthodes) d'une classe à une sous-classe.
• Cela signifie qu'une classe peut être spécialisée en d'autres classes, en ajoutant
des caractéristiques spécifiques ou en adaptant certaines.
• De plus, plusieurs classes peuvent être regroupées sous une classe générale, ce
qui permet de rassembler les caractéristiques communes d'un ensemble de
classes.
• Lorsqu’une classe possède plusieurs classes parentales, on parle alors d'héritage
multiple.
Démarche pour élaborer un diagramme de classes
Identifier
les classes
du
domaine
étudié
Identifier
les
relations
entre ces
classes
Déterminer
les attributs
et les
méthodes
de chaque
classe
Organiser
et simplifier
le modèle
proposé
Itérer et
affiner le
modèle
pour
l'améliorer.
Diagramme de Classe –Exemple 01
Les contraintes sur les associations

• Les contraintes sont des expressions qui définissent le rôle ou la


portée d’un élément de modélisation, permettant ainsi de clarifier
ou d’étendre sa signification.
• Dans le cadre d'une association, elles peuvent limiter le nombre
d'instances concernées (appelées « expressions de navigation »).
• Les contraintes peuvent être formulées en langage naturel et sont
représentées graphiquement par un texte encadré d'accolades.
Les contraintes sur les associations
• La contrainte {sous-ensemble} {subset} indique une collection
est incluse dans une autre collection

• La contrainte {ou-exclusif} {xor} précise que pour un objet


donné, une seule association parmi un groupe d’associations est
valide
Les contraintes sur les généralisations
• Contrainte de partition :Elle spécifie que chaque instance d'une
classe appartient exclusivement à une des classes associées.

Une personne est :


-Soit Mineur
-Soit majeure
-Mais pas les deux.
Les contraintes sur les généralisations
• Contrainte d’exclusion : Elle indique qu'une instance d'association
empêche la présence d'une autre instance.
• Par exemple, un employé ne peut être à la fois directeur financier et
directeur commercial.
Les contraintes sur les généralisations
• Contrainte de totalité : Toutes les instances d'une classe doivent être
associées à au moins une instance des classes correspondantes.

Un Musicien est
obligatoirement :
- Soit un compositeur
- Soit un interprète
- Soit les deux.
Diagramme de Classe –Exemple 02
1. Tout écrivain a écrit au moins une œuvre ;

2. Les personnes peuvent être associées à des universités en tant


qu’étudiants aussi bien qu’en tant que professeurs ;
Diagramme de Classe –Exemple 02
3. Les cinémas sont composés de plusieurs salles qui projettent des
films à une heure déterminée ;
Diagramme de Classe –Exemple 02
4. Tous les jours, le facteur distribue des recommandés dans uns zone géographique
qui lui est affectée. Les habitants sont aussi associés à une zone géographique. Les
recommandés sont de deux sortes : lettres ou colis. Comme plusieurs facteurs
peuvent intervenir sur la même zone, on souhaite, pour chaque recommandé, le
facteur qui l’a distribué, en plus du destinataire
PARTIE 02
DIAGRAMME D’OBJETS
Diagramme d’objets
• Un diagramme d'objets représente les objets et leurs liens à un
instant donné, offrant une vue figée de l'état d'un système.
• Il est une instance d'un diagramme de classes à un instant t.
• Il est utilisé pour :
 Illustrer le diagramme de classes dans un scénario donné,
 Tester le comportement du système en représentant des cas
particuliers,
 Valider un diagramme de classes complexe à partir d'exemples,
 Capturer un instantané « snapshot » du système à un moment
précis.
Diagramme d’objets
Représentation d’un objet
Diagramme d’objets
Diagramme de classe :
Commande Client
* effectue 1
NumCommande NomClient
DateCommande AdresseClient
MontantCommande

Diagramme d’objets:

C1:Commande ALI:Client
NumCommande:A1001
DateCommande:31/10/2024 DéominationClient:ALI
MontantCommande:50000,0DA AdresseClient:Alger

C2:Commande
NumCommande:A2008
DateCommande:15/1/2024
MontantCommande:100000,0DA
Diagramme d’objets–Exemple 01

Préparer un diagramme d’objets :


• Amine est parti le 30 octobre 2024 à Paris, suite à sa
réservation de voyage numéro R12000/14 pour le vol V5555 de
la compagnie Air Algérie.
• Ce vol part tous les jours à 8h30 de l’aéroport d'Alger Houari
Boumediene et arrive à 10h30 à l’Aéroport charles de gaulle de
Paris
Houari Alger: Ville
R12000/14 : V5555 : Vol Boumediene :
Réservation
Aéroport
départ
H_Départ=8h30
H_Arrivé=10h30

arrivé
CDG: Paris: Ville
Aéroport

Amine :
Passager

Air Algérie :
Compagnie
Aérienne
Références
• Delphine Longuet : [Link]
• C. [Link] of Software [Link] Hall, 2nd edition, 2002.
• Les cours de Mme Farida BRAHIMI ,, université Mohand Akli Oulhadj de Bouira
• Les cours de Mme. [Link] , Centre universitaire Abdelhafid Boussouf Mila
• Les cours de Mme Mme CHIKHI .I , Université Blida 1

Vous aimerez peut-être aussi