====== TD8 : Synthèse des TDs et préparation à l'examen ======
Nous sommes une agence de transports et nous avons deux sociétés de transports FedUT, DHLUT. Votre rôle est d'informatiser notre agence.
L'agence reçoit des demandes de transport d'un entrepôt X à une adresse Y d'un colis de référence Z.
L'agence enregistre la demande sous la forme d'un "ordre de transport".
En réponse à une telle demande, le système renvoie au demandeur un ticket de suivi qui contient le numéro pour suivre le colis et le nombre de jours prévu avant la livraison .
Dans le même temps, un ticket de retrait est émis auprès de l'entrepôt. L'ordre de transport complété par toutes ces informations est mémorisé.
Pour la société FedUT, la date prévisible de livraison est calculée en sélectionnant la prochaine date libre de retrait (un par jour ;-)) et en ajoutant 2 jours. Pour la société DHLUT la date prévisible de livraison est calculée en fonction des disponibilités de ses camions.
Lorsque la demande est faîte à l'agence directement le choix de la société de transport se fait en fonction de la date de livraison prévue, en choisissant celle qui propose une date au plus tôt.
Un camionneur signale à sa société (FedUP ou DHLUT), en précisant le numéro de suivi du colis, le retrait ou la livraison du colis dont il a la charge.
Un client, en utilisant le numéro qui se trouve sur le ticket de suivi, peut demander l'état de sa livraison : //prévue, en cours, réalisée//.
L'administrateur peut annuler par l'interface un ordre de transport qui n'est pas en cours.
Notre agence veut visualiser "à la volée" les ordres passés. Voici un exemple de la trace que peut visualiser la vue. L'interface se met à jour automatiquement à chaque changement d'état d'un ordre de transport.
Vue générale de l'AGENCE
OrdreTransport 0 [ -- DHLut , dateLivraison=3, etat=prevue, depart=nice, livraison=sophia, colisDesc=lecteur dvd]
OrdreTransport 1 [ -- DHLut , dateLivraison=3, etat=prevue, depart=nice, livraison=cannes, colisDesc=lunettes 3D]
OrdreTransport 1 [ -- DHLut , dateLivraison=3, etat=en_cours, depart=nice, livraison=cannes, colisDesc=lunettes 3D]
OrdreTransport 2 [ -- FedUt , dateLivraison=3, etat=prevue, depart=nice, livraison=cannes, colisDesc=Pc]
OrdreTransport 1 [ -- DHLut , dateLivraison=3, etat=realisee, depart=nice, livraison=cannes, colisDesc=lunettes 3D]
OrdreTransport 3 [ -- DHLut , dateLivraison=4, etat=prevue, depart=nice, livraison=cannes, colisDesc=TV]
OrdreTransport 0 [ -- DHLut , dateLivraison=3, etat=realisee, depart=nice, livraison=sophia, colisDesc=lecteur dvd]
Suppression de OrdreTransport 3 [ -- DHLut , dateLivraison=4, etat=prevue, depart=nice, livraison=cannes, colisDesc=TV]
OrdreTransport 4 [ -- DHLut , dateLivraison=4, etat=prevue, depart=nice, livraison=Antibes, colisDesc=PlayStation]
- Modélisez l'application en utilisant tous les diagrammes qui vous semblent utiles. Vous devez couvrir l'ensemble de l'application. On attend des diagrammes de niveau conception à la fin, i.e. les associations entre classes sont orientées, les noms des rôles définis, les multiplicités définies.
- Donnez le code de création d'un ordre de transport "général". Donnez également les codes correspondant pour les deux sociétés. Pour les dates, travaillez seulement sur des entiers (numero du jour dans l'année courante), et pour la disponibilité des camions considérez que vous n'avez que deux camions et qu'ils font une seule livraison par jour.
- Précisez les patterns utilisés : pour chaque pattern identifié, montrer le rôle joué par chacune des classes et méthodes.
- Si on vous demande d'enrichir l'application en gérant des ordres de transport de produits fragiles, très rapides, en recommandé, ... quel pattern utiliseriez vous?
===== Gestion optimisée des colis =====
On décide d'optimiser les trajets.
A présent, on décide de regrouper les colis en lot en fonction des départs et arrivées.
On doit livrer :
Un colis 1 de Nice adresse a1 à Paris adresse b1\\
Un colis 2 de Nice adresse a2 à Paris adresse b2\\
Un colis 3 de Nice adresse a3 à Lyon adresse b3\\
Un colis 4 de Nice adresse a4 à Lyon adresse b4\\
On décide d'en faire un lot 01 Nice entrepôt -> Lyon adresse "entrepôt" qui contient les colis 3 et 4 et un lot 02 Nice entrepôt -> Paris "entrepot" qui contient les colis 1 et 2 et le lot 01.
Tous les colis sont pris en charge sur Nice, déposés à l'entrepôt, où ils sont regroupés en lot puis acheminés jusqu'à Lyon, on le lot 01 est laissé à l'entrepot, tandis que le reste du lot 02 est acheminé à l'entrepôt de Paris. Le lot 01 pendant ce temps est à son tour redécoupé e colis qui sont déposés à leur adresse respective.
* Mettez un mail à votre encadreur avec soit l'adresse où récupérer le TD soit le TD lui-même
* Dans votre répertoire de projet :
- Un document contenant
* votre modèle final (Tout le monde n'aboutit pas au même modèle, c'est certain) (merci de l'intégrer dans un document pour que nous n'ayons pas à ouvrir différents modèles dans différentes versions de l'outil).
- Les codes et les tests.