36 0 251KB
Langage UML : Etude 1 Système de récupération d’articles Enoncé
Un système de récupération peut accepter plusieurs types de bouteille et de canettes. Un type de canette est caractérisé par sa largeur et sa hauteur. Un type de bouteille est caractérisé par sa largeur du col, sa largeur du bas et sa hauteur. Pour chaque type d'article (bouteille ou canette) correspond un prix.
Le client qui désire retourner des articles (canettes et/ou bouteille) se présente devant la machine et commence à les déposer un par un. L'article déposé est mesuré par la machine pour pouvoir l'identifier. Si l'article déposé est accepté, le système incrémente le total de ce type d'article. Si l'article n'est pas reconnu par la machine, le message d'article est mis en lumière dans le panneau de la machine. Quand le client a déposé tous les articles, il appuie sur le bouton Reçu. Le système lui imprime un reçu contenant pour chaque type d'article son nom, le nombre déposé, le montant de dépôt et le montant total.
Vers la fin de chaque journée, l'opérateur de la machine imprime le reçu global des dépôts au cours de la journée en appuyant sur le bouton Init derrière la machine. Le reçu imprimé a la même forme que celui livré au client, sauf qu'il récapitule tous les dépôts de la journée. L'opérateur peut aussi configurer les paramètres des cannettes et des bouteilles que la machine peut accepter.
Travail à faire 1. Donnez une première version du diagramme de classes 2. Etablir le diagramme de cas d'utilisation 3. Etablir le diagramme de séquence du cas d'utilisation 'Déposer articles' 4. Compléter le diagramme de classes précédent en ajoutant des opérations
[email protected]
Page 1
Langage UML : Etude 1 Correction proposée Diagramme de classes incomplet Client
1
Article
déposer 1..*
- prix : double - hauteur : int
mesurer
Machine
1..* 1
1..* configurer Bouteille - largeur_bas : int - largeur_col : int
1..*
Canette - largeur : int
Opérateur
Diagramme de cas d’utilisation
mesurer
accepter
déposer
refuser
client
incrémenter
imprimer reçu
imprimer reçu global message opérateur
configurer
Diagramme de séquences du cas d’utilisation «déposer »
[email protected]
Page 2
DiagrammeSequence_1 Machine Client loop
[Tant qu'il reste des articles à déposer]
déposer mesurer alt
accepté
incrémeneter
refusé
message
imprimer reçu
A partir du diagramme de séquence précédent, on peut compléter le diagramme de classes par quelques méthodes (Il faut noter, voir le cours, qu’un message reçu est traduit par une opération) : Machine + +
déposer () mesurer () incrémenter () message () imprimer_reçu () ...
: void : void : void : void : void
[email protected]
Page 3