SlideShare une entreprise Scribd logo
1  sur  32
Diagramme de
Classe
Conception Orientée Objet (UML) – Chapitre 3
Amir Souissi
©2017
1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)
Niveau: 2ème année Licence Appliquée
Spécialité : DSI, RSI
Mr Amir
Souissi
© 2017
Plan
1. Présentation des Classes et des Objets
2. Les Eléments Constituants le Diagramme de Classe
 Classes, Attributs et Opérations
3. Associations
 Associations, Rôle et Multiplicité
 Association Multiple et Réflexive
 Classe d’Association
 Associations n-aires
 Relations : Héritage, Composition, Agrégation
4. Contraintes
2
Chapitre3
DiagrammedeClasse
Plan
Mr Amir
Souissi
© 2017
1. Présentation des Classes et des
Objets
 La vue logique a pour but d’identifier les éléments du domaine, les relations et interactions
entre ces éléments. Elle les identifie selon deux aspects: dynamique et statique.
 Axe de modélisation statique : pas de facteur temporel
 Le système est composé d’objets qui interagissent entre eux et avec les acteurs pour
réaliser les cas d’utilisation.
 Le diagramme de Classe permet de fournir une représentation abstraite de ces objets.
 Le diagramme de Classe montre la structure interne du système.
 En phase d’analyse, il a pour objectif de décrire la structure des entités manipulées par les
utilisateurs
 En phase de conception, il représente la structure d’un code orienté objet, ou a un niveau
de détail plus important, les modules du langage de développement.
3
Chapitre3
DiagrammedeClasse
1.Présentationdes
ClassesetdesObjets
Objets
nécessaires à
la réalisation
de ce cas
d’utilisation
Mr Amir
Souissi
© 2017
ClasseetObjet
 Une classe représente la description abstraite d’un ensemble d’objets possédant les mêmes
caractéristiques. On parle également de type.
 Un objet est une entité possédant une identité et encapsulant un état et un
comportement. Un objet est une instance d’une classe.
 La classe est le modèle, l’objet est sa réalisation.
Représentation UML :
Représentation d’une classe Représentation d’un objet
ou
Exemple:
4
Chapitre3
DiagrammedeClasse
1.Présentationdes
ClassesetdesObjets
Objet Facture
Instance qui a
un Numéro = 1
Classe Facture
Entité Abstraite avec
l’attribut Numéro
Nom Classe
[Attributs]
[Opérations]
Nom Objet : Classe :Classe
Mr Amir
Souissi
© 2017
2. Les Eléments Constituants le
Diagramme de Classe
La Classe est un concept Abstrait qui permet de représenter toutes les entités
d’un système.
 Elle est définie par son nom, ses attributs et ses opérations comme suit :
 Un attribut est une propriété de classe intéressante pour l’analyste. Les attributs
correspondent à des variables associées aux objets de la classe.
 Une opération est un service rendu par la classe. Les opérations correspondant à des
fonctions associées aux objets de la classe.
5
Chapitre3
DiagrammedeClasse
2.LesEléments
Constituantsle
DiagrammedeClasse
Commande
- Numero : int
- DateCom : Date {<=DateAujourd’hui}
- Montant : float = 0
+ Créer()
+ Calcul_Montant():float
Mr Amir
Souissi
© 2017
Classe:AttributsetOpérations
Syntaxe de déclaration des attributs d’une Classe:
Visibilité [/] nomAttribut : Type [= ValeurParDefaut]
 [/] : le slash précède un attribut dérivé. Il s’agit d’une information valué
intéressante mais redondante car sa valeur peut être déduite à partir d’autres
attributs.
Syntaxe de déclaration des opérations d’une Classe:
Visibilité nomOperation ([param1, ... , paramN]) : [typeRetour] [{propriétés}]
 Visibilité : les modificateurs d’accès permettent de définir la visibilité :
 - : privée : visible seulement par la classe elle-même
 + : public : visible par toutes les autres classes
 # : protégé: visible seulement par la classe elle-même et ses classes filles
 ~ : package: seul un élément déclaré dans le même paquetage peut voir l’élément
6
Chapitre3
DiagrammedeClasse
2.LesEléments
Constituantsle
DiagrammedeClasse
Mr Amir
Souissi
© 2017
Classe:AnalysevsConception
7
Chapitre3
DiagrammedeClasse
2.LesEléments
Constituantsle
DiagrammedeClasse
Commande
Numero
Produit
Qte
PrixUnitaire
/ Montant
Attribut dérivé
Méthode qui calcule le montant
de la commande à partir des
attributs Qte * PrixUnitaire
Commande
- Numero : int
- Produit : String
- Qte :int
- PrixUnitaire : float
+ CalculMontant():float
Visibilité et type spécifiés
Analyse Conception
Mr Amir
Souissi
© 2017
3.Associations
AssociationetRôle
 Une association est une relation statique entre plusieurs classes.
 Elle représente une relation possible entre les objets des classes.
 On peut donner à une classe un rôle dans une association.
 Un rôle précise la signification de l’entité à proximité du rôle dans
l’association.
8
Chapitre3
DiagrammedeClasse
3.Associations
Personne
employé
Nom : String
Prénom : String
Salaire() : float
Entreprise
Raison sociale : String
Chiffre_d_affaire() : float
employeurTravailler pour
Rôle de Personne
dans l’association
Rôle de Entreprise dans
l’association
Nom de l’association
Mr Amir
Souissi
© 2017
Multiplicité
La multiplicité spécifie l’ensemble des cardinalités possibles (parmi les entiers
naturels) sur un rôle.
Les multiplicités permettent de contraindre le nombre d’objets intervenant dans
les instanciations des associations. On en place de chaque côté des associations.
Une multiplicité d’un côté spécifie combien d’objets de la classe du côté
considéré sont associés à un objet donné de la classe de l’autre côté.
9
Chapitre3
DiagrammedeClasse
3.Associations
Personne
*Nom : String
Prénom : String
Salaire() : float
Entreprise
Raison sociale : String
Chiffre_d_affaire() : float
1
Travailler pour
Une Entreprise fait travailler 0
ou plusieurs personnes
Une personne travaille pour
une seule Entreprise
Mr Amir
Souissi
© 2017
Multiplicité
On peut préciser :
 Un intervalle (min . . max): 2 . . 5  de 2 à 5
0 . . 1  0 ou 1
 Une liste de valeurs (val1, val2, …) : 2,5,7  2 ou 5 ou 7
 Ne pas borner supérieurement (*) : 1. . *  au moins 1
0 ..* ou *  0 ou plusieurs
 1 .. 5 s’interprète : « à un objet donné de la classe Article, on doit associer au
minimum 1 objet de la classe Catégorie et on peut en associer au maximum
5 »,
 * s’interprète : « à un objet donné de la classe Catégorie, on peut associer 0
ou plusieurs objets de la classe Article »
10
Chapitre3
DiagrammedeClasse
3.Associations
Article Catégorieappartient
* 1..5
Mr Amir
Souissi
© 2017
AssociationMultiple
Exemple de diagramme d’objets :
11
Chapitre3
DiagrammedeClasse
3.Associations
Personne
Nom : String
Prénom : String
Naissance : Date
Appartement
Adresse : String
Pièces : int
Loyer : float
*
*
1
*
Loue
Propose
Plusieurs associations entre deux classes
AliMejri:Personne
Nom : Mejri
Prénom : Ali
Naissance : 3/10/1991
MeherSelmi:Personne
Nom : Selmi
Prénom : Meher
Naissance : 22/5/1990
T1:Appartement
Adresse : Tunis
Pièces : 2
Loyer : 400
S5:Appartement
Adresse : Sousse
Pièces : 3
Loyer : 450
Loue
Loue
Mr Amir
Souissi
© 2017
AssociationMultiple
Lorsqu’on a une classe dont les instances peuvent être redondants (c-à-d la
même instance qui participe plusieurs fois à une association), alors créer
différentes associations entre les classes, chacune affectée d’un rôle différent
avec une multiplicité égale à 1 exactement.
Le rôle ici est très utile puisque la même association concerne les mêmes classes.
12
Chapitre3
DiagrammedeClasse
3.Associations
Le même aéroport peut
jouer le rôle d’un
aéroport de départ pour
un vol et un aéroport
d’arrivée pour un autre.
Rôle joué par la
classe Aéroport
dans l’association
Multiplicité de la
classe Aéroport = 1
Vol
dateDepart
dateArrivée
OuvrirReservation()
Aéroport
nomDépart
Arrivée
1
1
0..*
0..*
dessert
dessert
Mr Amir
Souissi
© 2017
AssociationRéflexive
C’est une association entre une classe donnée et elle-même.
13
Chapitre3
DiagrammedeClasse
3.Associations
patron
Employé
Nom : String
Prénom : String
Grade: String
ouvrier
0..1
*
Dirige
homme
Personne
Nom : String
Prénom : String
femme
1
1
Marié à
parent
enfant
2
*
crée
Mr Amir
Souissi
© 2017
Classed’Association
Une association peut parfois avoir des propriétés. Dans ce cas, ces propriétés
sont encapsulées dans une classe nommée classe d’association.
 Une classe d’association est représentée par un trait discontinu qui relie la
classe avec l’association qu’elle caractérise.
 Généralement, une association de cardinalité plusieurs à plusieurs est une
classe d’association.
14
Chapitre3
DiagrammedeClasse
3.Associations
Classe 1 Classe 2
Classe d’association
Mr Amir
Souissi
© 2017
Classed’Association
Chaque Vol peut avoir plusieurs Aéroport servant d’escales et chaque Aéroport
peut servir d’escale pour plusieurs vols. Les informations sur les escales sont des
attributs d’associations qui caractérisent la classe d’association.
15
Chapitre3
DiagrammedeClasse
3.Associations
Vol
dateDepart
dateArrivée
heureDepart
heureArrivée
OuvrirReservation()
Aéroport
nomDépart
Arrivée
1
1
0..*
0..*
dessert
dessert
0..* 0..*
Escale
InfosEscale
heureDepart
heureArrivée
/Durée
Attributs
d’associationClasse
d’association
Association
concernée
Mr Amir
Souissi
© 2017
Classed’Association
 On veut caractériser chaque personne travaillant dans une société par ses
grades et ses salaires.
 La société emploie plusieurs personnes avec des grades et des salaires
différents.
 Une personne peut avoir plusieurs grades et salaires dans la société.
  les attributs grade et salaire n’appartiennent ni à la classe Société ni à la
classe Personne.
16
Chapitre3
DiagrammedeClasse
3.Associations
Société
Nom
Adresse
Personne
Nom
Adresse
Grade
Salaire
*0..1 Emploie
Emploi
Grade
Salaire
Mr Amir
Souissi
© 2017
Classed’Association
Lors de la conception, une classe-association peut être remplacée par une classe
intermédiaire.
Exemple :
Un étudiant peut réaliser plusieurs travaux
Un travail est réalisé par un ou plusieurs étudiants
Pour chaque travail réalisé pour chaque étudiant, on lui attribue une note
17
Chapitre3
DiagrammedeClasse
3.Associations
Article Commande
**
LigneDeCommande
Quantité
Article Commande
*
*
LigneDeCommande
Quantité
0..1 0..1
Analyse Conception
Etudiant Travail
0..*1..*
Réalise
Evaluation
Note
Mr Amir
Souissi
© 2017
Associationn-aire
Les associations ont souvent une arité binaire: deux classes en relation.
Association n-aire : relie plus de deux classes.
Représentée par un losange.
Il vaut mieux limiter leurs utilisations.
18
Chapitre3
DiagrammedeClasse
3.Associations
Etudiant Enseignant
12..*
Salle
1
Cours
Début
Fin
Salle
Etudiant Enseignant
« Association ternaire »
Cours
Début
Fin
1
1
1
11
2..*
Mr Amir
Souissi
© 2017
Relationd’Agrégation
C’est un cas particulier d’une association qui exprime la contenance
• N’a pas besoin d’être nommée (elle signifie « contient », « est composé de »)
• Un élément peut appartenir à plusieurs agrégats (agrégation partagée)
• La destruction de l’agrégat n’entraine pas la destruction de tous ses éléments.
Représentation de l’agrégation en UML
Une agrégation peut exprimer :
Qu’une classe « élément » fait partie d’une autre « agrégat »
Un changement d’état d’une classe entraine un changement d’état d’une
autre.
Une action sur une classe entraine une action sur une autre.
19
Chapitre3
DiagrammedeClasse
3.Associations
Agrégat Elément
1..* 0..*
Mr Amir
Souissi
© 2017
RelationdeComposition
C’est une relation qui exprime une agrégation plus forte.
Un élément ne peut appartenir qu’à un seul agrégat composite (agrégation
non partagée)
La destruction de l’agrégat composite entraine la destruction de tous ses
éléments. (le composite est responsable du cycle de vie des composants)
Représentation de la composition en UML
Les objets composants sont des instances de la classe composite.
20
Chapitre3
DiagrammedeClasse
3.Associations
Composite Composant
1
0..*
Mr Amir
Souissi
© 2017
AgrégationvsComposition
21
Chapitre3
DiagrammedeClasse
3.Associations
Voiture Roue
Siège
Moteur
2..9
4
1
Email Texte
Titre
Destinataire
1
0..*
1..*
1..*
1..*
1..*
1
1
1
 Un email peut contenir un titre, du texte et
des destinataire
 Titre, Texte et Destinataire sont des classes
qui peuvent constituer un email.
 Titre, Texte et Destinataire peuvent être
partagés entre plusieurs emails
 La destruction de l’email n’entraine pas la
destruction de tous ses éléments
 Une voiture doit contenir des sièges,4 roues
et 1 moteur.
 Siège, Roue et Moteur sont des classes qui
constituent une voiture.
 Siège, Roue et Moteur ne sont pas partagés
entre plusieurs voitures
 La destruction de la voiture entraine la
destruction de tous ses éléments
Agrégation Composition
Mr Amir
Souissi
© 2017
AgrégationvsComposition
Un livre est composé d’une ou plusieurs pages et d’une couverture.
22
Chapitre3
DiagrammedeClasse
3.Associations
Livre Page
1
1..*
Couverture
1
1
Agrégation : ici, on
indique qu’un livre peut
être constitué d’une
couverture.
Composition: ici, on
exprime que les pages
sont physiquement
contenues dans le livre.
Mr Amir
Souissi
© 2017
Relationd’Héritage
L’association de généralisation définit une relation de classification entre une
classe plus générale et une classe plus spécifique.
La classe spécifique contient par héritage tous les attributs, les opérations et les
relations de la classe générale et peut en contenir d’autres.
Une hiérarchie d’héritage ne doit pas contenir de cycle.
Non réflexive : une classe ne peut pas dériver d’elle-même.
Non symétrique : si B dérive de A alors A ne peut pas dériver de B.
23
Chapitre3
DiagrammedeClasse
3.Associations
Classe Mère
Classe Fille
Représentation de l’héritage en UML
Mr Amir
Souissi
© 2017
Héritage: généralisation/ spécialisation
simple/ multiple
24
Chapitre3
DiagrammedeClasse
3.Associations
Employé
Directeur Ingénieur
Généralisation
Spécialisation
Personne
Enseignant Chercheur
Enseignant -Chercheur
Héritage simple
Une classe mère et plusieurs classes filles
Héritage multiple
Plusieurs classes mères et une classe fille
Mr Amir
Souissi
© 2017
HéritageetClassesAbstraites
Une classe abstraite est une classe qui ne peut pas être directement instanciée.
Son objectif est de factoriser des propriétés communes à plusieurs sous-classes.
Lorsqu’une classe possède une seule spécialisation, alors elle ne doit pas être
abstraite.
25
Chapitre3
DiagrammedeClasse
3.Associations
« Abstract »
Moyen de transport
- vitesse max
- modèle
- cylindré
Voiture
- nbre voiles
Bateau
- altitude
Avion
Une pure abstraction
Ne s’instancie qu’à travers ses filles
Mr Amir
Souissi
© 2017
4. Contraintes
Ce sont des relations sémantiques définies sur une relation ou sur un groupe de
relations.
Elles permettent de restreindre le nombre d’instances visées.
Elles peuvent s’exprimer:
graphiquement par { texte }
en langage naturel
en langage OCL (Object Constraint Language)
Elles sont de deux types:
Prédéfinie : un standard d’UML
Non prédéfinie
26
Chapitre3
DiagrammedeClasse
4.Contraintes
Mr Amir
Souissi
© 2017
Contrainte{ordonné}
Elle est définie sur un rôle et spécifie qu’une relation d’ordre décrit les objets de
la collection.
27
Chapitre3
DiagrammedeClasse
4.Contraintes
Vol
dateDepart
dateArrivée
heureDepart
heureArrivée
OuvrirReservation()
Aéroport
nom
Départ
Arrivée
1
1
0..*
0..*
0..* 0..*Escale
{ordonné}
On met l’accent sur l’importance de l’ordre des aéroports
qui jouent le rôle d’escale dans un vol
Personne Pays
Désire visiter
{ordonné}
**
Mr Amir
Souissi
© 2017
Contrainte{sous-ensemble}ou{inclusion}
Elle indique qu’une collection est un sous ensemble (est inclus) d’une autre.
28
Chapitre3
DiagrammedeClasse
4.Contraintes
La capitale d’un pays est forcément l’une de ses villes.
2..*
Pays Ville
1..*
1..*
1 1
capitale
{sous-ensemble}
Comité Personne
0..* 1
{inclus} Président
Membre
0..*
Le président est également un membre du comité.
Mr Amir
Souissi
© 2017
Contrainte{XOR}
Elle indique que tous les objets d’une classe peuvent participer à l’une des deux
associations mais pas aux deux à la fois.
29
Chapitre3
DiagrammedeClasse
4.Contraintes
Les personnes qui jouent le rôle d’étudiant ne peuvent pas jouer
le rôle d’enseignant dans la même université, et inversement.
une personne est soit enseignant soit étudiant au sein de la même université
Université Personne
0..1 1..*
* 1..*
enseignant
Compte
Personne
Morale
0..*
1
{XOR}
0..*
Un compte bancaire appartient
soit à une personne physique
soit à une personne morale, mais pas les deux.
étudiant
{XOR}
Personne
Physique
1
Mr Amir
Souissi
© 2017
Contrainte{totalité}
Elle indique que toutes les instances d’une classe participent au moins à une
association.
Remarques :
 Il existe plusieurs autres contraintes prédéfinies, tels que :
 {unique} : l’attribut a une valeur unique dont tous les objets ne doivent pas la
partager avec lui, une clé primaire est obligatoirement {unique}.
 {addOnly} : le nombre d’objet ne peut qu’augmenter.
 Certaines ne sont plus un standard UML tel que {frozen}.
 Le langage OCL permet de décrire les contraintes de manière plus précise => un
langage de contraintes.
30
Chapitre3
DiagrammedeClasse
4.Contraintes
Personne Logement
0..1 0..*
1 0..*
{totalité}
loue
possède
Toutes les instances de Personne et de Logement participent
Toutes au moins à l’une des associations « loue » ou « possède ».
Mr Amir
Souissi
© 2017
Contraintesd’héritage{disjoint},{chevauché},{complet}
{Disjoint} : tout objet est au plus une instance d’une sous-classe.
{Chevauché} : Une instance de l’une des spécialisations peut être simultanément une instance
de l’autre.
 {Complet} : indique que la généralisation est terminée (il n’est pas possible d’ajouter d’autres
sous-classes).
31
Chapitre3
DiagrammedeClasse
4.Contraintes
Employé
Directeur Ingénieur
{disjoint}
Personne
Etudiant Salarié
{chevauché}
Produit
Engrais naturel Produit industriel
{complet}
Directeur ∩Ingénieur =ᴓ
Etudiant ∩ Salarié ≠ ᴓ
Engrais naturel ᴜProduit industriel = Produit
Mr Amir
Souissi
© 2017
Contraintesnonprédéfinies
UML permet de spécifier explicitement des contraintes particulières sur des
éléments du modèle.
Certaines contraintes sont propres au système à modéliser.
32
Chapitre3
DiagrammedeClasse
4.Contraintes
Contrainte sur attribut:
Solde doit être positif
Compte
- Solde : float
{solde > 0}
Compte
- Solde : float {solde > 0}
Personne
- dateNaissance
AnnéeConscrit
{Personne.dateNaissance < 1/1/1996}
Contrainte sur association:
Seules les personnes dont la date de naissance < 1/1/1996,
peuvent être conscrit.

Contenu connexe

Tendances

Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Mehdi Hamime
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriMansouri Khalifa
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsAmir Souissi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...ENSET, Université Hassan II Casablanca
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidBadrElattaoui
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyENSET, Université Hassan II Casablanca
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoinsIsmahen Traya
 

Tendances (20)

Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
Ecole ESMA : Projet Fin de semestre - Application de gestion d'une école - Di...
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Chp3 - Diagramme de Classes
Chp3 - Diagramme de ClassesChp3 - Diagramme de Classes
Chp3 - Diagramme de Classes
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
Uml classes Par les exemples
Uml classes Par les exemplesUml classes Par les exemples
Uml classes Par les exemples
 
UML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouriUML Part 4- diagrammres de classes et d'objets mansouri
UML Part 4- diagrammres de classes et d'objets mansouri
 
UML Diagrammes Dynamiques
UML Diagrammes DynamiquesUML Diagrammes Dynamiques
UML Diagrammes Dynamiques
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Chap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitionsChap5 diagramme d'etats-transitions
Chap5 diagramme d'etats-transitions
 
Cours uml
Cours umlCours uml
Cours uml
 
CM processus-unifie
CM processus-unifieCM processus-unifie
CM processus-unifie
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...Mohamed youssfi support architectures logicielles distribuées basées sue les ...
Mohamed youssfi support architectures logicielles distribuées basées sue les ...
 
Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
cycle de vie
cycle de vie cycle de vie
cycle de vie
 
Rapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application AndroidRapport de stage PFE - Mémoire master: Développement d'une application Android
Rapport de stage PFE - Mémoire master: Développement d'une application Android
 
Cours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategyCours design pattern m youssfi partie 1 introduction et pattern strategy
Cours design pattern m youssfi partie 1 introduction et pattern strategy
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
La spécification des besoins
La spécification des besoinsLa spécification des besoins
La spécification des besoins
 

Similaire à diagramme de classe

Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classeIlhem Daoudi
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfviyipim509
 
diagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptxdiagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptxMisaha2
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27megaplanet20
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes umlmeriem sari
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de ClasseabdoMarocco
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns frenchmeriem sari
 
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxChapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxanisanima1
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfZakariaTouyeb
 
Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41megaplanet20
 
Chapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfChapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfBoubakerMedanas
 
Chapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfChapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfBoubakerMedanas
 

Similaire à diagramme de classe (20)

Modélisation avec UML
Modélisation avec UMLModélisation avec UML
Modélisation avec UML
 
Diagramme de classe
Diagramme de classeDiagramme de classe
Diagramme de classe
 
dokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdfdokumen.tips_diagramme-de-sequence-uml.pdf
dokumen.tips_diagramme-de-sequence-uml.pdf
 
diagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptxdiagramme de classe-1.pptx diagramme de classe-1.pptx
diagramme de classe-1.pptx diagramme de classe-1.pptx
 
Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27Uml: Diagrammes de classes -- Concepts avances --- 27
Uml: Diagrammes de classes -- Concepts avances --- 27
 
merise (1).pdf
merise (1).pdfmerise (1).pdf
merise (1).pdf
 
Diagrammes de classes uml
Diagrammes de classes umlDiagrammes de classes uml
Diagrammes de classes uml
 
Contraintes uml
Contraintes umlContraintes uml
Contraintes uml
 
Diagramme de Classe
Diagramme de ClasseDiagramme de Classe
Diagramme de Classe
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Design patterns french
Design patterns frenchDesign patterns french
Design patterns french
 
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptxChapitre II. METHODE D'ANALYSE P2 MCD .pptx
Chapitre II. METHODE D'ANALYSE P2 MCD .pptx
 
Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)Generateur de code java (GenJAVA)
Generateur de code java (GenJAVA)
 
Cours1 2 gdmm
Cours1 2 gdmmCours1 2 gdmm
Cours1 2 gdmm
 
Chapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdfChapitre_5_Génie logiciel et UML.pdf
Chapitre_5_Génie logiciel et UML.pdf
 
556ef78d93c3b
556ef78d93c3b556ef78d93c3b
556ef78d93c3b
 
POO
POOPOO
POO
 
Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41Uml: Diagrammes de classes -- Concepts De Base 41
Uml: Diagrammes de classes -- Concepts De Base 41
 
Chapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfChapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdf
 
Chapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdfChapitre 2-Data binding.pdf
Chapitre 2-Data binding.pdf
 

Plus de Amir Souissi

Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de javaAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intentsAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques androidAmir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement androidAmir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1Amir Souissi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objetAmir Souissi
 

Plus de Amir Souissi (19)

Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 

Dernier

Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmacieLoloshka
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 37
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...NaimDoumissi
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationpapediallo3
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 

Dernier (20)

Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Pharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour PharmaciePharmacologie des cardiotoniques pour Pharmacie
Pharmacologie des cardiotoniques pour Pharmacie
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdfBibdoc 2024 - Ecologie du livre et creation de badge.pdf
Bibdoc 2024 - Ecologie du livre et creation de badge.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
Potentiel du Maroc en Produits du Terroir et Stratégie Adoptée pour le dévelo...
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Cours de Management des Systèmes d'information
Cours de Management des Systèmes d'informationCours de Management des Systèmes d'information
Cours de Management des Systèmes d'information
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 

diagramme de classe

  • 1. Diagramme de Classe Conception Orientée Objet (UML) – Chapitre 3 Amir Souissi ©2017 1 Institut Supérieur des Etudes Technologiques (ISET-Tunisie) Niveau: 2ème année Licence Appliquée Spécialité : DSI, RSI
  • 2. Mr Amir Souissi © 2017 Plan 1. Présentation des Classes et des Objets 2. Les Eléments Constituants le Diagramme de Classe  Classes, Attributs et Opérations 3. Associations  Associations, Rôle et Multiplicité  Association Multiple et Réflexive  Classe d’Association  Associations n-aires  Relations : Héritage, Composition, Agrégation 4. Contraintes 2 Chapitre3 DiagrammedeClasse Plan
  • 3. Mr Amir Souissi © 2017 1. Présentation des Classes et des Objets  La vue logique a pour but d’identifier les éléments du domaine, les relations et interactions entre ces éléments. Elle les identifie selon deux aspects: dynamique et statique.  Axe de modélisation statique : pas de facteur temporel  Le système est composé d’objets qui interagissent entre eux et avec les acteurs pour réaliser les cas d’utilisation.  Le diagramme de Classe permet de fournir une représentation abstraite de ces objets.  Le diagramme de Classe montre la structure interne du système.  En phase d’analyse, il a pour objectif de décrire la structure des entités manipulées par les utilisateurs  En phase de conception, il représente la structure d’un code orienté objet, ou a un niveau de détail plus important, les modules du langage de développement. 3 Chapitre3 DiagrammedeClasse 1.Présentationdes ClassesetdesObjets Objets nécessaires à la réalisation de ce cas d’utilisation
  • 4. Mr Amir Souissi © 2017 ClasseetObjet  Une classe représente la description abstraite d’un ensemble d’objets possédant les mêmes caractéristiques. On parle également de type.  Un objet est une entité possédant une identité et encapsulant un état et un comportement. Un objet est une instance d’une classe.  La classe est le modèle, l’objet est sa réalisation. Représentation UML : Représentation d’une classe Représentation d’un objet ou Exemple: 4 Chapitre3 DiagrammedeClasse 1.Présentationdes ClassesetdesObjets Objet Facture Instance qui a un Numéro = 1 Classe Facture Entité Abstraite avec l’attribut Numéro Nom Classe [Attributs] [Opérations] Nom Objet : Classe :Classe
  • 5. Mr Amir Souissi © 2017 2. Les Eléments Constituants le Diagramme de Classe La Classe est un concept Abstrait qui permet de représenter toutes les entités d’un système.  Elle est définie par son nom, ses attributs et ses opérations comme suit :  Un attribut est une propriété de classe intéressante pour l’analyste. Les attributs correspondent à des variables associées aux objets de la classe.  Une opération est un service rendu par la classe. Les opérations correspondant à des fonctions associées aux objets de la classe. 5 Chapitre3 DiagrammedeClasse 2.LesEléments Constituantsle DiagrammedeClasse Commande - Numero : int - DateCom : Date {<=DateAujourd’hui} - Montant : float = 0 + Créer() + Calcul_Montant():float
  • 6. Mr Amir Souissi © 2017 Classe:AttributsetOpérations Syntaxe de déclaration des attributs d’une Classe: Visibilité [/] nomAttribut : Type [= ValeurParDefaut]  [/] : le slash précède un attribut dérivé. Il s’agit d’une information valué intéressante mais redondante car sa valeur peut être déduite à partir d’autres attributs. Syntaxe de déclaration des opérations d’une Classe: Visibilité nomOperation ([param1, ... , paramN]) : [typeRetour] [{propriétés}]  Visibilité : les modificateurs d’accès permettent de définir la visibilité :  - : privée : visible seulement par la classe elle-même  + : public : visible par toutes les autres classes  # : protégé: visible seulement par la classe elle-même et ses classes filles  ~ : package: seul un élément déclaré dans le même paquetage peut voir l’élément 6 Chapitre3 DiagrammedeClasse 2.LesEléments Constituantsle DiagrammedeClasse
  • 7. Mr Amir Souissi © 2017 Classe:AnalysevsConception 7 Chapitre3 DiagrammedeClasse 2.LesEléments Constituantsle DiagrammedeClasse Commande Numero Produit Qte PrixUnitaire / Montant Attribut dérivé Méthode qui calcule le montant de la commande à partir des attributs Qte * PrixUnitaire Commande - Numero : int - Produit : String - Qte :int - PrixUnitaire : float + CalculMontant():float Visibilité et type spécifiés Analyse Conception
  • 8. Mr Amir Souissi © 2017 3.Associations AssociationetRôle  Une association est une relation statique entre plusieurs classes.  Elle représente une relation possible entre les objets des classes.  On peut donner à une classe un rôle dans une association.  Un rôle précise la signification de l’entité à proximité du rôle dans l’association. 8 Chapitre3 DiagrammedeClasse 3.Associations Personne employé Nom : String Prénom : String Salaire() : float Entreprise Raison sociale : String Chiffre_d_affaire() : float employeurTravailler pour Rôle de Personne dans l’association Rôle de Entreprise dans l’association Nom de l’association
  • 9. Mr Amir Souissi © 2017 Multiplicité La multiplicité spécifie l’ensemble des cardinalités possibles (parmi les entiers naturels) sur un rôle. Les multiplicités permettent de contraindre le nombre d’objets intervenant dans les instanciations des associations. On en place de chaque côté des associations. Une multiplicité d’un côté spécifie combien d’objets de la classe du côté considéré sont associés à un objet donné de la classe de l’autre côté. 9 Chapitre3 DiagrammedeClasse 3.Associations Personne *Nom : String Prénom : String Salaire() : float Entreprise Raison sociale : String Chiffre_d_affaire() : float 1 Travailler pour Une Entreprise fait travailler 0 ou plusieurs personnes Une personne travaille pour une seule Entreprise
  • 10. Mr Amir Souissi © 2017 Multiplicité On peut préciser :  Un intervalle (min . . max): 2 . . 5  de 2 à 5 0 . . 1  0 ou 1  Une liste de valeurs (val1, val2, …) : 2,5,7  2 ou 5 ou 7  Ne pas borner supérieurement (*) : 1. . *  au moins 1 0 ..* ou *  0 ou plusieurs  1 .. 5 s’interprète : « à un objet donné de la classe Article, on doit associer au minimum 1 objet de la classe Catégorie et on peut en associer au maximum 5 »,  * s’interprète : « à un objet donné de la classe Catégorie, on peut associer 0 ou plusieurs objets de la classe Article » 10 Chapitre3 DiagrammedeClasse 3.Associations Article Catégorieappartient * 1..5
  • 11. Mr Amir Souissi © 2017 AssociationMultiple Exemple de diagramme d’objets : 11 Chapitre3 DiagrammedeClasse 3.Associations Personne Nom : String Prénom : String Naissance : Date Appartement Adresse : String Pièces : int Loyer : float * * 1 * Loue Propose Plusieurs associations entre deux classes AliMejri:Personne Nom : Mejri Prénom : Ali Naissance : 3/10/1991 MeherSelmi:Personne Nom : Selmi Prénom : Meher Naissance : 22/5/1990 T1:Appartement Adresse : Tunis Pièces : 2 Loyer : 400 S5:Appartement Adresse : Sousse Pièces : 3 Loyer : 450 Loue Loue
  • 12. Mr Amir Souissi © 2017 AssociationMultiple Lorsqu’on a une classe dont les instances peuvent être redondants (c-à-d la même instance qui participe plusieurs fois à une association), alors créer différentes associations entre les classes, chacune affectée d’un rôle différent avec une multiplicité égale à 1 exactement. Le rôle ici est très utile puisque la même association concerne les mêmes classes. 12 Chapitre3 DiagrammedeClasse 3.Associations Le même aéroport peut jouer le rôle d’un aéroport de départ pour un vol et un aéroport d’arrivée pour un autre. Rôle joué par la classe Aéroport dans l’association Multiplicité de la classe Aéroport = 1 Vol dateDepart dateArrivée OuvrirReservation() Aéroport nomDépart Arrivée 1 1 0..* 0..* dessert dessert
  • 13. Mr Amir Souissi © 2017 AssociationRéflexive C’est une association entre une classe donnée et elle-même. 13 Chapitre3 DiagrammedeClasse 3.Associations patron Employé Nom : String Prénom : String Grade: String ouvrier 0..1 * Dirige homme Personne Nom : String Prénom : String femme 1 1 Marié à parent enfant 2 * crée
  • 14. Mr Amir Souissi © 2017 Classed’Association Une association peut parfois avoir des propriétés. Dans ce cas, ces propriétés sont encapsulées dans une classe nommée classe d’association.  Une classe d’association est représentée par un trait discontinu qui relie la classe avec l’association qu’elle caractérise.  Généralement, une association de cardinalité plusieurs à plusieurs est une classe d’association. 14 Chapitre3 DiagrammedeClasse 3.Associations Classe 1 Classe 2 Classe d’association
  • 15. Mr Amir Souissi © 2017 Classed’Association Chaque Vol peut avoir plusieurs Aéroport servant d’escales et chaque Aéroport peut servir d’escale pour plusieurs vols. Les informations sur les escales sont des attributs d’associations qui caractérisent la classe d’association. 15 Chapitre3 DiagrammedeClasse 3.Associations Vol dateDepart dateArrivée heureDepart heureArrivée OuvrirReservation() Aéroport nomDépart Arrivée 1 1 0..* 0..* dessert dessert 0..* 0..* Escale InfosEscale heureDepart heureArrivée /Durée Attributs d’associationClasse d’association Association concernée
  • 16. Mr Amir Souissi © 2017 Classed’Association  On veut caractériser chaque personne travaillant dans une société par ses grades et ses salaires.  La société emploie plusieurs personnes avec des grades et des salaires différents.  Une personne peut avoir plusieurs grades et salaires dans la société.   les attributs grade et salaire n’appartiennent ni à la classe Société ni à la classe Personne. 16 Chapitre3 DiagrammedeClasse 3.Associations Société Nom Adresse Personne Nom Adresse Grade Salaire *0..1 Emploie Emploi Grade Salaire
  • 17. Mr Amir Souissi © 2017 Classed’Association Lors de la conception, une classe-association peut être remplacée par une classe intermédiaire. Exemple : Un étudiant peut réaliser plusieurs travaux Un travail est réalisé par un ou plusieurs étudiants Pour chaque travail réalisé pour chaque étudiant, on lui attribue une note 17 Chapitre3 DiagrammedeClasse 3.Associations Article Commande ** LigneDeCommande Quantité Article Commande * * LigneDeCommande Quantité 0..1 0..1 Analyse Conception Etudiant Travail 0..*1..* Réalise Evaluation Note
  • 18. Mr Amir Souissi © 2017 Associationn-aire Les associations ont souvent une arité binaire: deux classes en relation. Association n-aire : relie plus de deux classes. Représentée par un losange. Il vaut mieux limiter leurs utilisations. 18 Chapitre3 DiagrammedeClasse 3.Associations Etudiant Enseignant 12..* Salle 1 Cours Début Fin Salle Etudiant Enseignant « Association ternaire » Cours Début Fin 1 1 1 11 2..*
  • 19. Mr Amir Souissi © 2017 Relationd’Agrégation C’est un cas particulier d’une association qui exprime la contenance • N’a pas besoin d’être nommée (elle signifie « contient », « est composé de ») • Un élément peut appartenir à plusieurs agrégats (agrégation partagée) • La destruction de l’agrégat n’entraine pas la destruction de tous ses éléments. Représentation de l’agrégation en UML Une agrégation peut exprimer : Qu’une classe « élément » fait partie d’une autre « agrégat » Un changement d’état d’une classe entraine un changement d’état d’une autre. Une action sur une classe entraine une action sur une autre. 19 Chapitre3 DiagrammedeClasse 3.Associations Agrégat Elément 1..* 0..*
  • 20. Mr Amir Souissi © 2017 RelationdeComposition C’est une relation qui exprime une agrégation plus forte. Un élément ne peut appartenir qu’à un seul agrégat composite (agrégation non partagée) La destruction de l’agrégat composite entraine la destruction de tous ses éléments. (le composite est responsable du cycle de vie des composants) Représentation de la composition en UML Les objets composants sont des instances de la classe composite. 20 Chapitre3 DiagrammedeClasse 3.Associations Composite Composant 1 0..*
  • 21. Mr Amir Souissi © 2017 AgrégationvsComposition 21 Chapitre3 DiagrammedeClasse 3.Associations Voiture Roue Siège Moteur 2..9 4 1 Email Texte Titre Destinataire 1 0..* 1..* 1..* 1..* 1..* 1 1 1  Un email peut contenir un titre, du texte et des destinataire  Titre, Texte et Destinataire sont des classes qui peuvent constituer un email.  Titre, Texte et Destinataire peuvent être partagés entre plusieurs emails  La destruction de l’email n’entraine pas la destruction de tous ses éléments  Une voiture doit contenir des sièges,4 roues et 1 moteur.  Siège, Roue et Moteur sont des classes qui constituent une voiture.  Siège, Roue et Moteur ne sont pas partagés entre plusieurs voitures  La destruction de la voiture entraine la destruction de tous ses éléments Agrégation Composition
  • 22. Mr Amir Souissi © 2017 AgrégationvsComposition Un livre est composé d’une ou plusieurs pages et d’une couverture. 22 Chapitre3 DiagrammedeClasse 3.Associations Livre Page 1 1..* Couverture 1 1 Agrégation : ici, on indique qu’un livre peut être constitué d’une couverture. Composition: ici, on exprime que les pages sont physiquement contenues dans le livre.
  • 23. Mr Amir Souissi © 2017 Relationd’Héritage L’association de généralisation définit une relation de classification entre une classe plus générale et une classe plus spécifique. La classe spécifique contient par héritage tous les attributs, les opérations et les relations de la classe générale et peut en contenir d’autres. Une hiérarchie d’héritage ne doit pas contenir de cycle. Non réflexive : une classe ne peut pas dériver d’elle-même. Non symétrique : si B dérive de A alors A ne peut pas dériver de B. 23 Chapitre3 DiagrammedeClasse 3.Associations Classe Mère Classe Fille Représentation de l’héritage en UML
  • 24. Mr Amir Souissi © 2017 Héritage: généralisation/ spécialisation simple/ multiple 24 Chapitre3 DiagrammedeClasse 3.Associations Employé Directeur Ingénieur Généralisation Spécialisation Personne Enseignant Chercheur Enseignant -Chercheur Héritage simple Une classe mère et plusieurs classes filles Héritage multiple Plusieurs classes mères et une classe fille
  • 25. Mr Amir Souissi © 2017 HéritageetClassesAbstraites Une classe abstraite est une classe qui ne peut pas être directement instanciée. Son objectif est de factoriser des propriétés communes à plusieurs sous-classes. Lorsqu’une classe possède une seule spécialisation, alors elle ne doit pas être abstraite. 25 Chapitre3 DiagrammedeClasse 3.Associations « Abstract » Moyen de transport - vitesse max - modèle - cylindré Voiture - nbre voiles Bateau - altitude Avion Une pure abstraction Ne s’instancie qu’à travers ses filles
  • 26. Mr Amir Souissi © 2017 4. Contraintes Ce sont des relations sémantiques définies sur une relation ou sur un groupe de relations. Elles permettent de restreindre le nombre d’instances visées. Elles peuvent s’exprimer: graphiquement par { texte } en langage naturel en langage OCL (Object Constraint Language) Elles sont de deux types: Prédéfinie : un standard d’UML Non prédéfinie 26 Chapitre3 DiagrammedeClasse 4.Contraintes
  • 27. Mr Amir Souissi © 2017 Contrainte{ordonné} Elle est définie sur un rôle et spécifie qu’une relation d’ordre décrit les objets de la collection. 27 Chapitre3 DiagrammedeClasse 4.Contraintes Vol dateDepart dateArrivée heureDepart heureArrivée OuvrirReservation() Aéroport nom Départ Arrivée 1 1 0..* 0..* 0..* 0..*Escale {ordonné} On met l’accent sur l’importance de l’ordre des aéroports qui jouent le rôle d’escale dans un vol Personne Pays Désire visiter {ordonné} **
  • 28. Mr Amir Souissi © 2017 Contrainte{sous-ensemble}ou{inclusion} Elle indique qu’une collection est un sous ensemble (est inclus) d’une autre. 28 Chapitre3 DiagrammedeClasse 4.Contraintes La capitale d’un pays est forcément l’une de ses villes. 2..* Pays Ville 1..* 1..* 1 1 capitale {sous-ensemble} Comité Personne 0..* 1 {inclus} Président Membre 0..* Le président est également un membre du comité.
  • 29. Mr Amir Souissi © 2017 Contrainte{XOR} Elle indique que tous les objets d’une classe peuvent participer à l’une des deux associations mais pas aux deux à la fois. 29 Chapitre3 DiagrammedeClasse 4.Contraintes Les personnes qui jouent le rôle d’étudiant ne peuvent pas jouer le rôle d’enseignant dans la même université, et inversement. une personne est soit enseignant soit étudiant au sein de la même université Université Personne 0..1 1..* * 1..* enseignant Compte Personne Morale 0..* 1 {XOR} 0..* Un compte bancaire appartient soit à une personne physique soit à une personne morale, mais pas les deux. étudiant {XOR} Personne Physique 1
  • 30. Mr Amir Souissi © 2017 Contrainte{totalité} Elle indique que toutes les instances d’une classe participent au moins à une association. Remarques :  Il existe plusieurs autres contraintes prédéfinies, tels que :  {unique} : l’attribut a une valeur unique dont tous les objets ne doivent pas la partager avec lui, une clé primaire est obligatoirement {unique}.  {addOnly} : le nombre d’objet ne peut qu’augmenter.  Certaines ne sont plus un standard UML tel que {frozen}.  Le langage OCL permet de décrire les contraintes de manière plus précise => un langage de contraintes. 30 Chapitre3 DiagrammedeClasse 4.Contraintes Personne Logement 0..1 0..* 1 0..* {totalité} loue possède Toutes les instances de Personne et de Logement participent Toutes au moins à l’une des associations « loue » ou « possède ».
  • 31. Mr Amir Souissi © 2017 Contraintesd’héritage{disjoint},{chevauché},{complet} {Disjoint} : tout objet est au plus une instance d’une sous-classe. {Chevauché} : Une instance de l’une des spécialisations peut être simultanément une instance de l’autre.  {Complet} : indique que la généralisation est terminée (il n’est pas possible d’ajouter d’autres sous-classes). 31 Chapitre3 DiagrammedeClasse 4.Contraintes Employé Directeur Ingénieur {disjoint} Personne Etudiant Salarié {chevauché} Produit Engrais naturel Produit industriel {complet} Directeur ∩Ingénieur =ᴓ Etudiant ∩ Salarié ≠ ᴓ Engrais naturel ᴜProduit industriel = Produit
  • 32. Mr Amir Souissi © 2017 Contraintesnonprédéfinies UML permet de spécifier explicitement des contraintes particulières sur des éléments du modèle. Certaines contraintes sont propres au système à modéliser. 32 Chapitre3 DiagrammedeClasse 4.Contraintes Contrainte sur attribut: Solde doit être positif Compte - Solde : float {solde > 0} Compte - Solde : float {solde > 0} Personne - dateNaissance AnnéeConscrit {Personne.dateNaissance < 1/1/1996} Contrainte sur association: Seules les personnes dont la date de naissance < 1/1/1996, peuvent être conscrit.