« Méthodes de génie logiciel avec Ada/Cinquième partie » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 375 :
* Cas de l'annulation
A tout moment (tout au moins tant que la distribution n'a pas commencé), le consommateur peut annuler sa commande. Nous n'avons encore rien prévu pour le gérer. Remarquons que ce cas n'était pas prévu au cahier des charges; dans une optique industrielle, il faudrait prévenir le client afin de vérifier que notre interprétation du comportement souhaité correspond bien à ses désirs.
 
Une première solution serait de considérer l'annulation comme un produit spécial (et de prix nul). Si l'utilisateur appuie sur le bouton d'annulation avant d'avoir fait son choix, le consommateur «recevra» le produit Annulation. Rendre_Monnaie remboursera le consommateur (puisque le prix est 0.00) et l'unité de fabrication ignorera simplement le produit. Cette solution peut paraître astucieuse<ref>Ce qui n'est pas forcément un gage de qualité.</ref>, mais elle ne permet pas de traiter simplement le cas de l'annulation après que le consommateur a fait son choix<ref>Notons une décision implicite : lorsque le client a fait son choix, il ne peut plus changer d'idée en appuyant sur un autre bouton (sauf annulation). Donc, le menu est bloqué après avoir reçu un choix valide. Donc il faut prévoir un moyen de le débloquer... Nous sommes en train d'étudier un autre problème, mais il faut noter celui-ci pour ne pas l'oublier par la suite.</ref>. On pourrait également lever une exception au lieu de renvoyer une valeur spéciale, mais cela ne résoudrait pas le problème. Il faut prendre du recul, oublier l'informatique et revoir la question au niveau du domaine de problème.