User Tools

Site Tools


2015_2016:s2:td:td_classes-code

Où tous les éléments de modélisation prennent leur place

Nous allons modéliser l'interface de prise de commande d'un client en ligne pour le restaurant MACD…

Si vous le voulez, vous pouvez vous appuyer sur l'existant, mais si vous n'avez pas de compte, pas la peine d'en créer un (c'est long, ça bug et en plus vous y gagnez encore plus de publicités), suivez seulement les consignes.

XXX vous demande de reconcevoir le système de prise de commande. Voici les consignes :

- Seul un client enregistré peut passer une commande - Quand le client s'enregistre : via facebook - Pour commander en ligne : Il faut choisir son restaurant, - Dès que la commande est passée, elle est envoyée dans la liste des commandes à traiter avec un numéro. Le personnel en cuisine prépare les produits chauds correspondants. Dès qu'un agent de caisse prend en main la commande, elle bascule dans la liste des commandes en cours de traitement. Une fois livrée, elle est retirée de la liste des commandes. - Afin de faciliter la prise de commande, la commande est mémorisée de façon à suggérer la prochaine fois au client les produits qu'il commande le plus.

- Une prise de commande suit le scénario suivant :

Extension1 : le client est automatiquement localisé. S'il refuse il ne peut pas passer de commande. Une fois localisée, une connexion au système GoogleMAP permet de verifier le temps de trajet entre sa position actuelle et le restaurant, s'il est trop loin, lui suggérer de changer de restaurant ou d'heure pour retirer sa commande. Extension2 : un client ne peut pas actuellement passer sa commande avant l'ouverture du restaurant. Pourtant, on aimerait pouvoir passer une commande pour la retirer plus tard dans la journée.

Traiter les points suivants :

  1. UC : Quels sont les grands cas d'utilisation en vous basant uniquement sur le texte ci-dessus, mais en l'analysant bien… (ne pas oublier de suggerer comme un extends, les acteurs externes : facebook, googlemap, traiter les commandes …)
  2. S : Décrivez l'inscription d'un nouveau client par un diagramme de séquence.
  3. C : Analyser le domaine pour déterminer les principales classes de votre système
  4. S : Décrivez la prise de commande par un client par un diagramme de séquence détaillé (Faîtes apparaitre les classes, les créations d'objets) mais attention ne traiter pas d'autres cas d'utilisation dans ce diagramme.
  5. S : la commande est affichée sur un écran en notant …
  6. C au code :
    • Une commande correspond à une liste de produits. Dès qu'une commande est validée, les produits “à préparer” sont envoyés dans la liste “produitsAPreparer”.
    • Un produit est empaqueté dans une boîte dédiée qui a un code barre. Chaque fois qu'un produit à préparer passe devant le lecteur de code barre, la liste “ProduitsAPreparer” est mise à jour, tandis que la liste des produits en attente “ProduitsEnAttente” est incrémentée avec le nouveau produit.
    • Certains produits ne doivent pas attendre trop longtemps sinon ils sont considérés comme périmés et doivent être rejetés.
  1. Tout : que devez vous modifier pour prendre en compte la possibilité de passer des commandes en “avance”.
  2. C au code : Pour les menus la sélection des produits dépend des possibilités offertes par le menu : frites ou Potatoes, eau ou coca ou sprite, … Modéliser par un diagramme de classe : la notion de Menu qui supporte les scenarios suivants, mais attention pas de “if” :
    1. Pierre-Jean choisit le menu BigSchroumph : le système lui propose de choisir l'accompagnement (frites ou Potatoes) et la boisson (un soda au choix); il choisit frites et coca, dans sa commande, il y a à présent : bigSteack, frites et coca;
    2. Titeuf choisit le menu PtitSchroumph : le système lui propose de choisir l'accompagnement (frites ou Potatoes), la boisson (un soda au choix, de l'eau ou un yaourt à boire et il doit alors choisir le parfum) et un jeux ; il choisit frites, yaourt fraise, “Hello Kitty Orbit”, dans sa commande, il y a à présent : ptitSteack, frites, yaourt fraise et “Hello Kitty Orbit”;
    3. Slim choisit le menu SvelteSchroumph: le système lui propose de choisir l'accompagnement (salade verte ou composée) et la boisson (eau ou un yaourth à boire).
    4. X peut créer de nouveaux menus au choix.
  3. Pour tous les produits d'une commande, ils sont enregistrés dans la liste des choix du client.

Pour faire cet exercice, vous pouvez aller sur la page de MacDo et modéliser ce que vous voyez ! https://www.mcdonalds.fr/ Il peut s'inscire. Pour cela on lui demande son nom, son email et son numéro de telephone portable, et son code postale. Puis en fonction de sa position on lui demande de choisir son restaurant préféré. sur une carte. Il est également possible de choisir son restaurant à partir d'un lieu.

2015_2016/s2/td/td_classes-code.txt · Last modified: 2016/03/07 19:32 by blay