Classe Et Objet
Classe Et Objet
Classe Et Objet
2 3
0 2
2 0
2 Diagramme de classes
Les concepts de base
Langage UML
Démarches Associées
Diagramme de Classes
Le diagramme de classes exprime la structure statique du système en termes de
classes et de relations entre ces classes.
1
Les diagrammes de classes
Classe & Objet
Un objet est une instance d’une classe. C’est une entité dotée d’une
identité, d’un état et d’un comportement que l’on peut invoquer.
les attributs,
les opérations
Classe détaillée :
Les attributs sont typés, les méthodes sont spécifiées et le niveaux
de protection des membres sont renseignés.
Classe documentée
Voiture
Voiture
Attribut public +marque : String
(Ici, noms symboliques) marque +immatriculation : String
attributs immatriculation +propriétaire : String
propriétaire Attribut protégé #puissanceFiscale : entier
#poidsVide : entier
(Ici, noms symboliques) démarrer #/Age : entier
méthodes conduire Attribut privé -dateFabrication : Date
arrêter -proprietaire : Personone
2
Les diagrammes de classes
Attributs
Un attribut est une propriété d’une classe ; il décrit une gamme de valeurs que la propriété
peut prendre à l’intérieur d’un objet (instance) d’une classe.
La notation UML permet d’ajouter des informations complémentaires aux attributs ; il est
possible de spécifier le type de valeur de chaque attribut ( chaîne de caractères, nombre
entier, booléen…). On peut aussi donner une valeur par défaut à un ATTRIBUT.
Le nom de l’attribut doit être unique dans la classe. La syntaxe de la déclaration d’un
attribut est la suivante :
Remarque : On appelle Attribut dérivé tout attribut qui peut être déduit d’un ou plusieurs
autres attributs (représenté par le symbole /)
3
Les diagrammes de classes
Rappel
}
- visible : B oolean = true
couleur : C olor = blue Attributs
#$ tailleMax : Rectangle
Static #$ tailleMin : Rectangle
/#$ tailleMoyenne : Rectangle
Retour
Paramètre
Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 8
4
Les diagrammes de classes
Association
Elle est représentée par une ligne connectant les deux classes et portant le nom de
l’association au dessus de la ligne.
Exemple :
Joueur Joue dans Equipe
Exemple :
Multiplicités conventionnelles
1 Un et un seul
Client A-pour-compte 1..* Compte
1 0..1 Zéro ou un
nom n°compte M..N De M à N (entiers naturels)
* De zéro à plusieurs
1,1 0..* De zéro à plusieurs
1..* De un à plusieurs
5
Les diagrammes de classes
Rôle
Quand une classe est associée à une autre, chacune des classes joue généralement un rôle précis
dans l’association.
Exemple
Rôle
Classe
Multiplicité
6
Association réflexives
Association réflexives
Exemple :
conduit
Chauffeur 1
Occupant voiture
0..4
Passager
Exemple :
Un joueur peut jouer pour
plusieurs équipes une année donnée
plusieurs années pour la même équipe
Chaque équipe a plusieurs joueurs la même année
Un bilan annuel est associé à chaque joueur dans une équipe
Equipe
dupont louvetaux 96 6 2
durand louvetaux 96 3 4
victoires dupont totoche 96 4 5
défaites dupont totoche 97 5 3
7
Les diagrammes de classes
Associations ternaire : Exemple 2
Salle
lieu 1
Cours
Professeur 1 Elève
1..*
Heure de début
Heure de fin
Haut-parleur Clavier
CPU
Ecran Souris
8
Les diagrammes de classes
Agrégation : Pourquoi :
Elle définit un point de contrôle unique pour l’objet représentant l’assemblage.
Si une instruction affecte l’ensemble de l’assemblage, l’objet détenant le contrôle
dicte la façon dont les membres répondent.
1
Carrosserie
1
Voiture Moteur
4
Roues
Exemple :
* Division * Service
Société
9
Les diagrammes de classes
Composition : Exemple 2
Composition : si le livre est détruit
alors chapitre n’existe plus
1..1 1..*
Livre Chapitre
1 64
Échiquier Case
Reptile Mammifère
Cheval
10
Les diagrammes de classes
Classe Électroménager
attributs Classe Article-Luxe
duréegarantie : entier attributs
poids : réel quantité : [0..100]
méthodes méthodes
valider() prixTTC()
garantie()
Véhicule
11
Les diagrammes de classes
Contraintes…
Les concepts de base des Diagrammes de Classes permettent d’exprimer un certain
nombre de contraintes : multiplicité, qualification, etc.
Les autres sont exprimées entre {..} dans une note
Entreprise
Membre de
0..* 0..*
Compte {or}
{inclus}
Personne Comité
Personne
1 0..*
Président du
12
La méta-modélisation
La méta-modélisation
M2 : Méta-modèle UML (très simplifié)
13
Le langage OCL
Diagrammes UML insuffisants
Pour spécifier complètement une application
Diagrammes UML seuls sont généralement insuffisants
Nécessité de rajouter des contraintes
Comment exprimer ces contraintes ?
Langue naturelle mais manque de précision, compréhension , pouvant être ambigüe
Langage formel avec sémantique précise : par exemple OCL
OCL : Object Constraint Language
Langage de contraintes orienté-objet
Langage formel (mais simple à utiliser) avec une syntaxe, une grammaire, une
sémantique (manipulable par un outil)
S'applique entre autres sur les diagrammes UML
14
Exercice 1
Un répertoire possède un nom et des droits de lecture, d’exécution et d’écriture.
Proposer une modélisation sous forme de classe de cette notion de répertoire.
Toutes les propriétés structurelles des répertoires et des fichiers sont privées.
Compléter votre diagramme de classes en précisant les méthodes d’accès.
29
Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023
Solution
Repertoire
Nom : String
Ecriture : boolean
Lecture : boolean
Execution : boolean
15
Solution
Fichier
Nom : String
Ecriture : boolean
Lecture : boolean
Execution : boolean
Solution
Fichier
File
Nom : String
Ecriture : boolean
Lecture : boolean
Repertoire Execution : boolean
16
Solution
Un répertoire peut contenir des répertoires et des fichiers.
Fichier
File
* Nom : String
Ecriture : boolean
Lecture : boolean
Repertoire Execution : boolean
*
Solution
Fichier
17
Exercice 2
Exercice 2 : Solution
1) 2) 3) 4)
5)
18
Institut Supérieur des Sciences Appliquées et de Technologie de Sousse
2 3
0 2
2 0
2 Diagramme d’Objets
Les concepts de base
Langage UML
Démarches Associées
Diagrammes d’objets
Représentation d’un ensemble d’objets et de liens, exprimant
la structure statique.
19
Diagrammes d’objets
Les objets
Diagrammes d’objets
20
Diagrammes d’objets
Objet (Suite)
Un objet anonyme
Diagrammes d’objets
Objet : Exemples de représentation
21
Diagrammes d’objets
Lien
Les objets sont reliés par des instances d’associations : les liens.
Un lien représente une relation entre objets à un instant donné.
ATTENTION : la multiplicité des extrémités des liens est toujours de 1.
1
Voiture Moteur :Voiture :Moteur
4
Roue :Roue :Roue :Roue :Roue
D. classes D. Objets
Diagrammes d’objets
Synthèse
22
Diagrammes d’objets
D. classes Vs D. Objets
D. Classe D. Objet
1. Les classes ont 3 compartiments 1.Les objets ont deux
: nom, attributs et méthodes compartiments : nom et attributs
2.Le nom de la classe est seul 2.Le format du nom de l’objet est
dans le compartiment du nom. NObj : NClass.
On peut parfois omettre le nom de
l’objet objet anonyme.
Diagrammes d’objets
D. classes Vs D. Objets
D. Classe D. Objet
3. Le compartiment des attributs 3. Les objets définissent les
définit les propriétés de l’attribut. valeurs des attributs.
23
Diagrammes d’objets
D. classes Vs D. Objets
D. Classe D. Objet
5.Les objets sont connectés avec
5. Les classes sont connectées par
des liens qui ont des noms et pas
des associations avec un nom et
de multiplicité. Les objets
une multiplicité, contrainte, rôle,
représentent des entités uniques et
…
les liens sont un-a-un c’est
pourquoi la multiplicité est non
relevante. Tandis qu’on peut
utiliser la notion de rôle dans les
liens.
Diagrammes d’objets
Exemple 2
L’exemple partiel qui suit est extrait du livre “Instant UML” (Pierre-Alain Muller)
Il s’agit d’un système de sécurité limitant les accès à des parties d’un bâtiment à l’aide de
cartes magnétiques.
24
Diagrammes d’objets
Exemple 2 (suite)
Le système gère un seul bâtiment contenant trois portes.
Le système peut être géré par une personne nommée « Tolkien ».
Deux utilisateurs peuvent accéder au bâtiment :
« Gandalf » a accès à la première (8h-18h) et seconde porte (12h-24h)
« Bilbon » a accès `a la troisième porte toute la journée.
Diagrammes d’objets
Le système gère un seul
bâtiment contenant trois
portes.
Le système peut être géré
par une personne nommée
« Tolkien ».
Deux utilisateurs peuvent
accéder au bâtiment :
« Gandalf » a accès à la
première (8h-18h) et
seconde porte (12h-24h)
« Bilbon » a accès `a la
troisième porte toute la
journée.
25
Diagrammes d’objets
Exemple 2
Diagramme de classes initial
*
ProdFournisseur
*
Livraison
*
*
ProdAssemblé
Diagrammes d’objets
Exemple 2
On dressant le diagramme objet, on c’est rendue compte qu’un produit assemblé peut être
créé en assemblant divers produits fournisseur.
1 : ProdFournisseur
3 : ProdFournisseur
26
Diagrammes d’objets
Exemple 2
Modification du diagramme de classes en ajoutant l’agrégation
*
ProdFournisseur
*
1..*
Livraison
*
*
ProdAssemblé
Diagrammes d’objets
Exemple 2 : 2ième contrainte
Quel est le minimum d’objets pour construire un produit assemblé?
1 : ProdFournisseur
27
Diagrammes d’objets
Exemple 2
Deuxième Modification du diagramme de classes en rectifiant la multiplicité.
*
ProdFournisseur
*
2..*
Livraison
*
*
ProdAssemblé
Diagrammes d’objets
Exemple 2 : 3ième contrainte
Les produits assemblés et produit fournisseur peuvent faire parti d’un produit assemblé ?
4 : ProdFournisseur
1 : ProdFournisseur
23 : ProdAssemblé 4 : ProdFournisseur
28
Diagrammes d’objets
Exemple 2 :
Troisième Modification du diagramme de classes.
2..*
* Livre 1..*
Livraison Produit
ProdFournisseur ProdAssemblé
Exercice
Exemples :
(x + y/2) / (x/3 + y),
(x + y/2), etc.
29