PizzaLand
Partie Java
GUYENNE Jean-Baptiste, THIRUCHELVAM Bannuchan
Groupe 332
PizzaLand | 2
Résumé
Dans le cadre du S3 et du projet Java/BD, il nous a été demandé de concevoir la suite de la gestion du site de la
pizzeria que nous avions étudiée en ACSI et Programmation Web. L’application devra permettre la gestion
intere de la pizzeria, à savoir, l’affichage pour les cuisiniers des commandes à honorer, la gestion des stocks
d’ingrédients,..
La gestion complète du système reposera sur un ensemble de 4 interfaces :
- L’interface de cuisine, c’est la base même de la chaîne de production. Elle affichera la liste des
commandes (avec leurs détails) à honorer et permettra d’indiquer qu’une commande est en cours de
préparation ou prête. Les commandes y seront triées par ordre d’urgence, c’est-à-dire, les commandes
effectuées il y a plus longtemps en tête de liste.
L’interface devra permettre aux cuisinier de modifier l’état d’une commande : la commande passera
successivement par les états ‘non préparée’, ‘en préparation’, ‘prête à être livrée’.
L’interface devra également permettre aux cuisiniers de supprimer une commande (au cas où le client
voudrait l’annuler).
- L’interface des livreurs encore à la pizzéria. Elle permet au livreur d’être tenu au courant des
commandes prêtes à être livrées ainsi que l’adresse de livraison.
En saisissant un numéro de commande, le livreur verra s’afficher l’adresse de livraison ainsi que l’heure
maximale à laquelle la commande doit être livrée pour ne pas être en retard.
- L’interface des livreurs au moment de la livraison. Elle affichera l’adresse, le numéro de commande et
indiquera également si le client avait payé sa commande à l’avance.
- L’interface du gestionnaire, qui lui permettra d’avoir un historique des ingrédients consommés sur une
période donnée, le chiffre d’affaire d’une période donnée, de planifier des commandes d’ingrédients,..
PizzaLand | 3
SOMMAIRE
Résumé 2
Schéma relationnel 4
Analyse des séparations Java-/-Oracle 5
Diagramme des classes Java 5
Exemple d’utilisation d’accès à la base de données 6
Guide d’utilisation 7
Code de l’interface cuisinier 8
Code de l’interface livreur (encore à la pizzeria) 12
Code de l’interface livreur (en livraison) 12
Code de l’interface gestionnaire 12
Amélioration à effectuer 13
Problèmes rencontrés 13
Compte-rendu 14
PizzaLand | 4
Schéma relationnel
Grâce à l’analyse préliminaire de conception que nous avions effectuée pour la partie ACSI et Programmation
Web de la pizzéria, nous avons pu établir le schéma relationnel qui convenait à nos besoins :
Comme indiqué lors de la Programmation Web, la gestion des boissons a été retirée afin de se concentrer sur
les pizzas. La table STOCK, bien que l’utilité immédiate soit limitée, est une étape vers ce qui nous serait
nécessaire pour gérer les boissons et autres produits.
PizzaLand | 5
Analyse des séparations Java-/-Oracle
- Nous essayerons de minimiser la présence de code SQL dans le code source Java.
Nous tâcherons ainsi d’utiliser au maximum la création de fonctions et procédures stockées PL/SQL.
Ainsi les différentes sélections, insertions, mise à jour, suppression,.. dans la base de données se
feront au possible grâce à des fonctions et procédures stockées.
- Les boutons de l’interface appelleront des procédures ou fonctions du modèle associé qui appelleront
à leur tour des procédures ou fonctions PL/SQL (via des CallableStatement, PreparedCall,..).
- Pour la gestion des différentes alertes, comme par exemple la présence d’un nombre de commandes
élevé (>20), nous utiliserons des triggers.
L’application se chargera via un scan, régulier ou manuel, de la table d’alerte, de vérifier si une
nouvelle alerte a été insérée. Dans ce cas, un message fortement visible apparaîtra à l’écran du
gestionnaire et des cuisiniers.
- Pour l’affichage de l’heure maximale de livraison, nous ferons le calcul de cette heure via le code Java.
Cela permet de libérer le serveur de la base de données d’un calcul qui pourrait être évité.
Le code Java récupèrera donc l’heure de commande, lui ajoutera 30 minutes, et c’est cette nouvelle
heure qui sera affichée au livreur.
- Au moment de la livraison, ce n’est pas le livreur qui indiquera lui-même si la commande a été livrée
avec ou sans retard. Le livreur ne fera qu’indiquer l’heure de livraison, via l’interface dédiée à la
livraison, et grâce à un trigger s’occupera de calculer le nouveau statut de la commande (livrée avec
retard, livrée sans retard).
Diagrammes des classes Java
1 / 14 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !