Vous êtes sur la page 1sur 128

Analyse Orientée Objet

I. Introduction

II. Approche objet et système d’information.

III. Principes Objet

IV. UML

Souad-Hamida SERRHINI 1
IV. UML
3. Les diagrammes UML.
Statique
• Diagramme de Classes
• Diagramme d’Objets
• Diagramme de Composants
• Diagramme de Déploiement
• Diagramme de Paquetages
• Diagramme de Structure composite

Fonctionnel Dynamique
• Diagramme de Cas s’utilisation • Diagramme global d’Interaction
• Diagramme d’états-transitions • Diagramme de Communication
• Diagramme d’activités • Diagramme de Séquence
• Diagramme de Temps.

Souad-Hamida SERRHINI 2
IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.
6. Package.

Souad-Hamida SERRHINI 3
IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.
6. Package.

Souad-Hamida SERRHINI 4
IV. UML
Diagramme de Classes/objets

1. Objectif:
Un diagramme des classes:
 Représente la structure statique et interne d’un système.
 Permet donc de représenter l’ensemble des informations
gérées par le domaine.
 Les informations sont structurées et groupées dans des
classes.

Le diagramme des classes est considéré comme le plus


important de la modélisation orientée objet.

Souad-Hamida SERRHINI 5
IV. UML
Diagramme de Classes/objets

1. Objectif:

Toutes les informations mémorisées, manipulées,


transformées, analysées et partagées pour accomplir les
finalités du domaine
doivent figurer dans le diagramme des classes.

Souad-Hamida SERRHINI 6
IV. UML
Diagramme de Classes/objets

1. Objectif:

instancier une classes signifier aller


cherche objets qui se trouver dans la
classe

Un diagramme d’objets:
 Représente les objets(instances de classes) et leurs liens
pour donner une vue figée du système à un instant donné.
 Permet d’illustrer le diagramme des classes en se basant
sur un exemple qui explique le modèle.
=> diagramme des occurrences en analyse relationnelle.

Souad-Hamida SERRHINI 7
IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.

Souad-Hamida SERRHINI 8
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 9
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 10
IV. UML
Diagramme de Classes/objets

2. Classes et objets:
Définitions:
Une classe est la description d’un ensemble
d’objets ayant une sémantique, des attributs
et des méthodes communes.

La classe spécifie l’ensemble des caractéristiques


qui composent des objets de même type.

Souad-Hamida SERRHINI 11
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Une classe représente des éléments:


• Concrets (Personnes, Voitures, Avions, …).
• Abstraits (Commandes, Contrats, …).
• Comportementaux (Tâches, Traitements, …)

Souad-Hamida SERRHINI 12
IV. UML
Diagramme de Classes/objets

2. Classes et objets:
Définitions:
Un objet est une instance d’une classe.
Un objet est la concrétisation d’une classe.
C’est une entité qui a une identité, un état et
un comportement.

un objetc a un etat...

Objet = Etat + Comportement + Identité.

Souad-Hamida SERRHINI 13
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 14
IV. UML
Diagramme de Classes/objets

2. Classes et objets:
Représentation:
Une classe est composée de compartiments:
Compartiment 1 : Nom de la classe.
Compartiment 2 : Attributs.
Compartiment 3 : Opérations.

Possibilité d’omettre des attributs et/ou opérations.

Souad-Hamida SERRHINI 15
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Représentation: Classe
NomDeLaClasse
Nom de la classe. Doit être significatif.
Commence par une majuscule(pour un nom
composé, chaque mot commence par une majuscule +
suppression des espace).
Attribut1 : Type
Attribut2: Type Liste des attributs.
… Commence par une majuscule
(valeur par défaut si nécessaire)

opération1()
opération2()
Liste des opérations

Commence par une lettre minuscule

D’autres compartiments peuvent être ajoutés: responsabilités, exceptions, …

Souad-Hamida SERRHINI 16
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Exemple: Classe Etudiant

Etudiant

Nom : String
Prénom: String
DateNaissance: Date
Sexe: String {M, F}

calculAge() : Integer

Souad-Hamida SERRHINI 17
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Exemple: Classe Voiture

Voiture

Marque : String
Puissance : String
Cylindré: Integer
rouler()
démarrer()
arrêter()

Souad-Hamida SERRHINI 18
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Représentation: Objet

Nom de l’objet ou
NomObjet:NomdelaClasse
seulement le nom de la
classe. (: obligatoire)
Attribut1 : Type
Valeurs des attributs à un
Attribut2: Type
instant donné

Souad-Hamida SERRHINI 19
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Exemple: Objet
souligner le nom de object S

Vilvens:Etudiant

Vilvens
Claude attribut
06/01/1982
M

Souad-Hamida SERRHINI 20
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 21
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Encapsulation et visibilité

Un objet est défini à la fois par des informations


et par des comportements.

L’encapsulation consiste à rassembler les données


et les méthodes au sein d’une structure en
cachant l’implémentation de l’objet.

Souad-Hamida SERRHINI 22
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Encapsulation et visibilité
L’encapsulation empêche l’accès aux données par
un autre moyen que les services proposés.

Permet donc de garantir l’intégrité des données


contenues dans l’objet.
(Seul les détenteurs d’une clé peuvent ouvrir le coffre fort).

Définir des niveaux de visibilités des éléments.

Souad-Hamida SERRHINI 23
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Encapsulation et visibilité

La visibilité déclare la possibilité ou l’impossibilité


par un élément d’être accessible depuis un autre
espace.

Souad-Hamida SERRHINI 24
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Encapsulation et visibilité
Il existe quatre visibilités prédéfinies:

Public (+) Accès autorisé pour tout élément.


Private (-) Accès autorisé seulement par un élément de la classe.
Protected (#) Accès autorisé par un élément de la classe ou de ses
descendants.
Package (~ ) ou rien Accès autorisé par les seuls éléments du même
Tildé package.

Souad-Hamida SERRHINI 25
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 26
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Attributs
Une classe correspond à un concept global
d’information et se compose d’un ensemble
d’informations élémentaires: Attributs

Syntaxe de déclaration d’un attribut

Visibilité Nom : Type [Multiplicité] = Valeur-initiale {Propriétés}

Souad-Hamida SERRHINI 27
IV. UML
Diagramme de Classes/objets
2. Classes et objets: Facultatif, Valeur par défaut
 Attributs DateFacture = Date du jour

Obligatoire et unique au
sein d’une classe

Visibilité Nom : Type [Multiplicité] = Valeur-initiale {Propriétés}

Facultatif:
+ public • Valeur par défaut 1
# protégé • K exactement K
- privé • [n…m] entre n et m Facultatif, contraintes
~package • * quelconque associées à l’attribut.

Facultatif mais impératif pour


l’implémentation: Boolean,
Integer, Char, …
Souad-Hamida SERRHINI 28
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Attributs identifiant d’une classe
Un attribut identifiant joue un rôle particulier,
car il permet de repérer de façon unique chaque
objet, instance de la classe.

Entre l’identifiant et les autres attributs de la


classe, il existe une DF.

Souad-Hamida SERRHINI 29
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Exemple: Attributs identifiant d’une classe

Etudiant

N°Etudiant {id}
Nom : String Connaissant le N°Etudiant,
Prénom: String on doit pouvoir déduire son
DateNaissance: Date nom, prénom, …
Sexe: String {M, F}

calculAge() : Integer

Souad-Hamida SERRHINI 30
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Attributs à valeur unique question examen

On peut définir un attribut qui garde une valeur


unique et partagée par toutes les instances de la
classe.

Exemple :
Valeur de la variable PI = 3,14 définit dans la classe Math
du langage Java.
La valeur PI reste la même quelque soit l’objet de cette
classe.

Souad-Hamida SERRHINI 31
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Attribut dérivé
question exmen

Un attribut « dérivé » est un attribut qui peut être


calculé à partir d’autres attributs.

Syntaxe : l’ajout de \ devant son nom

Souad-Hamida SERRHINI 32
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Attribut dérivé

Etudiant

+N°Etudiant {id}
+Nom : String Age est utilisé comme un
+Prénom: String vrai attribut mais calculé par
+DateNaissance: Date une méthode.
+Sexe: String {M, F}
\Age: Integer
+calculAge() : Integer

Souad-Hamida SERRHINI 33
IV. UML
Diagramme de Classes/objets

2. Classes et objets:

Définitions.
Représentation.
Encapsulation et visibilité.
Attributs.
Méthodes.

Souad-Hamida SERRHINI 34
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Méthode ou opération

 Le comportement de l’objet est modélisé par un


ensemble de méthodes.

 Chaque méthode correspond à une


implémentation bien précise d’un comportement.

Souad-Hamida SERRHINI 35
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Méthode ou opération

Une méthode (opération) permet de définir ce que


tous les objets de la classe sont capables de
réaliser.
 Dans une classe, une opération doit-être unique (même nom et
mêmes types de paramètres).
 Une opération est dite surchargée, si elle apparaît plusieurs fois
avec le même nom mais des paramètres différents.
 Il est impossible que deux opérations ne se distinguent que par la
valeur retournée.

Souad-Hamida SERRHINI 36
IV. UML
Diagramme de Classes/objets
2. Classes et objets:
 Méthode
Type de la valeur retournée par
l’opération, s’il y en a une.
Obligatoire et unique au
sein d’une classe. La
première lettre de chaque
mot en majuscule à
l’exception de premier mot.

Visibilité Nom [(par1, …par n)] : [Type de retour] {Propriétés}

Facultatif:
+ public Liste ordonnée des paramètres.
# protégé
- privé Facultatif, contraintes
~package associées à l’opération.

Souad-Hamida SERRHINI 37
IV. UML
Diagramme de Classes/objets
2. Classes et objets:

 Exemple:

Compte
+ Numéro : int
+ Devise : String
+- Solde : Float

+ déposer (Montant :float)


+ retirer (Montant: float)
- solde ()

Souad-Hamida SERRHINI 38
IV. UML
Diagramme de Classes/objets
2. Classes et objets:

 Exemple:
Personne
+ N°Registre : integer
+ Nom : String
+ Prénom: String
+- DateNaissance: Date
-\Age

+ getN°Registre() : Integer
+ createPersonne(Nom: string, Prénom: string)
+ getAge(): Integer

Souad-Hamida SERRHINI 39
IV. UML
Diagramme de Classes/objets
Exercices: Proposez une modélisation, étape par étape, en faisant
apparaître, en fonction des connaissances disponibles, les changements
du modèle.

1. Une personne est caractérisée par son nom, son prénom, son sexe et
son âge.
Les responsabilités de la classe sont entre autres le calcul de l’âge et
le calcul des charges. Les attributs de la classe sont privés.
2. Deux types de revenus sont envisagés, le salaire et toutes les sources
de revenus autres que le salaire, qui sont tous deux représentés par
des entiers. On calcule les charges en appliquant un coefficient fixe
de 15% sur les salaires et un coefficient de 20% sur les revenus.

Souad-Hamida SERRHINI 40
IV. UML
Diagramme de Classes/objets
Exercices: Proposez une modélisation, étape par étape, en faisant
apparaître, en fonction des connaissances disponibles, les changements
du modèle.

1. Une personne est caractérisée par son nom, son prénom, son sexe et
son âge.
Les responsabilités de la classe sont entre autres le calcul de l’âge et
le calcul des charges. Les attributs de la classe sont privés.
2. Deux types de revenus sont envisagés, le salaire et toutes les sources
de revenus autres que le salaire, qui sont tous deux représentés par
des entiers. On calcule les charges en appliquant un coefficient fixe
de 15% sur les salaires et un coefficient de 20% sur les revenus.

Souad-Hamida SERRHINI 41
IV. UML
Diagramme de Classes/objets
Exercices:

Personne
- Nom : String
- Prénom: String mettre date de naissance et age en bas car il faut
- DateNaissance: Date encoder
- Sexe: {‘F’, ‘M’}

+ getNom() : String
+ getPrénom() : String
+ calculAge() : Integer

Souad-Hamida SERRHINI 42
IV. UML
Diagramme de Classes/objets
Exercices: Proposez une modélisation, étape par étape, en faisant
apparaître, en fonction des connaissances disponibles, les changements
du modèle.

1. Une personne est caractérisée par son nom, son prénom, son sexe et
son âge.
Les responsabilités de la classe sont entre autres le calcul de l’âge et
le calcul des charges. Les attributs de la classe sont privés.
2. Deux types de revenus sont envisagés, le salaire et toutes les sources
de revenus autres que le salaire, qui sont tous deux représentés par
des entiers. On calcule les charges en appliquant un coefficient fixe
de 15% sur les salaires et un coefficient de 20% sur les revenus.

Souad-Hamida SERRHINI 43
IV. UML
Diagramme de Classes/objets
Exercices: Vue qu'il son en prive on doit faire des
methode get pour accede
15%
Personne
- Nom : String
- Prénom: String
peut mettre / age et obligatoire datenaissance
- DateNaissance: Date
- Sexe: {‘F’, ‘M’} La méthode est:
- Salaire : Integer
(salaire * chargeSalaire)
- AutreRevenu: Integer
+
(autreRevenu * autreCharge)
+ getNom() : String
+ getPrénom() : String
+ calculAge() : Integer
+ calculCharges(): Float

20%

Souad-Hamida SERRHINI 44
IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.

Souad-Hamida SERRHINI 45
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 46
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 47
IV. UML
Diagramme de Classes/objets

1. Association.

 Après la modélisation des classes, il convient


alors de les relier entre elles.

 Une association est une relation structurelle,


qui indique que les instances d’une classe sont
reliées aux instances d’une autre classe.

Souad-Hamida SERRHINI 48
IV. UML
Diagramme de Classes/objets
1. Association.

 Une association qui relie deux classes est dite


binaire.

 Une association qui relie plus de deux classes


est dite n-aire.

Souad-Hamida SERRHINI 49
IV. UML
Diagramme de Classes/objets
1. Association.
 Exemple:

Personne
+ N°Registre : integer Entreprise
+ Nom : String
+ Prénom: String Travailler pour + Nom : String
- DateNaissance: Date + Adresse: String
+-\Age
employé employeur

+ getN°Registre() : Integer
+ createNom()
+ createPrénom()
+ getAge(): Integer

Souad-Hamida SERRHINI 50
IV. UML
Diagramme de Classes/objets
1. Association.
Personne
 Exemple: + N°Registre : integer
+ Nom : String
Entreprise
+ Prénom: String Travailler pour + Nom : String
- DateNaissance: Date + Adresse: String
+-\Age

+ getN°Registre() : Integer
+ createNom()
+ createPrénom()
+ getAge(): Integer

mettre les orientation et surtout les roles

Une association binaire est:


 Modélisée par un trait plein
 Peut avoir un nom (à l’actif ou passif selon le sens de lecture).
 Et un sens de lecture pour améliorer la lisibilité. ( ou )

Souad-Hamida SERRHINI 51
IV. UML
Diagramme de Classes/objets
1. Association.
 Exemple:
Personne
+ N°Registre : integer Entreprise
+ Nom : String
+ Prénom: String Travailler pour + Nom : String
- DateNaissance: Date + Adresse: String
+-\Age
employé employeur

+ getN°Registre() : Integer
+ createNom()
+ createPrénom()
+ getAge(): Integer

Chaque extrémité de l’association indique le rôle de la classe dans la


relation.

Souad-Hamida SERRHINI 52
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 53
IV. UML
Diagramme de Classes/objets
2. Multiplicité.
Chaque extrémité de l’association précise le
nombre d’objets de la classe qui interviennent
dans la relation. L’entreprise emploie au
moins une personne ou
peut employer plusieurs
elle se lire inversement comme dans le model conceptuel
Personne
+ N°Registre : integer Entreprise
+ Nom : String
+ Prénom: String Travailler pour + Nom : String
- DateNaissance: Date 1…* 1
+- -\Age + Adresse: String
employé employeur
+ getN°Registre() : Integer
+ createNom()
+ createPrénom()
+ getAge(): Integer
Une personne travaille
pour une seule entreprise

Souad-Hamida SERRHINI 54
IV. UML
Diagramme de Classes/objets
2. Multiplicité.
Chaque extrémité d’une association A-B, a une contrainte
de multiplicité qui exprime le nombre minimum et
maximum d’objets d’une classe A pouvant être reliés à un
objet de classe B.

Multiplicité Signification
1…1 ou 1 Un et un seul
0…1 De 0 à 1
0…* ou * De 0 à n
1…* De 1 à n
n…m De n à m (entiers naturels)

Souad-Hamida SERRHINI 55
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 56
IV. UML
Diagramme de Classes/objets

3. Classe d’association.
 Une association peut avoir ses propres propriétés, qui ne
sont disponibles dans aucune des classes qu’elle lie.

 Dans le modèle objet, seules les classes peuvent avoir


des propriétés. Cette association devient alors une
classe appelée « Classe-association ».

 Une classe-association sera alors définie et considérée


comme toutes les autres classes du modèle.

Souad-Hamida SERRHINI 57
IV. UML
Diagramme de Classes/objets

3. Classe d’association.
Produit
Commande
1…* * +RefPro
+N°Comm +Nom
+ date +Prix
juste pour dire que ces une classe pas ordinaire

Ligne
Commande une association porteuse de
proprietes deviens une classe
association
Quantité

Classe d’association
Représentée par un trait
discontinu entre la classe et
l’association.

Souad-Hamida SERRHINI 58
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 59
IV. UML
Diagramme de Classes/objets

4. Classe qualifiée.
 Parfois l’association entre deux classes donne peu
d’indications sur l’implication des classes dans la relation.
=> modélisation imprécise et multiplicité indéterminée.

 Il est intéressant de restreindre la portée de l’association à


quelques instances ciblées de la classe cible. Ces attributs
permettant de cibler un sous-ensemble d’instances sont
appelés qualificatifs.
 Une association qualifiée va permettre dans certains cas,
de transformer une multiplicité indéterminée en une
multiplicité finie.

Souad-Hamida SERRHINI 60
IV. UML
Diagramme de Classes/objets

4. Classe qualifiée.
 Représentation:

Représentée par un rectangle


contenant le qualificatif

Classe1 Classe2
Qualificateur1
Qualificateur2

Souad-Hamida SERRHINI 61
IV. UML
Diagramme de Classes/objets
Exemple:
Répertoire Répertoire

NumFichier
1…*
qualificateur pour rendre unique le fichier dans le repertoire
1…*

Se trouve se trouve

restreint la porte
1…* 1
Multiplicité après
qualification
Fichier Fichier

+ NumFichier

But: Restreindre la portée de l’association à quelques instances


ciblées en fonction d’un ou plusieurs attributs.
Souad-Hamida SERRHINI 62
IV. UML
Diagramme de Classes/objets

Exemple:
Répertoire Classe qualifiée

NumFichier Qualificatif:
• Un ou plusieurs attributs de la classe cible.
1…*
• Un identifiant (clé primaire) dans une analyse
relationnelle.
se trouve
• Une valeur du qualificatif permet de désigner
un objet cible unique
1

Fichier

Classe cible

Souad-Hamida SERRHINI 63
IV. UML
Diagramme de Classes/objets

Exemple:
Multiplicité avant Banque
Banque qualification Attribut de
la classe
d’association
N°Compte
*
Compte 1…*

Compte
+ Type : String
Possède
- N°Compte:Integer + Type : String

*
1…2
Personne
Multiplicité après Personne
+ Nom : String qualification
+ Adresse: String Multiplicité avant
+ Nom : String
qualification + Adresse: String

Souad-Hamida SERRHINI 64
IV. UML
Diagramme de Classes/objets

Exemple:
Banque
Attribut de Lecture du diagramme:
la classe • Un compte dans une banque appartient à au
d’association plus deux personnes. Une instance du couple
N°Compte
{Banque, numéro compte} est en association
1…* avec une à deux instances de la classe personne.
Compte
Possède
+ Type : String
• Mais une personne peut posséder plusieurs
comptes dans plusieurs banques. Une instance
1…2 de la classe personne peut être associé à
plusieurs instances du couple {Banque, numéro
Personne de compte}

+ Nom : String
+ Adresse: String

Souad-Hamida SERRHINI 65
IV. UML
Diagramme de Classes/objets

Remarques:

 Il ne faut pas utiliser de qualificatif dans une


association n-aire (n>2).
 Un qualificatif agit toujours sur une association
dont la multiplicité est plusieurs du côté cible et
devient faible une fois l’association qualifiée.
 En considérant un objet qualifié, une valeur du
qualificatif doit permettre de désigner un objet
cible unique ou un très petit ensemble d’objets
cibles.

Souad-Hamida SERRHINI 66
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 67
IV. UML
Diagramme de Classes/objets

5. Relation d’agrégation/Composition.
Une association simple entre classes représente une relation
structurelle entre deux classes de même niveau conceptuel.

Aucune des deux n’est plus importante que l’autre.

Personne
+ N°Registre : integer Entreprise
+ Nom : String
+ Prénom: String Travailler pour + Nom : String
- DateNaissance: Date + Adresse: String
+- -\Age

+ getN°Registre() : Integer
+ createNom()
+ createPrénom()
+ getAge(): Integer

Souad-Hamida SERRHINI 68
IV. UML
Diagramme de Classes/objets

5. Relation d’agrégation.

Pour modéliser une relation tout/partie où une classe


constitue un élément plus grand (le tout) composé d’éléments
plus petits (les parties).

Utiliser une Agrégation

Souad-Hamida SERRHINI 69
IV. UML
Diagramme de Classes/objets

5. Relation d’agrégation.

 L’agrégation est une forme particulière de l’association,


elle représente la relation d’inclusion d’un élément dans
un ensemble.

 On représente une agrégation par l’ajout d’un losange vide


( ) du côté de l’agrégat.

Souad-Hamida SERRHINI 70
IV. UML
Diagramme de Classes/objets

Agrégation: Exemple
ca veut dire que l'employer travail dans une seul compagnie

Compagnie 1…* Employé

 Cette association particulière (agrégation) permet de


marquer une étroite dépendance entre les instances.
 Une instance (l’agrégat) est composée de plusieurs objets
(agrégés).

Souad-Hamida SERRHINI 71
IV. UML
Diagramme de Classes/objets

Caractéristiques d’une agrégation:

 Antisymétrique:
Si un objet A fait partie d’un objet B, alors l’objet B ne fait pas partie
de l’objet A.

 Transitive:
Si un objet A fait partie d’un objet B, et que B fait partie d’un objet C,
alors A doit faire partie de l’objet C.

Souad-Hamida SERRHINI 72
IV. UML
Diagramme de Classes/objets

5. Relation d’agrégation/Composition.

Une composition est une relation d’agrégation particulière.

Une composition = Agrégation plus forte si la composition meurt tout le monde


meurt

Utiliser une Composition

Souad-Hamida SERRHINI 73
IV. UML
Diagramme de Classes/objets

5. Relation de Composition.

 La composition est une forme particulière d’agrégation,


dans laquelle la vie des composants est liée à celle de
l’agrégat.

 On représente une composition par l’ajout d’un losange


plein ( ) du côté de l’agrégat.

Souad-Hamida SERRHINI 74
IV. UML
Diagramme de Classes/objets

Exemple.

1 5 Doigt
Main

 Dans une composition l’agrégat ne peut être multiple.


Une instance de la partie appartient toujours à au plus une instance
de l’élément composite.

 La destruction de l’objet composite indique la destruction de ses


composants. exemple si on coupe la main on coupe aussi les ddoight

Souad-Hamida SERRHINI 75
IV. UML
Diagramme de Classes/objets
question theorie
Les principales différences entre agrégation et composition:
Base de Agrégation Composition
comparaison
De base En agrégation, il existe une En composition, un enfant ne
relation dans laquelle un peut exister indépendamment
enfant peut exister du parent.
indépendamment du parent.
Type de « a un » « partie de »
relation
Type Faible Forte
d’association
Une fonction La suppression de Si l’objet de la classe
l’assemblage n’affecte pas ses propriétaire est supprimé, cela
pièces. affecte l’objet de la classe
contenant.

Souad-Hamida SERRHINI 76
IV. UML
Diagramme de Classes/objets
Agrégation ou composition:

Voiture

Agrégation Composition
ca se lire la voiture a 4roue et l'autre
la voiture a 1 proprietaire
1 4

Propriétaire Roue

Souad-Hamida SERRHINI 77
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 78
IV. UML
Diagramme de Classes/objets

6. Relation de dépendance.
 Une dépendance est une relation unidirectionnelle
exprimant une dépendance sémantique entre les éléments
du modèle.

 C’est la forme la plus faible de relation entre classes.


 On représente une dépendance par un trait discontinu
orienté.
Dépendance

Classe A Classe B

Une modification de la cible


implique le changement de la
source
Souad-Hamida SERRHINI 79
IV. UML
Diagramme de Classes/objets

6. Relation de dépendance.
 Une dépendance s’interprète comme une relation de type
« use ».

 Elle est utilisée :


Quand une classe utilise un objet d’une autre classe
comme argument dans la signature d’une méthode.
Ou
Lorsque l’objet de l’autre classe est crée à l’intérieur de la
méthode.

Souad-Hamida SERRHINI 80
IV. UML
Diagramme de Classes/objets

Exemple:
Confrontation Stratégie
« use »
+ nombre : integer + nom: string
- scoreStratégie1: Integer
- scoreStratégie2: Integer + décision(): boolean

+ confronter(st1:stratégie,st2:stratégie)
Stéréotype

La classe Confrontation utilise la classe Stratégie.


La classe confrontation possède une opération « confronter » dont deux
paramètres sont du type stratégie.

Souad-Hamida SERRHINI 81
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 82
IV. UML
Diagramme de Classes/objets

7. Relation d’héritage:
 L’héritage est une relation de généralisation/spécialisation.

 Les éléments spécialisés héritent de la structure et du


comportement des éléments plus généraux.

Voir chapitre III: 3. Héritage.

Souad-Hamida SERRHINI 83
IV. UML
Diagramme de Classes/objets

Exemples:
Poste Travail

+ N°Série : Integer
+ TypePoste: String

Client Serveur

+ IpAdresse : String + Nom : varchar


+ disque: varchar

Souad-Hamida SERRHINI 84
IV. UML
Diagramme de Classes/objets

Exemples: Article

+Nom: Varchar
+ Prix: Number

Livre Vidéo Disque

+Isbn +Durée
+ NbPages
+Afficher() +Ecouter()

Poche
+catégorie

Souad-Hamida SERRHINI 85
IV. UML
Diagramme de Classes/objets

3. Relations entre classes.


1. Association.
2. Multiplicité.
3. Classe d’association.
4. Association qualifiée.
5. Relation d’agrégation/Composition.
6. Relation de dépendance.
7. Relation d’héritage.
8. Autres relations et contraintes.
Souad-Hamida SERRHINI 86
IV. UML
Diagramme de Classes/objets

8. Autres associations et contraintes:


Plusieurs associations entre classes:

A-destination de
Aéroport
Vol *
1

* 1

En-provenance de

Chacune des associations a une sémantique propre.


• Aéroport (provenance ou destination) concerne plusieurs vols.
• Un vol concerne un seul aéroport de destination et un seul aéroport
de provenance.

Souad-Hamida SERRHINI 87
IV. UML
Diagramme de Classes/objets

8. Autres associations et contraintes:


Les rôles sont
Association récursive: obligatoires.
Personne *
Nom
Prénom est dirigé

dirige

• Quand les extrémités de l’association pointent vers la même classe.


• Une association réflexive (récursive) indique qu’une instance de la
classe impliquée peut être reliée à elle-même ou à d’autres
instances de la même classe.

Souad-Hamida SERRHINI 88
IV. UML
Diagramme de Classes/objets

8. Autres associations et contraintes:


Association n-aire (n> 2):

Enseignant

Nom: string

Arité de
Groupe *
l’association > 2
Numéro: Integer *
Année: integer

Module
Intitulé: string
Ects : integer

Souad-Hamida SERRHINI 89
IV. UML
Diagramme de Classes/objets

8. Autres associations et contraintes:


Contraintes:
Les diagrammes UML seuls sont souvent insuffisants.
Il est souvent nécessaire d’ajouter des contraintes pour compléter les
diagrammes.

Les contraintes se divisent en deux parties:

Sous forme de texte entre accolades {…}


En OCL (Object Constraint Language).
Langage informel avec sémantique précise.
Il est la contribution d’IBM à la norme UML.

Souad-Hamida SERRHINI 90
IV. UML
Diagramme de Classes/objets

Contraintes:

1. Contraintes sur les attributs.


2. Contraintes sur les relations.

Souad-Hamida SERRHINI 91
IV. UML
Diagramme de Classes/objets

1. Contraintes sur les attributs:

Employé La contrainte {frozen} signifie que


l’attribut une fois créé ne changera
+ NuméroRegsitre : int {Frozen} jamais.
++ Nom : String
+ DateNaissance : Date « NuméroRegistre » de l’employé ne
+ Salaire : float {Read Only} peut plus changer une fois créé.
/age : init {âge > 0}

Souad-Hamida SERRHINI 92
IV. UML
Diagramme de Classes/objets

1. Contraintes sur les attributs:

Employé La contrainte {Read Only}, signifie que


la valeur peut changer à l’intérieur de la
+ NuméroRegsitre : int {Frozen} classe mais pas à l’extérieur.
++ Nom : String
+ DateNaissance : Date « Salaire » le salaire ne peut pas être
+ Salaire : float {Read Only} modifié à l’extérieur de la classe
/age : init {âge > 0} « Employé »
c'est ceux qui sont a interieur qui
peut les modifier

Souad-Hamida SERRHINI 93
IV. UML
Diagramme de Classes/objets

1. Contraintes sur les attributs:

Employé

+ NuméroRegsitre : int {Frozen}


++ Nom : String
+ DateNaissance : Date {Âge = diff (DateNaissance, Today)}
+ Salaire : float {Read Only}
/age : init {âge > 0} /Âge est calculé = attribut dérivé.

{Âge > 0} : âge doit être positif

Souad-Hamida SERRHINI 94
IV. UML
Diagramme de Classes/objets

2. Contraintes sur les relations:

Les contraintes sur les relations sont des expressions qui


précisent le rôle ou la portée d’un élément de modélisation.

Elles permettent d’étendre ou de préciser la sémantique de


l’association (restreindre le nombre d’instances visées).

Souad-Hamida SERRHINI 95
IV. UML
Diagramme de Classes/objets

2. Contraintes sur les relations:


{Frozen}:

* Est née dans 1 Pays


Personne
{Frozen}

Une personne est née dans un pays, cette association ne


peut être modifiée.

Souad-Hamida SERRHINI 96
IV. UML
Diagramme de Classes/objets
2. Contraintes sur les relations:
{Xor} ou {Ou exclusif}:
Université étudiant Personne
{XOR}

enseignant

• Chaque objet de la classe, participe à l’une ou l’autre association mais


pas aux deux à la fois.

• Une personne joue le rôle d’enseignant ou d’étudiant dans une université


mais pas les deux à la fois.

On peut utiliser ({contraintes}) toutes les autres contraintes


(OU, Totalité, ….) connues.
Souad-Hamida SERRHINI 97
IV. UML
Diagramme de Classes/objets

2. Contraintes sur les relations:


{subset}: la personne peut etre president du comite si il
est membres

Comité Président Personne


{Subset}

Membre
Membre

Indique que le président est


également un membre du comité

• Cette contrainte indique qu’une collection est incluse dans une


autre collection.
• La flèche de la relation de dépendance indique le sens de la
contrainte.

Souad-Hamida SERRHINI 98
IV. UML
Diagramme de Classes/objets

2. Contraintes sur les relations:


{ordered}:
Tâches {ordered} Sous tâches

{ordered} Oeuvres
Compositeur

Ordonné par …
{ordered}:
Cette contrainte signifie que les objets sont ordonnés.
Le modèle ne signifie pas comment les objets sont ordonnés.

On peut préciser l’ordre par un commentaire sous forme de note

Souad-Hamida SERRHINI 99
IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.

Souad-Hamida SERRHINI 100


IV. UML
Diagramme de Classes/objets

4. Diagramme d’objets:
 Représente les objets (instances d’une classe) et leurs liens.
 Prend une image (snapshot) d’un système à un instant donné.

Permet d’éclaircir un diagramme des classes.

Toujours souligné les : sont obligatoires


Formalisme:

NomObjet: NomObjet:NomClasse :NomClasse


OU OU

Souad-Hamida SERRHINI 101


IV. UML
Diagramme de Classes/objets

4. Diagramme d’objets: Exemples


Personne Salarié 1 Société

Nom
Nom * Employeur
Activité
Prénom

:Société
Diagramme object comme diagramme
HEPL
occurence Ecole

Durand:Personne Dupond:Personne Gravelle:Personne


Durand Dupont Gravelle
Frédéric Jacques Stéphane

Souad-Hamida SERRHINI 102


IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.

Souad-Hamida SERRHINI 103


IV. UML
Diagramme de Classes/objets
5. Construction d’un diagramme des classes:
a connaitre
Synthèse:

Pour élaborer un diagramme de classes il faut:


 Identifier les concepts du domaine et les modéliser en classes;
 Identifier les associations pertinentes entre les concepts;
 Réfléchir aux multiplicités à chaque extrémité d’association;
 Ajouter des attributs aux classes du domaine;
 Utiliser les diagrammes d’objets pour illustrer les diagrammes de
classes;
 Ajouter les opérations aux classes.
le diagramme de classe est comme le mcd et objet
comme le diagramme occurrence

Souad-Hamida SERRHINI 104


IV. UML
Diagramme de Classes/objets

1. Objectif.
2. Classes et objets.
3. Relations entre classes.
4. Diagramme d’objets.
5. Construction d’un diagramme de classes.
6. Package

Souad-Hamida SERRHINI 105


IV. UML
Diagramme de Classes/objets
Package:
Définition
Un package en UML (paquetage en français) est un
regroupement d’éléments de modèle et de diagramme.
Il permet de modéliser les éléments de modélisation en
groupes.
Il peut contenir tout types d’éléments du modèle: des
classes, des cas d’utilisation, des interfaces, etc. et même
des paquetages imbriqués (décomposition hiérarchique).

Souad-Hamida SERRHINI 106


IV. UML
Diagramme de Classes/objets
Package:

Pourquoi les packages?


Les packages permettent de structurer un modèle en
unités cohérentes, et donnent une vision globale plus
claire.

Souad-Hamida SERRHINI 107


IV. UML
Diagramme de cas d’utilisation
Package:
Un paquetage est représenté comme un
dossier avec son nom inscrit dedans. Nom du paquetage

Client

Il est possible de représenter explicitement + BondeCommande


le contenu d’un paquetage. + BondeSuivi
Dans ce cas, le nom est placé dans l’onglet. -Commande

Souad-Hamida SERRHINI 108


IV. UML
Diagramme de cas d’utilisation
Package:
Remarques:
 Les éléments contenus dans un paquetage doivent
représenter un ensemble fortement cohérent et sont
généralement de même nature et de même niveau
sémantique.
 Tout élément n'appartient qu'à un seul paquetage.
 Les paquetages constituent un mécanisme de gestion
important des problèmes de grande taille.
 Il existe un paquetage racine unique, éventuellement
anonyme, qui contient la totalité des modèles d'un
système.

Souad-Hamida SERRHINI 109


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:
1. Un écrivain possède au moins une œuvre. Ses œuvres sont
ordonnées selon l’année de publication. Si la première publication
est faite avant l’âge de dix ans l’écrivain est dit « précoce ».

Souad-Hamida SERRHINI 110


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:
1. Un écrivain possède au moins une œuvre. Ses œuvres sont
ordonnées selon l’année de publication. Si la première publication
est faite avant l’âge de dix ans l’écrivain est dit « précoce ».

Écrivain Œuvre
{ordered} 1…*
#DateNaissance: Date
DatePublication: Date
/precoce : Boolean

Les deux classes principales sont : Écrivain et Œuvre.


Les œuvres sont ordonnées selon la date de publication.
L’attribut dérivé « précoce » est à « 0 » ou « 1 » en fonction du résultat du calcul
suivant:
DatePublication – DateNaissance < 10

Souad-Hamida SERRHINI 111


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:

2. Les étudiants de l’HEPL peuvent être comparés par rapport à l’attribut


moyenne générale, par contre les livres de la bibliothèque sont comparables
par rapport à leurs prix de vente.
Pour des raisons d’homogénéité des interfaces présentées par les classes, tous
les objets comparables utilisent la même opération CompareTo(Instance).

Souad-Hamida SERRHINI 112


IV. UML
Diagramme de Classes/objets
Solution: Etudiant
Livre
Moyenne:
Float Prix: Integer

« interface »
« realize » « realize »
CompareTo

heritage

L’opération CompareTo(instance) compare tout type d’objet.


Elle est donc abstraite.
Si elle est commune à toutes les classes, alors on doit la définir dans une
interface.
Cette interface sera réalisée (« realize) par les classes qui l’utilisent.

Souad-Hamida SERRHINI
IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:

3. L’université propose des cours de langue accessibles aux agents administratifs


et aux enseignants. La procédure d’inscription est la même pour les deux
catégories de personnes. Une personne inscrite peut également résilier son
inscription. Simplifiez la modélisation en faisant apparaître uniquement les
classes « Enseignant » et « Administratif ».

Souad-Hamida SERRHINI 114


IV. UML
Diagramme de Classes/objets
Solution:
Personne

Enseignant Administratif

realiser utilise
« realize » « interface » « use »
Inscription

+inscrire()
+résilier()

Souad-Hamida SERRHINI
IV. UML
Diagramme de Classes/objets
Solution:
Personne

Madame pourquoi ne pas faire une classe


personne et mettre la methode Enseignant Administratif
inscrire et resilier et faire un heritage
« realize » « interface » « use »
Inscription

+inscrire()
+résilier()

Les administratifs et les enseignants sont des personnes particulières.


Ils partagent les opérations inscrire() et résilier(), qui font partie de la même
interface.
La réalisation de l’interface est fait de la même manière par les deux classes
dérivées de Personne. pour ca qu'il a une classe qui vas le realiser
Mais il suffit qu’une seule des deux classes le réalise(pas de redondance).

La classe enseignant réalise l’interface inscription.


La classe administratif utilise le résultat.
Souad-Hamida SERRHINI
IV. UML
Diagramme de Classes/objets
Exercice:
Un robot se déplace dans un environnement composé de zones, de
murs et de portes, proposez un diagramme d’objets décrivant la
situation suivante :
Le robot Mars est en mouvement. Il est lié à une instance
mondeCourant de la classe Monde décrivant les mondes possibles où
peut évoluer le robot. Le robot peut manipuler des objets se trouvant
dans le monde dans lequel il évolue. A l’instant qui nous intéresse, le
robot Mars est en mouvement et mondeCourant est lié aux zones z1
et z2. La zone z2 est composée de deux murs (m1 et m2) et d’une
porte. La largeur de la porte est de 1 mètre.

Souad-Hamida SERRHINI 117


IV. UML
Diagramme de Classes/objets
Solution:

m1: Mur
mars : Robot

évolue
m2: Mur
z2: Zone

mondeCourant: : Porte
Monde
largeur : integer = 1m
: Objet
: Objet
: Objet z1: Zone

Souad-Hamida SERRHINI 118


IV. UML
Diagramme de Classes/objets
Exercice:
Représentez le diagramme de classes correspondant à l’énoncé suivant:

Une bibliothèque souhaite gérer les prêts des livres auprès de ses
adhérents :
 Pour chaque adhérent, le système enregistre son nom, son prénom,
son adresse, ainsi que son adresse mail
 Les livres sont caractérisés par leur titre, leur numéro d’ISBN et le
nom de l’auteur
 Un même livre peut bien sûr se trouver en plusieurs exemplaires,
chacun d’entre eux portant une référence et une année d’édition
 Pour tout prêt, le système enregistre la date et la durée prévue.
Une prolongation du prêt est envisageable

Souad-Hamida SERRHINI 119


IV. UML
Diagramme de Classes/objets
Solution:

Adhérent Exemplaire
* emprunter * -Référence 1...*
-Nom Livre
-Edition
-Prénom
-Adresse 1 -Isbn
-Mail -Titre
-NomAuteur

Prêt
-Date
-Durée
+prolonger()

Souad-Hamida SERRHINI 120


IV. UML
Diagramme de Classes/objets
Exercices:
Modélisez le diagramme de classes correspondant au SI suivant:
On souhaite gérer les cours dispensés dans plusieurs écoles.
 Chaque école est structurée en départements, qui regroupent chacun des
enseignants spécifiques. Parmi ces enseignants, l’un est responsable du
département.
 Chaque enseignant ne dispense qu’une seule matière.
 Une matière peut être enseignée par plusieurs enseignants, mais a toujours
lieu dans la même salle de cours (chacune avec un nombre de places connues).

On désire pouvoir calculer la moyenne par matière, par département, ainsi que
la moyenne générale d’un élève et pouvoir afficher les matières dans lesquelles
il n’a pas été noté.

Bien entendu on veut pouvoir imprimer les signalétiques d’un élève et/ou d’un
enseignant.

Souad-Hamida SERRHINI 121


IV. UML
Diagramme de Classes/objets
Solution: Département Personne
+Code +Matricule
+ 1..1
+Nom +Nom
+ +Prénom
+CalculMoyenne()
+Tél
1..* 0..1 +Mail
Constituer Appartenir +AfficherSignalétique()
1..1
Ecole Chef de 1..*
+Code Enseignant
+ +Nom Etudiant
1..1 +#DateFonction
Adresse +AnnéeEntrée
+
1..* 0..*
1..1 +CalculMoyenne()
+AfficherMatSansNote
Cours 1..*
Suivre
+N°Cours
+ +Libellé

Salle +CalculMoyenne()

+N° 0..* Note


+ +Nom + +Note
+Capacité 1..1 Dérouler

Souad-Hamida SERRHINI 143


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:

1. Les personnes qui sont associées à l’université sont des étudiants ou


des professeurs.

Souad-Hamida SERRHINI 123


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:

1. Les personnes qui sont associées à l’université sont des étudiants ou


des professeurs.

Université étudiant Personne


{XOR}

enseignant

Souad-Hamida SERRHINI 124


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:
2. Tous les jours, le facteur distribue le courrier aux habitants de sa zone
d’affectation. Quand il s’agit de lettres, il les dispose dans les boîtes aux
lettres. Quand il s’agit d’un colis, le destinataire du courrier doit signer un
reçu.

Souad-Hamida SERRHINI 125


IV. UML
Diagramme de Classes/objets
Exercices: Donnez le diagramme de classes correspondant aux
situations suivantes:
3. Tous les jours, le facteur distribue le courrier aux habitants de sa zone
d’affectation. Quand il s’agit de lettres, il les dispose dans les boîtes aux
lettres. Quand il s’agit d’un colis, le destinataire du courrier doit signer un
reçu.
Les classes candidates sont : Facteur, Courrier, ZoneDAffectation, Lettre,
BoîteAuxLettres, Colis, Destinataire.
• La classe BoîteAuxLettres n’est pas pertinente.
• Un colis et une lettre sont des courriers particuliers.
• Le destinataire est le rôle d’un habitant quand il reçoit un courrier. Donc
il ne sera pas représenté par une classe.
• Un facteur dessert une zone d’affectation qui abrite plusieurs habitants.
• Le seul lien entre le facteur et l’habitant est la distribution du courrier
(Classe d’association).

Souad-Hamida SERRHINI 126


IV. UML
Diagramme de Classes/objets
Solution:
Lettre Colis

Courrier

Destinataire
Habitant Facteur

La destruction de la *
zone d’affectation Affecter à

n’entraînera pas la
destruction de ses
habitants. Zone
Agrégat
Souad-Hamida SERRHINI 127
Bibliographie

1. Benoît CHARROUX, Aomar OSMANI, Yann THIERRY-MIEG. UML2 Pratique de la


modélisation. 3ème édition. PEARSON.
2. Laurent AUDIBERT. UML2 de l’apprentissage à la pratique. 2ème édition. ELLIPSES.
3. Christian SOUTOU. Modélisation des bases de données (UML et les modèles entité-
association). 3ème édition. EYROLLES.
4. Chantal MORLEY, Jean HUGUES, Bernard LEBLANC. 4ème édition. UML 2 pour l’analyse
d’un système d’information. DUNOD.
5. Hugues BERSINI. L’orienté objet. 3ème édition. EYROLLES.
6. Laurent DEBRAUWER, Fien VAN DER HEYDE. UML 2.5. 4ème édition. ENI Editions.
7. Jean-Luc HAINAUT. Bases de données concepts, utilisation et développement. DUNOD.
8. Gilles ROY. Conception de bases de données avec UML. Presses de l’université du Québec.
9. Craig LARMAN. UML2 et les design patterns. 3ème édition. PEARSON Education.
10. Frank BARBIER. UML 2 et MDE. DUNOD.
11. Laurent DEBRAUWER, Naouel KARAM. UML 2 entraînez-vous à la modélisation. Seconde
édition. ENI Editions.
12. Corine COSTA. Cours Projets et bureau d’études.

Souad-Hamida SERRHINI 128

Vous aimerez peut-être aussi