Appendix C — Cas d’utilisation – Ouvrir la caisse

Le contexte est l’étude de cas du système NextGen POS, notamment le scénario principal du cas d’utilisation Ouvrir la caisse (en anglais Cash In). C’est l’acte d’un caissier ou d’une caissière qui arrive avec son tiroir-caisse contenant déjà de l’argent, qui s’authentifie sur la caisse (le registre) et qui saisit le montant en espèces dans le tiroir-caisse.

Note

En effet, ce cas d’utilisation n’est pas présenté en détail par Larman (2005), bien qu’il soit mentionné dans son livre dans un diagramme de cas d’utilisation. Alors, nous proposons pour cet exercice des modifications au modèle du domaine présenté par Larman afin de modéliser cette fonctionnalité additionnelle du logiciel.

NextGen...Traiter une venteTraiter les retoursOuvrir la caisseAnalyser l'activitéGérer la sécuritéGérer les utilisateursClientCaissierManager« acteur »Système desventesAdministrateursystèmeServiced'autorisationdes paiements« acteur »Calculateur detaxes« acteur »Système decomptabilité« acteur »Système deressourceshumaines

Figure C.1: Diagramme de cas d’utilisation pour le système NextGen. (PlantUML)

C.1 Terminologie

Quelques termes du domaine d’affaires doivent être compris avant de procéder :

Tiroir-caisse.
C’est la partie de la caisse qui s’ouvre, dans laquelle on peut placer un plateau-billets.
Plateau-billets.
C’est un contenant pour les billets de banque et les pièces de monnaie qui facilite le changement de personnel à une caisse. Chaque caissier ou caissière possède un plateau-billets et l’apporte au début ou à la fin de son quart de travail.

C.2 Cas d’utilisation : Ouvrir la caisse

Acteur principal : Caissier ou Caissière

Préconditions : La caisse est libre et son tiroir-caisse est vide (il n’y a pas de plateau dedans).

Garanties de succès (postconditions) : La caissière ou le caissier est authentifié. Son plateau-billets est placé dans le tiroir-caisse, et son identificateur est enregistré. Le montant d’argent du plateau est enregistré. L’heure de l’arrivée du caissier ou de la caissière est enregistrée.

Scénario principal (succès)

  1. Le Caissier ou la Caissière arrive à la caisse avec son plateau-billets.

  2. Le Caissier ou la Caissière saisit son identifiant et son mot de passe dans la boîte de dialogue d’authentification.

  3. Le Système authentifie le Caissier ou la Caissière.

  4. Le Système ouvre le tiroir-caisse et demande au Caissier ou à la Caissière de poser son plateau dans le tiroir-caisse.

  5. Le Caissier ou la Caissière pose son plateau dans le tiroir-caisse.

  6. Le Système reconnaît l’identificateur du plateau.

  7. Le Système demande au Caissier ou à la Caissière de saisir le montant d’argent du plateau.

  8. Le Caissier ou la Caissière saisit le montant d’argent du plateau.

  9. Le Système demande au Caissier ou à la Caissière de fermer le tiroir-caisse.

  10. Le Caissier ou la Caissière ferme le tiroir-caisse.

Spécifications particulières :

Les caisses sont configurées avec un modèle de plateau-billets comme celui-ci : voir exemple sur YouTube .

Fréquence d’occurrence : Normalement, au début du quart de travail de chaque caissier ou caissière.

C.3 Modèle du domaine partiel

Voici un exemple pour le système NextGen POS. Notez les nouvelles classes conceptuelles PlateauBillets (un objet physique) et MisePlateau (une transaction) faisant partie du scénario d’Ouvrir la caisse.

Modèle du domaine partiel pour le système NextGen POS présentant les différences par rapport au modèle du domaine de base présenté par Larman, avec l’ajout des classes conceptuelles PlateauBillets et MisePlateau, qui modélisent de nouveaux éléments du cas d’utilisation Ouvrir la caisse.

On remarque que lorsqu’un Registre (Caisse) n’a pas de Caissier (l’état du système au début du cas d’utilisation), l’objet Registre n’est associé à aucun objet Caissier. Nous avons donc modifié les cardinalités de l’association en conséquence. C’est une différence par rapport au modèle du domaine de base présenté par Larman, qui n’avait pas considéré ce cas d’utilisation, bien qu’il soit dans l’ensemble des spécifications du système.

Les associations en rouge sont celles qui sont affectées par la dynamique de ce cas d’utilisation.

C.4 Diagramme de séquence système (DSS)

La figure C.2 est le diagramme de séquence système (DSS) pour le scénario Ouvrir la caisse.

Ouvrir la caisse:Caissier:SystèmedémarrerOuvrirCaisse()authentifier(identifiant : String, mdp : String)confirmation, ouverture du tiroirposerPlateau(identifiant : String)saisirMontant(montant : Monnaie)fermerTiroir()

Figure C.2: Diagramme de séquence système (DSS) pour le scénario Ouvrir la caisse. (PlantUML)

C.5 Contrats d’opération

Voici les contrats pour chaque opération système.

Opération : démarrerOuvrirCaisse()

Postconditions :

  • Une instance mp de MisePlateau a été créée.

Opération : authentifier(identifiant : String, mdp : String)

Postconditions :

  • mp a été associée à un Caissier, sur la base de correspondance avec identifiant.
  • Le Registre en cours a été associé à un Caissier, sur la base de correspondance avec identifiant.

Opération : poserPlateau(identifiant : String)

Postconditions :

  • mp a été associée à un PlateauBillets, sur la base de correspondance avec identifiant.
  • Le Registre en cours a été associé à un PlateauBillets, sur la base de correspondance avec identifiant.

Opération : saisirMontant(montant : Monnaie)

Postcondition :

  • mp.montant est devenu montant.

Opération : fermerTiroir()

Postconditions :

  • mp.dateHeure est devenue la date et l’heure actuelles.
  • mp a été associée à GrandLivre.
  • mp a été associée à Registre.