S3 : Conception et Programmation Objet Avancées
-
-
- Attention pensez au rendu de fin de module
-
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]
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.
Rendu en fonction du groupe de TD Pour le Groupe S3A le 29/1/2015 à 23h59