Olivier Augereau
Exercices UML
basée sur le livre de Pascal Roques « UML par la pratique »
http://olivier-augereau.com
• 3 exercices
2
http://olivier-augereau.com
Exercice 1
1) Un répertoire contient des fichiers
2) Une pièce contient des murs
3) Les modems et les claviers sont des périphériques d’entrée/sortie
4) Une transaction boursière est un achat ou une vente
5) Un compte bancaire peut appartenir à une personne physique ou morale
6) Deux personnes peuvent être mariées
7) Un pays a une capitale
• Plusieurs solutions sont possibles
3
http://olivier-augereau.com
Exercice 1
1) Un répertoire contient des fichiers
2) Une pièce contient des murs
3) Les modems et les claviers sont des périphériques d’entrée/sortie
4) Une transaction boursière est un achat ou une vente
4
http://olivier-augereau.com
Exercice 1
1) Un répertoire contient des fichiers
2) Une pièce contient des murs
3) Les modems et les claviers sont des périphériques d’entrée/sortie
4) Une transaction boursière est un achat ou une vente
5
http://olivier-augereau.com
Exercice 1
1) Un répertoire contient des fichiers
2) Une pièce contient des murs
3) Les modems et les claviers sont des périphériques d’entrée/sortie
4) Une transaction boursière est un achat ou une vente
6
http://olivier-augereau.com
Exercice 1
1) Un répertoire contient des fichiers
2) Une pièce contient des murs
3) Les modems et les claviers sont des périphériques d’entrée/sortie
4) Une transaction boursière est un achat ou une vente
7
http://olivier-augereau.com
Exercice 1
5) Un compte bancaire peut appartenir à une personne physique ou morale
8
http://olivier-augereau.com
Exercice 1
5) Un compte bancaire peut appartenir à une personne physique ou morale
9
http://olivier-augereau.com
Exercice 1
5) Un compte bancaire peut appartenir à une personne physique ou morale
Pattern party
Pattern party: Façon de modéliser des entités qui ont un nom et une adresse uniques
par une classe abstraite et deux sous classes spécialisés
10
http://olivier-augereau.com
Exercice 1
6) Deux personnes peuvent être mariées
11
http://olivier-augereau.com
PersonnePhysique
Exercice 1
6) Deux personnes peuvent être mariées
Homme est marié à Femme
0..1 association réflexive
0..1 0..1
PersonnePhysique PersonnePhysique
0..1
Homme est marié à Femme
0..1 0..1
12
http://olivier-augereau.com
Exercice 1
• 7) Un pays a une capitale
13
http://olivier-augereau.com
Exercice 1
• 7) Un pays a une capitale
Pays
+capitale
14
http://olivier-augereau.com
Exercice 1
• 7) Un pays a une capitale Pays Capitale
+nom a +nom
+langue +nbHabitants
Pays +monnaie 1 1 +superficie
+capitale 2
15
http://olivier-augereau.com
Exercice 1
• 7) Un pays a une capitale Pays Capitale
+nom a +nom
+langue +nbHabitants
Pays +monnaie 1 1 +superficie
+capitale 2
3
Pays Ville
+nom 1 1 +nom
+langue +nbHabitants
+monnaie +capitale +superficie
contrainte
16
http://olivier-augereau.com
Exercice 1
• 7) Un pays a une capitale Pays Capitale
+nom a +nom
+langue +nbHabitants
Pays +monnaie 1 1 +superficie
+capitale 2
1 Pays Ville
+nom 1 1..* +nom
4 +langue +nbHabitants
+monnaie +superficie
3 1
Pays Ville
+nom 1 1 +nom 1
+langue +nbHabitants
+monnaie +capitale +superficie Capitale
17
http://olivier-augereau.com
Exercice 2
• Classes : Distributeur, Ecran, Articles, Boissons, ClavierSaisie, Gateau
– Le distributeur est composé d’un écran et d’un clavier de saisie
– Des articles tel que des boissons ou des gâteaux y sont disponible
18
http://olivier-augereau.com
Exercice 2
• Classes : Distributeur, Ecran, Articles, Boissons, ClavierSaisie, Gateau
– Le distributeur est composé d’un écran et d’un clavier de saisie
– Des articles tel que des boissons ou des gâteaux y sont disponible
19
http://olivier-augereau.com
Exercice 2
• Classes : Distributeur, Ecran, Articles, Boissons, ClavierSaisie, Gateau
– Le distributeur est composé d’un écran et d’un clavier de saisie
– Des articles tel que des boissons ou des gâteaux y sont disponible
20
http://olivier-augereau.com
Exercice 2
• Classes : distributeur, écran, articles, boissons, clavierSaisie, gâteaux
– Le distributeur est composé d’un écran et d’un clavier de saisie
– Des articles tel que des boissons ou des gâteaux y sont disponible
21
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
1) L’échiquier (échiquier, case)
22
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
1) L’échiquier
Case
Echiquier 1 64 +couleur: (N, B)
+matière +rangée: 1..8
+colonne: a..h
23
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
2) Les pièces appartiennent à un joueur (joueur, roi, pion, cavalier…)
24
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
2) Les pièces appartiennent à un joueur
Joueur
Roi 0..8
Pion
1
0..10
0..9 0..10
Dame 0..10
Cavalier
Tour Fou
25
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
3) La position des pièces (pièce, case)
26
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
Echiquier
+matière
3) La position des pièces
1
64
Case
<<abstraite>>
Piece est sur +position
+couleur: (N, B)
+rangée: 1..8
+couleur: (N, B) 0..1 0..1
+colonne: a..h
27
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
4) Le déplacement des pièces
28
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
<<abstraite>>
Piece
+couleur: (N, B)
4) Le déplacement des pièces +seDeplacer()
Roi Dame Tour Fou Pion Cavalier
+sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer()
29
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
4) Le déplacement des pièces (polymorphie)
<<abstraite>>
Piece
+couleur: (N, B)
+seDeplacer()
Roi Dame Tour Fou Pion Cavalier
+sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer()
30
http://olivier-augereau.com
• Résumé <<abstraite>> Case
Piece est sur +position Echiquier
+couleur: (N, B)
+couleur: (N, B) +rangée: 1..8 +matière
0..1 0..1 64 1
+colonne: a..h
+seDeplacer()
Roi Dame Tour Fou Pion Cavalier
+sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer() +sedeplacer()
0..10
0..8
0..10
1 0..9 0..10
Joueur
31
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec
5) Déroulement de la partie (pièce, case, partie , coup, joueur, )
32
http://olivier-augereau.com
Exercice 3
• Modélisation d’une partie d’échec {coup.couleur=piece.couleur} <<abstraite>>
1 Piece
+couleur: (N, B)
5) Déroulement de la partie +seDeplacer()
Partie Coup
1..*
+date +numero
+resultat {ordered} +couleur
départ
1
Blancs 1 1 Noirs
Joueur Case
1 +couleur: (N, B)
+nom
+prenom +rangée: 1..8
arrivée +colonne: a..h
33
http://olivier-augereau.com
Exercice 3
• Diagramme d’état du déroulement de la partie
34
http://olivier-augereau.com
Exercice 3
• Diagramme d’état du déroulement de la partie
En cours
coup blanc
Blancs Noirs Nulle
pat
coup noir
mat répétition de coups
mat
abandon abandon
Victoire blanc Victoire noir
35