Académique Documents
Professionnel Documents
Culture Documents
Plan
◼ Introduction
◼ Classes
Attributs
Opérations
◼ Niveau de signification
◼ Relations entre classes
Associations
Association réflexive
Classe association
Association qualifiée
Agrégation
Composition
Généralisation
Polymorphisme
Héritage
Réalisation
◼ Diagramme d’objets
◼ Diagramme de paquetages
◼ Diagramme structure compositeé
1
1440-03-05
Introduction
Classes et objets
◼ Les objets sont instances des classes et les liens sont instances des
associations.
N.Berbiche EST - Salé 4
2
1440-03-05
Classes
3
1440-03-05
Classes
Stéréotype Description
Classes
4
1440-03-05
Attributs
◼ Le type des attributs peut être une classe (Rectangle, Cercle..), un type
primitif (entier,chaîne..) ou une expression complexe dont la syntaxe n’est pas
précisé par UML (tableau[temps] de points, etc).
◼ Ces entités sont passées par valeur. Les opérations ne modifient pas les
valeurs des données mais peuvent retourner des résultats sous forme de
valeurs de données.
Attributs: exemple
Télévision Bouton
-on/off:Bouton Canal
-couleur:enum{gris,noir}
-marque:chaîne
«énumération»
-télétexte:booléen=vrai
-chaînes[5..*]:Canal TypeTV
Prix:Réel -16/9
Type:TypeTV -4/3
Volume:Parallélépipède =(600,650,500)
5
1440-03-05
Opérations
Opérations : Exemple
Robot
« crée » + robot()
+avancer()
+reculer()
+stopper()
+fixervitesse(vitesse:réel)
+Vitesse(out vitesseActuelle:Réel)
+rotation(angle:Degré, vitesseRotation:Réel=1.0)
+cheminParcouru(inout parcourt :Point[], nb_échantillons)
6
1440-03-05
Niveau de signification
7
1440-03-05
Niveau de signification
Niveau de signification
8
1440-03-05
Associations
Classe A Classe B
9
1440-03-05
Associations
B2:Classe B
A2:Classe A
A1:Classe A B1:Classe B
Associations
◼ Il peut s'agir:
de noms (noms de rôles) et de visibilité.
De la multiplicité ou cardinalité: le nombre d'instances d'une
classe qui peut être lié à une instance d'une autre classe
10
1440-03-05
Nom
Classe A Classe B
<Travaille pour
Société Personne
Employeur
Sociéte Personne
Employé
- grossiste
Vente Tiers
+ client
11
1440-03-05
Associations: multiplicité
M Exactement M
0..1 Classe
Classe Zéro ou 1 M spécifié numériquement
0..* De zéro à
Classe M..N De M à N
plusieurs Classe M et N spécifiés numériquement
Ou *
Association binaire
12
1440-03-05
Association réflexive
Priorité
parents
Personne
2
enfants * Association réflexive
0..1
suivant
Abonnement 0..1
précédent
Exemple1 Nom du rôle Source 0..1 multiplicité
Association binaire
Billets *
Classe participante
Réservation
Exemple2
N.Berbiche EST - Salé 25
13
1440-03-05
Classe association
◼ En conception, une classe association peut être remplacée par une classe
intermédiaire et qui sert de pivot pour une paire d’association.
n
A B 1 n
m C B
A 1
m attributs
attributs
14
1440-03-05
Associations n-aires
Matière Matière
* 1
Cours
Date Début
Date fin
Heure début
Heure fin
Associations n-aires
« Association terniaire »
Cours
Etudiant enseignant
Date Début
Date fin
Heure début
Heure fin
15
1440-03-05
Association qualifiée
Association qualifiée
:dest :dest
:dest
:dest
Avec clé
Sans clé
:source
16
1440-03-05
Association qualifiée
Banque Banque
* #compte
0..1
client *
client
Association qualifiée
qualificatif
Spectacle
Date: Date vente Billet
Siège : numéroSiège
1 ventes 0..1
Multiplicité qualifiée
Attributs du qualificatif
17
1440-03-05
Navigabilité
◼ Par défaut les associations sont navigable dans les deux directions.
◼ Dans certains cas, une seule navigation est utile: l’extrémité d’association
vers laquelle la navigation est possible porte une flèche
Classe A Classe B
◼ Les objets instances de A voient les objets instances de B, mais les objets
instances de B ne voient pas les objets instances de A
◼ L’absence de flèche signifie que l’association est navigable dans les deux
sens.
N.Berbiche EST - Salé 35
Navigabilité
18
1440-03-05
Agrégation
Agrégation
Salle
30 31 1 1
19
1440-03-05
Composition
Composition
voiture 1 Moteur
6 1
Cylindre Carburateur ….
20
1440-03-05
Exercices
a5 a2
a6
s1 s3
a4
a3
s2
N.Berbiche EST - Salé 41
Généralisation
21
1440-03-05
Généralisation
Avion
Constructeur Super-classe
Nºd’identification
Poids
coût
Sous -classes
Chasseur à
hélicoptère réaction
hélices missiles
La généralisation nous permet de définir les fonctions de l'avion une seule fois
puis d'ajouter simplement les fonctions supplémentaires spécifiques à un
hélicoptère ainsi qu'un avion de chasse.
Généralisation
22
1440-03-05
Généralisation
◼ Les sous-classes héritent des attributs, des opérations, des relations et des
contraintes définis dans les superclasses.
Généralisation multiple
A
B
23
1440-03-05
Polymorphisme
Polymorphisme
Animal
Zoo
1 *
Dormir()
Dormir() Dormir()
Dormir()
{ {
{
Sur le ventre Dans un arbre
Sur le dos
} }
}
24
1440-03-05
Héritage
héritage
25
1440-03-05
Héritage
Réalisation
◼ La réalisation est utilisée entre une classe et ses interfaces, et entre une
collaboration réalisant un cas d'utilisation et le cas d'utilisation concerné.
◼ La réalisation est illustrée par une flèche vide en pointillés vers la classe plus
générale. Elle ressemble au symbole de la généralisation, avec une ligne en
pointillés, afin de rappeler la similitude avec un type d'héritage.
26
1440-03-05
Réalisation
Interface MenuDéroulant
BlocChoix Relation de réalisation
rangéeBoutonRadio
SetDefault(choix: Bouton)
Getchoix (): Bouton Choix 1..*
1..*choix
Chaîne
Choix
1..*choix
Bouton
Contrainte
◼ Une contrainte est une expression booléenne prenant la forme d'une chaîne qu'un
langage donné peut interpréter.
◼ UML permet d'exprimer des contraintes
de manière informelle, en langage naturel ou en pseudo-code.
de manière formelle, le langage de contraintes OCL (Object Constraint
Language).
◼ On représente une contrainte par une expression textuelle entre accolades.
◼ On peut placer la chaîne textuelle dans une note ou l'attacher à une flèche de
dépendance.
Propriétaire privé
Personne
compte
compte
(xor) contrainte entre des associations
compte
Société
Propriétaire privé
27
1440-03-05
Note
Instance
28
1440-03-05
Diagramme d’objets
◼ Chaque objet est représenté par un rectangle qui contient soit le nom de
l’objet, soit le nom et la classe de l’objet séparés par un double point, soit
seulement la classe de l’objet: l'objet est dit anonyme
Diagramme d’objets
◼ L’état d’un objet est déterminé par les valeurs que prennent les attributs
:voiture
Vitesse=100
Couleur=rouge
Les objets sont reliés par des liens instances des associations entre les
classes des objets considérés
29
1440-03-05
Diagramme d’objets
1 1
: Voiture : Moteur Voiture Moteur
1
4
: Roue : Roue
Roue
Diagramme d’objets
Cahier
des charges
Technique de
1. Besoin 1 listage
des noms
3. Besoin 3
Client Attributs
5. Besoin 5 Classes
Utilisateurs
<<Un Package>>
Modèle Statique
30
1440-03-05
Exemple
◼ La société vend les articles via ses trois représentants qui effectuent des
visites chez leurs clients
◼ Un représentant effectue des visites chez plusieurs clients à des dates
différentes
◼ Chaque représentant est connu par son numéro, son nom et il est
caractérisé par le montant total des ventes qu'il a effectuées (chez tous ses
clients) sur une période d'un mois
Société : veut-on garder des informations sur la société ? non
Article : a des attributs à garder → classe
Représentant : a des attributs à garder → classe
Client : a des attributs à garder → classe
Représentant effectue des visites : relation
Visite : a des attributs à garder → classe
Date : un attribut de la classe visite
Numéro : un attribut de la classe représentant
31
1440-03-05
N.Berbiche 64
32
1440-03-05
Livre
Code-Livre Exemplaire
Auteur est un exemplaire du a l'exemplaire N°-Exemplaire
Titre 1..1 0..n Localisation
Edition 0,,,*
Règle1 - Exemple
•Quel est l’auteur de
Livre l’exemplaire dont le
Code-Livre
1
Auteur
Chirac
Titre
Titre1
Edition
Edition 1
N°Exemplaire est 30 ?
2 Clinton Titre2 Edition 2
3
4
Eltsin
Blair
Titre3
Titre4
Edition 3
Edition 4 •Quels sont les exemplaires
(N°Exemplaire) du livre
Exemplaire
N°-Exemplaire Localisation Code-Livre dont le CodeLivre est 1 ?
10 Localisation 1 1
20 Localisation 2 1
30 Localisation 1 2 •Quel est l’auteur de
40 Localisation 3 3
50 Localisation 4 5 !!! l’exemplaire dont le
N°Exemplaire est 50 ?
→ pas de sens !!!
Contrainte d’intégrité référentielle :
Exemplaire.Code-Livre Livre.Code-Livre
N.Berbiche 66
33
1440-03-05
Personne Livre
Code-Personne Code-Livre
Nom Est emprunté par Emprunte Auteur
Prenom 0,,,* 0,,,* Titre
0..n 0..n
Adresse Edition
Emprunte.Code-Personne Personne.Code-Personne
Emprunte.Code-Livre Livre.Code-Livre
N.Berbiche 67
Règle2 - Exemple
Personne
Code-Personne Prénom Nom Adresse
1 David Massart Adr 1
2 Stéphane Faulkner Adr 2
3 Mohamed Dahchour Adr 3
4 Pierre Dupont Adr 4
Livre
Code-Livre Titre Auteur Edition
1 Happy Baby Book Kathelyn Ed1
2 LATEX Borceux Ed2
3 Principle of Database Ullman Ed3
Emprunte
Code-Personne Code-Livre Date DateDeRetour Code-Emprunte
1 1 1/1/98 1/2/98 1
2 1 1/1/99 1/2/99 2
2 3 10/1/99 20/1/99 3
3 3 1/1/98 10/1/98 4
5 !!! 2 1/6/98 1/7/98 5
4 9 !!! 1/1/98 1/1/99 6
34
1440-03-05
Professeur Etudiant
Salaire Noma
Note-Moyenne
{Professeur,
Etudiant}
N.Berbiche 69
Professeur Etudiant
Salaire Noma
Note-Moyenne
N.Berbiche 70
35
1440-03-05
Professeur Etudiant
Salaire Noma
Note-Moyenne
N.Berbiche 71
* * Résolue
par
* *
Relation de 1 à 1
A A (+B)
1 1 B
Peut être
résolue par
36
1440-03-05
Exercice 1
N.Berbiche 73
Exercice 1: Solution
N.Berbiche 74
37
1440-03-05
Client
N_Client NomClient Adresse Tel •Quel est le prix et
1 Michel Bruxelles 123456
2 David Namur 456298 numéro produit du
3
4
Manuel
Lucas
Dinant
Bruge
876230
937402
GSMNokia
5 Tintin Bruxelles 384043
Exercice 2
Constitution
Nombre-Chambres
1,,,*
consite en 1..n
Type-Chambre
Code-Type
Nombre-Personnes
Commodités
N.Berbiche 76
38
1440-03-05
Exercice 2: Solution
N.Berbiche 77
Exercice 3
Cours
Code-Cours Salle
Nom-Cours est occupée par occupe Code-Salle
Description 0..n
0,,,* 1..n Localisation
1,,,*
Nombre-ECT
Auditoire SalleInfo
Nombre-Places Nombre-Ordinateurs
N.Berbiche 78
39
1440-03-05
Exercice 3: Solution
N.Berbiche 79
Exercice 4
1,,,*
0,,,*
0,,,*
0,,,*
N.Berbiche 80
40
1440-03-05
Exercice 4: Solution
N.Berbiche 81
41
1440-03-05
Dépendance
Dépendance
42
1440-03-05
Dépendance
43
1440-03-05
Dépendance: stéréotype
Dépendance: stéréotype
44
1440-03-05
Dépendance:exemple
fournisseur Client
Classe A Classe D
«ami»
«instancie»
«appelle»
Classe B
Classe C Classe E
opB1()
«raffine»
«raffine»
Classe Y Classe Z
Les paquetages
Paquetage 1 Paquetage 2
45
1440-03-05
◼ L'architecture du système est représentée par des paquetages qui ont entre
eux des relations de dépendance
◼ La relation de dépendance est orientée du paquetage source (client) vers le
paquetage cible (fournisseur).
◼ Les dépendances sont unidirectionnelles.
◼ UML définit deux dépendances stéréotypées standard associées aux
paquetages:
« importe »: ajoute les éléments du paquetage destination à l’espace de
nommage défini par le paquetage source.
« accède »: permet de référencer des éléments du paquetage
destination:
« importe » Destination 1
Source
« accède » destination 2
46