Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Classe Et Objet

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

Institut Supérieur des Sciences Appliquées et de Technologie de Sousse

2 3

0 2

2 0

2 Diagramme de classes
Les concepts de base

Langage UML

Démarches Associées

Les patrons de conception Enseignant : Dr. Mhamed Saidane

Diagramme de Classes
 Le diagramme de classes exprime la structure statique du système en termes de
classes et de relations entre ces classes.

 L’intérêt du diagramme de classe est de modéliser les entités du système


d’information.

 Le diagramme de classe permet de représenter l’ensemble des informations qui sont


gérées par le domaine. Ces informations sont structurées, c’est-à-dire qu’elles sont
regroupées dans des classes. Le diagramme met en évidence d’éventuelles relations
entre ces classes.

 Le diagramme de classes comporte 6 concepts :


 classe
 attribut
 Méthode
 relation
 Agrégation
 généralisation / spécialisation, etc.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 2

1
Les diagrammes de classes
 Classe & Objet

 Regroupement d’un ensemble d’objets qui se ressemblent (qui


partagent les mêmes attributs, opérations, méthodes, relations et
contraintes) et pour lesquels on veut gérer de l’information.

 Une classe est la description formelle d’un ensemble d’objets ayant


une sémantique et des caractéristiques communes.

 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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 3

Les diagrammes de classes


 Classe & Objet
 Représentée par un rectangle composée de 3 parties :
 le nom de la classe,

 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

Méthode publique +demarrer ( )


Méthode privée -arreter ( )

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 4

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 :

visibilité nom : type = valeur initiale

 Remarque : On appelle Attribut dérivé tout attribut qui peut être déduit d’un ou plusieurs
autres attributs (représenté par le symbole /)

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 5

Les diagrammes de classes


 Une Méthode est un service que l ’on peut demander à un objet pour
réaliser un comportement.

 Dans une classe, une opération (même nom et même types de


paramètres) doit être unique.

 Quand le nom d’une opération apparaît plusieurs fois avec des


paramètres différents, on dit que l’opération est surchargée.

 La déclaration d’une opération contient les types des paramètres et le


type de la valeur de retour, sa syntaxe est la suivante :

visibilité nom (paramètres) : type retour

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 6

3
Les diagrammes de classes

 Rappel

 Public ou + : l’accès est possible de tous les objets de toutes les


autres classes.

 Private ou - : l’accès n’est possible que depuis l’intérieur des


objets. Seules les opérations définies dans la classe peuvent
manipuler l’attribut.

 Protected ou # : l’accès est possible pour les objets d’une sous


classe. (héritage)

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 7

Les diagrammes de classes


 Résumé de la notation : Exemple Nom de la Classe
Initialisation
Fenetre
Visibilité + taille : Rectangle = 100,100

}
- visible : B oolean = true
couleur : C olor = blue Attributs
#$ tailleMax : Rectangle
Static #$ tailleMin : Rectangle
/#$ tailleMoyenne : Rectangle

Dérivé + afficher() : P osition


+ cacher()
# setTaille(taille : Rectangle)
} Méthodes

Retour
Paramètre
Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 8

4
Les diagrammes de classes
 Association

 Exprime une connexion sémantique bi-directionnelle entre classes


 Abstraction des liens qui existent entre objets
 Le sens d ’une association peut-être précisé par une flèche

 Association binaire = Association entre deux classes.

 Elle est représentée par une ligne connectant les deux classes et portant le nom de
l’association au dessus de la ligne.

 Il est utile de représenter l’orientation de l’association à l’aide d’un triangle plein


pointant vers la direction voulue.

Exemple :
Joueur Joue dans Equipe

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 9

Les diagrammes de classes


 Multiplicité des Associations binaires
 Précise combien d’objets d’une classe peuvent se rattacher à un seul objet d’une
classe associée,
 Association binaire est bi-directionnelle : multiplicité des deux côtés

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

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 10

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.

 le nom du rôle est écrit à côté de la classe jouant ce rôle :


 une personne assume le rôle d’employé pour sa société
 une société joue le rôle d’employeur pour une personne

Exemple

chef 1..* Travaille-pour 1 Société


Personne
0..1 employés employeur
Dirige
* subordonnés

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 11

Les diagrammes de classes


Association : Exemple récapitulatif

Rôle

Personne Nom Entreprise


-employé emploie -employeur Raison Sociale
Nom
Prénom Activité
1..* 0..1

Classe
Multiplicité

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 12

6
Association réflexives

 Association réflexives

 Une classe peut être en association avec elle-même ; ce cas se produit


lorsqu’une classe possède des objets pouvant jouer différents rôles (c’est une
association qui s’applique a des objets d’une même classe).

Exemple :
conduit

Chauffeur 1
Occupant voiture
0..4

Passager

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 13

Les diagrammes de classes


 Associations n-aire
 C’est une association parmi trois classes ou plus. Chaque instance de l’association est un n-
tuple de valeurs des classes respectives.

 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

joueur Année JOUEUR EQUIPE ANNEE V D

dupont louvetaux 96 6 2
durand louvetaux 96 3 4
victoires dupont totoche 96 4 5
défaites dupont totoche 97 5 3

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 14

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

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 15

Les diagrammes de classes

 Agrégation : Association particulière : «composé-composant», «partie-de»,


«agrégat, composant».
 Une agrégation représente une association non symétrique dans laquelle une des
extrémités joue un rôle prédominant par rapport à l’autre extrémité.
 Dans les opérations l’agrégat est souvent un objet traité comme un tout
 On représente une agrégation comme une hiérarchie représentant la classe "agrégat"
en haut du diagramme avec une ligne finissant par un losange vide du côté de la
classe "agrégat"
Exemple :
Ordinateur

Haut-parleur Clavier

CPU
Ecran Souris

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 16

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.

 Exemple : Accélération de la voiture : si on appuie sur la pédale d’accélération on a


un ensemble d’objet qui vont interagir pour accélérer.

1
Carrosserie
1
Voiture Moteur
4
Roues

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 17

Les diagrammes de classes


 Composition : une Agrégation particulière
 le composant n’appartient qu’à un seul composé. Autrement dit, une instance de la partie
appartient toujours à au plus une instance de l’élément composite : la multiplicité du côté
composite ne doit pas être supérieure à 1 (i.e. 1 ou 0..1).
 le composant peut naître hors de son composé, par contre il meurt avec son composé.
Autrement dit le cycle de vie des parties lié à celui du composite
 le composant n’intervient pas dans d ’autres association de composition ni agrégation.
 le plus souvent pas d ’«accès» direct (les demandes de services « passent » par le composé)

Exemple :
* Division * Service
Société

0..1 ou 1..1 Le cycle de vie d ’une


division est inclus
dans celui de sa société

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 18

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

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 19

Les diagrammes de classes


 Généralisation
 Relation ente un élément plus général et un élément plus spécifique qui est entièrement
conforme avec le premier élément, et qui ajoute de l ’information supplémentaire
 Les attributs et les opérations hérités ne sont pas représentés dans les classes filles.
 Une classe fille peut ajouter des attributs et des opérations à ceux qui sont hérités. On parle
de spécialisation.
 Elle peut redéfinir une propriété héritée :
- surcharge du code d’une méthode
- redéfinition des valeurs par défaut d’un attribut
- restriction des types des attributs ou des paramètres d’une méthode
Animal
- expression des contraintes supplémentaires.…

Reptile Mammifère

Cheval

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 20

10
Les diagrammes de classes

 Rappel : Classe Article


attributs
référence
prixHT Dans Article :
quantité : entier prixTTC() : retourner 1,06 * prixHT
Factorisation méthodes
prixTTC() Dans Article-Luxe :
prix-net() prixTTC() : retourner 1,33 * prixHT
prix-transport()

Classe Électroménager
attributs Classe Article-Luxe
duréegarantie : entier attributs
poids : réel quantité : [0..100]
méthodes méthodes
valider() prixTTC()
garantie()

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 21

Les diagrammes de classes


 Héritage multiple
 Une classe dite de jointure admet plusieurs super-classes
 Héritage multiple de classes appartenant à deux généralisations distinctes

Véhicule

Véhicule Terrestre Véhicule Marin

.... Voiture Véhicule Amphibie Bateau

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 22

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

 Exemple de contraintes sur les objets

{âge = date courante - date naissance} Employé chef


0..1
/age
salaire
date-naissance *

{[self].salaire < {[self]. chef.salaire}

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 23

Les diagrammes de classes


 Contraintes…
 Exemple de contraintes sur les liens : {ordonné}, {pas de répétition}...
 Exemple de contraintes inter-liens (contraintes ensembliste)

Entreprise

Membre de
0..* 0..*
Compte {or}
{inclus}
Personne Comité
Personne
1 0..*
Président du

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 24

12
La méta-modélisation

Qu’est-ce qu’un méta-modèle ?


 Modèle d’un ensemble de modèles
 Grammaire décrivant un langage de modélisation

Définit la syntaxe abstraite des modèles

Pourquoi des méta-modèles ?


 Pour éditer et valider les modèles

 Pour transformer des modèles

Règles de transformation entre méta-modèles

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 25

La méta-modélisation
M2 : Méta-modèle UML (très simplifié)

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 26

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

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 27

Le langage OCL : exemple

M1 : spécification du système + contraintes OCL

context Mur inv: fenetre -> union(porte) -> size() <= 1


-- un mur a soit une fenêtre soit une porte (soit rien)

context Piece inv:


mur.fenetre -> size() = 2 -- 2 murs de la pièce ont une fenêtre
mur.porte -> size() = 1 -- 1 mur de la pièce a une porte

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 28

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.

 Un fichier possède un nom et des droits de lecture, d’exécution et d’écritures


 Proposer une modélisation sous forme de classe de cette notion de fichier.
 Fusionner ces deux notions sur un même diagramme.

 Un répertoire peut contenir des répertoires et des fichiers.


 Proposer une modélisation de ces relations.

 Les fichiers et les répertoires possèdent :


 une méthode pour l’effacement et le renommage.

 Un répertoire possède également :


 une méthode permettant d’accéder au répertoire parent,
 une méthode permettant de lister son contenu et
 une méthode permettant de se rendre dans l’un de ses sous-répertoires en précisant son nom.
 Compléter votre diagramme de classes en conséquence.

 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

 Un répertoire possède un nom et des droits de lecture, d’exécution et


d’écritures.

 Proposer une modélisation sous forme de classe de cette notion de répertoire.

Repertoire
Nom : String
Ecriture : boolean
Lecture : boolean
Execution : boolean

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 30

15
Solution

 Un fichier possède un nom et des droits de lecture, d’exécution et


d’écritures.

 Proposer une modélisation sous forme de classe de cette notion de fichier.

Fichier
Nom : String
Ecriture : boolean
Lecture : boolean
Execution : boolean

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 31

Solution

 Fusionner ces deux notions sur un même diagramme.

Fichier
File
Nom : String
Ecriture : boolean
Lecture : boolean
Repertoire Execution : boolean

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 32

16
Solution
 Un répertoire peut contenir des répertoires et des fichiers.

 Proposer une modélisation de ces relations.

Fichier
File
* Nom : String
Ecriture : boolean
Lecture : boolean
Repertoire Execution : boolean
*

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 33

Solution

Fichier

+ effacer() : void File


- Nom : String
- Ecriture : boolean
Repertoire - Lecture : boolean
- Execution : boolean
+ effacer() : void
+ parent() : Repertoire
+ renommer(String) : void
+ ls() : void + getNom() : String
+ cd (String) : repertoire + getdroit(String) : boolean
+ effacer() : void *

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 34

17
Exercice 2

 Un répertoire contient des fichiers.

 Une pièce contient des murs.

 Les modems et claviers sont des périphériques d’entrée / sortie.

 Une transaction boursière est un achat ou une vente.

 Un compte bancaire peut appartenir à une personne physique ou


morale.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 35

Exercice 2 : Solution
1) 2) 3) 4)

5)

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 36

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

Les patrons de conception Enseignant : Dr. Mhamed Saidane

Diagrammes d’objets
 Représentation d’un ensemble d’objets et de liens, exprimant
la structure statique.

 Un diagramme d’objets est une instance d’un diagramme de


classes et illustre l’état d’un système à un moment donné.

 Les diagrammes d’objets s’utilisent principalement :


 pour montrer un contexte (par exemple avant ou après une
interaction),
 pour faciliter la compréhension des structures de données
complexes.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 38

19
Diagrammes d’objets

 Le diagramme objet est simplement constituer de deux


éléments :

 Les objets

 Les liens entre objets

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 39

Diagrammes d’objets

 Objet : correspond a une instance de la classe.


 Un objet est représenter par deux compartiment :
 Le nom de l’objet avec le nom de sa classe.
NomObjet : NomClasse
 La valeur des attributs avec leurs nom.
nomAttribut = valeur
Personne
foulen : Personne
- Nom : String
- Prenom : String Nom = Ben Foulen
-Age : int Prenom = Foulen
Age = 25
+ getAge() : int
+getNom() : String
Un objet

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 40

20
Diagrammes d’objets

 Objet (Suite)

 Un objet peut ne pas avoir de nom


 on parle d’objet anonyme
: Personne

Un objet anonyme

 On utilise les objets anonymes dans le cas ou n’importe quel objet


se comporte de la même façon.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 41

Diagrammes d’objets
 Objet : Exemples de représentation

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 42

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.

 Exemple : représentation de la structure générale d’une voiture :

1
Voiture Moteur :Voiture :Moteur

4
Roue :Roue :Roue :Roue :Roue

D. classes D. Objets

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 43

Diagrammes d’objets

 Synthèse

 Tracer un diagramme de classe et supposer qu’il est


correct est un piège dans lequel il est facile de tomber.

 Le diagramme objet est un des diagramme qui permet


de tester la validité du diagramme de classe

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 44

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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 45

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.

4. Les opérations sont présentes 4. Les opérations ne sont pas


dans la classe. incluses car elle seront identiques
pour tous les objets.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 46

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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 47

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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 48

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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 49

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.

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 50

25
Diagrammes d’objets
 Exemple 2
 Diagramme de classes initial

*
ProdFournisseur
*

Livraison
*
*
ProdAssemblé

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 51

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

432 : Livraison 22 : ProdAssemblé 2 : ProdFournisseur

3 : ProdFournisseur

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 52

26
Diagrammes d’objets
 Exemple 2
 Modification du diagramme de classes en ajoutant l’agrégation

*
ProdFournisseur
*
1..*
Livraison
*
*
ProdAssemblé

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 53

Diagrammes d’objets
 Exemple 2 : 2ième contrainte
 Quel est le minimum d’objets pour construire un produit assemblé?

1 : ProdFournisseur

432 : Livraison 22 : ProdAssemblé 2 : ProdFournisseur

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 54

27
Diagrammes d’objets
 Exemple 2
 Deuxième Modification du diagramme de classes en rectifiant la multiplicité.

*
ProdFournisseur
*
2..*
Livraison
*
*
ProdAssemblé

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 55

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

432 : Livraison 22 : ProdAssemblé 2 : ProdFournisseur

23 : ProdAssemblé 4 : ProdFournisseur

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 56

28
Diagrammes d’objets
 Exemple 2 :
 Troisième Modification du diagramme de classes.

2..*
* Livre 1..*
Livraison Produit

ProdFournisseur ProdAssemblé

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 57

Exercice

Une expression binaire est constituée de deux termes (1er opérande et


2ème opérande) et caractérisée par un opérateur. Un terme est une
expression, une constante ou une variable.

Exemples :
(x + y/2) / (x/3 + y),
(x + y/2), etc.

1.Proposer un diagramme de classes pour les expressions binaires.


2.Proposer un diagramme d’objets pour l’expression suivante : (x + 2)-3

Dr. Mhamed Saidane 1ère Année Ing - A.U. 2022 - 2023 58

29

Vous aimerez peut-être aussi