2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 1Cahier des charg...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 2A. Modélisation ...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 3CommandéPréparéL...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 44) Quel est le d...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 55) Construire le...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 6B) Tomcat pour l...
2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 72) Ecrire en Jav...
Prochain SlideShare
Chargement dans…5
×

Super kebab nfe103

600 vues

Publié le

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
600
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Super kebab nfe103

  1. 1. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 1Cahier des charges :L’entreprise Superkebab se compose de nombreux restaurants « Kebab Hubs ».L’activité est spécialisée dans la livraison à domicile de Kebabs et autres spécialités.Les commandes se font par téléphone directement auprès de chaque restaurant.Une commande comporte en général plusieurs plats.Le nombre de commandes est limité, chaque client doit connaître la carte des plats offerts parle restaurant contacté.Informatiser le processus de commande/fabrication/livraison, développer un systèmepermettant de gérer à distance et de manière centralisée toutes les commandes, les restaurantset les employés (collaborateurs).Centralisation des données (plats disponibles) sur internet.Plat (nom, photo, prix).Une durée est également associée à chaque plat chaud.Si temps livraison-fin de préparation>durée alors remboursement de la commande par lerestaurant.Pour les commandes par internet, disposer d’une carte de crédit est une obligation.Lors de la première commande, saisir son nom et son lieu de résidence.Pour chaque plat sélectionné, le client doit indiquer la quantité désirée.Après avoir passé la commande, le client peut à tout moment consulter l’état de sa commande.Tant que la commande n’est pas partie, il peut l’annuler.Les restaurants Kebab fait appel à des collaborateurs souvent des étudiants. Un téléphoneportable leur est remis. Dans chaque restaurant Kebab un collaborateur joue le rôle de« coordinateur » consultant les commandes à réaliser, les autres préparent les plats.Bouton spécifique pour indiquer la disponibilité, un autre bouton pour le contraire.Le gérant peut consulter l’état du système global, il place le collaborateur soit à un restaurantsoit à la livraison. Son rôle est d’optimiser l’attribution de chaque collaborateur en fonctiondes commandes. Il affecte la commande à un livreur et à un point de vente.Chaque livreur utilise son propre moyen de transport (bus, vélo, roller, voiture). Un appareil« pilote » lui est remis à la livraison, intégrant un GPSLe collaborateur peut changer de lieu de travail ou de rôle plusieurs fois dans la journée.
  2. 2. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 2A. Modélisation du système de gestion de réservations avec UML1) Elaborer le diagramme de cas d’utilisation de ce système.2) Représenter, sous forme de diagramme de séquences, le scénario nominal de laréservation par un client d’une commande (une commande comporte engénéral plusieurs plats).3) Tracer le diagramme états-transitions de l’objet commande.
  3. 3. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 3CommandéPréparéLivréAnnulé
  4. 4. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 44) Quel est le design pattern le plus approprié pour représenter le comportementde l’objet commande ? Décrire la problématique et le contexte de mise enœuvre de ce design pattern.Nous avons une implémentation de la commande :CommandeCommandéAnnuléLivréPréparéEtat courantLa commande contientmaintenant une instance dechaque classe étatEtat de lacommandeL’état courant de lacommande est toujours l’unede ces instances de clase.
  5. 5. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 55) Construire le diagramme de classes détaillé du système (avec toutes lespropriétés et les méthodes de chacune des classes).6) Représenter l’architecture logique globale de ce système sous formed’architecture n-tiers (à l’aide de packages UML).B. Architecture technique du systèmePour des raisons économiques, la maîtrise d’œuvre impose l’utilisation du serveurweb Apache, du container web TOMCAT, du framework technique STRUTS, duserveur d’applications JBoss et du SGBD PostgreSQL :1) Décrire les fonctions principales réalisées par chacune de ces briquesfonctionnelles de l’architecture ?A) Le serveur Apache se charge de gérer les connexions http.
  6. 6. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 6B) Tomcat pour la couche web, c’est un container web gérant l’exécution desJSP et les servlets. Elles sont regroupées dans des unités de déploiementconstituant les applications web.C) Le framework d’application web Struts pour la couche présentationutilisant l’architecture MVC, ne définit jamais le modèle.D) Le serveur d’application Jboss, un container de composants transactionnelsEJB permet de développer la logique métier grâce aux EJB.E) Le SGBD PostGreSQL pour la couche persistance va permettre lestockage des données dans une BD relationnelle à l’aide de SQL.2) Représenter schématiquement l’architecture technique globale de cesystème.C. Conception des EJB (Enterprise Javabeans)1) Rappeler les principales étapes de la démarche conduisant à l’exécution d’uneapplication complète à base de composants EJB (Enterprise Java Beans) CMP(Container Managed Persistance)Un bean CMP est semblable à l’utilisation d’un bean de session avec état.Le serveur d’application JBoss utilise une technique efficace pour optimiser lesEJB CMP. On fera donc le choix d’utiliser ce type d’EJB car le code à écrire estplus court d’où un gain de temps.Chaque instance d’un EJB se construit dans un container EJB, un environnementd’exécution fournissant divers services (annuaires, sécurité, transactions,connexions à la base de données).Un client n’accède jamais directement à un composant (=Interface +Implémentation). Il doit pour cela passer par 2 interfaces (locales et distantes).L’interface locale décrit le cycle d’existence du composant en définissant desméthodes permettant de le trouver, de le créer, de le détruire. Et L’interfacedistante spécifie les méthodes que ce composant présente au monde extérieur.
  7. 7. 2èmepartie : Etude de cas – Système de Gestion de restaurants superkebabNFE103 – Manuel Ramos 04.07.2009 72) Ecrire en Java les squelettes de description de la HomeInterface (locale) et dela RemoteInterface (distant) de ce système.Un composant EJB se décompose en un ensemble de pièce, dont le Bean lui-même(classe java), limplémentation dinterfaces (Home et Remote) et un fichierdinformations au format XML (descripteur de déploiement). Le tout est rassemblédans un fichier EJB-jar.Chaque Enterprise Bean créé doit être associé à une interface Home. LinterfaceHome est utilisée comme une Factory de votre EJB. Les clients utilisent linterfaceHome pour trouver une instance de votre EJB ou pour créer une nouvelle instancede votre EJB.Linterface Remote est linterface Java qui reflète les méthodes de lEnterpriseBean que lon souhaite rendre disponible au monde extérieur. Linterface Remotejoue un rôle similaire à celui de linterface IDL de CORBA.L’interface « HomeInterface » doit étendre « javax.ejb.EJBHome » :- Linterface Home doit être public.- L’interface « HomeInterface » possède au moins une méthode create ayant unesignature similaire à une méthode ejbCreate de Bean- Chaque méthode create doit renvoyer une instance de « RemoteInterface »,- Chaque méthode create de « HomeInterface » est susceptible de lever 2exceptions : « java.rmi.RemoteException », « javax.ejb.CreateException ».L’interface « HomeInterface » doit implémenter au moins la méthode derecherche par clé primaire : findByPrimaryKey, prenant en paramètre un objet dela même classe que la clé primaire,- Parmi les méthodes de recherche, seule la méthode findByPrimaryKey renvoieune instance de « RemoteInterface », les autres méthodes renvoient toutes des« java.util.Collection ».- Toutes les méthodes de recherche sont susceptibles de renvoyer 2 exceptions :« java.rmi.RemoteException » et « javax.ejb.FinderExeption ».L’interface « RemoteInterface » doit étendre « javax.ejb.EJBObject » :- Linterface Remote est linterface Java qui reflète les méthodes de lEnterpriseBean que lon souhaite rendre disponible au monde extérieur. Linterface Remotejoue un rôle similaire à celui de linterface IDL de CORBA.- Les méthodes métiers de « RemoteInterface » sont toutes susceptibles de leverune exception : « java.rmi.RemoteException ».- Linterface Remote doit être public.- Linterface Remote doit hériter de linterface javax.ejb.EJBObject.

×