Cas d’utilisation Connaître la consommation journalière de chaque véhicule Déclarer les opérations d’entretien Chef mécanicien Équipe mécaniciens Elaborer le planning d’entretien Consulter le planning d’entretien « use » Consulter les données sur les chauffeurs « use » Responsable planning Elaborer l’emploi de temps des chauffeurs Consulter ses mission du jour Consulter les données sur les véhicules Déclarer sa localisation Chauffeur Déclarer fin de course (incident véhicule, recettes) Connaître les délais entre appel et prise en charge Responsable Compte client Créer mission immédiate Etablir factures client Opérateur du central d’appel Créer mission Créer mission différée Gérer les clients
Diagramme de séquences du cas : Elaborer Emploi de temps Diag. haut niveau Système Responsable Planning Consulter informations véhicules (n° véhicule, station, zone) Chercher informations Afficher infos véhicules (n° véhicule, n° station, n° zone) Consulter informations chauffeurs (n° chauffeur, station) Chercher informations Afficher (n° chauffeur, n° station) Affecter véhicule au chauffeur (n° zone, n° véhicule, n° chauffeur, date) Vérifier compatibilité informations saisies [infos compatibles] créer taxi Confirmer affectation
Diagramme de séquences du cas : Elaborer Emploi de temps Diag. bas niveau Interface Responsable Planning Consulter informations véhicules (n° véhicule, station, zone) Vi: Véhicule Si: Station Vi:= un véhicule?() * (n°, station, zone) := tes infos? () Si:= ta station? () n°zone:= zone? () * n° véhicule, n° station, n° zone n° zone Chauffeur Afficher infos véhicule Consulter informations chauffeurs (n° chauffeur, station) Ci:= un chauffeur?() * (n° chauffeur, station) := tes infos ? () * n° chauffeur, n° station Afficher informations chauffeur Affecter véhicule/chauffeur (n° zone, n° véhicule, n° chauffeur, date) Comparer n° zone taxi, n° zone véhicule et n°zone chauffeur {infos compatibles] Générer n° taxi Ti := Créer taxi (n° taxi, n° zone, n° véhicule, n° chauffeur, date) Ti: Taxi Rajout véhicule, zone et chauffeur (n° véhicule, n°zone, n° chauffeur) Confirmer création taxi
Diagramme de séquences du cas «Créer mission immédiate» Système Zone Client Opérateur Demande taxi (n°-client, origine, destination) Enregistrer demande (n°-client, heure-appel) n°-demande:= générer n° Créer demande (n°-demande, n° client, origine…, heure-appel) Demande Confirmer création Zone client ? (origine) Zone client ? (origine) Localisation Chauffeur Chauffeur Zone (n°-zone) Zone (n°-zone) Chercher chauffeur dans la Zone (n°-zone) Chauffeurs dans la zone ? (n°-zone) Affectation véhicule [il existe 1 chauffeur] n°-chauffeur := chauffeurs ? (n°-zone) infos chauffeur ? (n°-chauffeur) Chauffeur infos chauffeur (n°, nom, prénom, téléphone) Transmettre informations mission (n°-client, origine, destination) infos chauffeur (n°, nom, prénom, téléphone) infos chauffeur (n° … téléphone) Véhicule affecté au chauffeur? (n°-chauffeur) Véhicule affecté au chauffeur? (n°-chauffeur) n°-véhicule := véhicule ? (n°-chauffeur) Chercher-client Véhicule affecté au chauffeur (n°-véhicule) Véhicule affecté (n°-véhicule) Créer mission (n°-client, n°-véhicule n°-mission:= générer n° Transmettre prise en charge (heure-prise) Mission Créer mission (n°-mission, n° client, n°, véhicule origine, destination) Renseigner heure prise Ajouter heure prise (heure-prise)
Diagramme de séquences du cas « Créer mission immédiate » Le diagramme de séquence précédent traite seulement le cas où l’opérateur trouve un chauffeur localisé dans la même zone que le client. Dans le cas contraire, un message d’erreur s’affiche à l’opérateur, qui doit alors chercher un chauffeur dans la zone la plus proche de celle du client. Pour identifier la zone la plus proche, il consulte une table listant le temps pour aller d’une zone à une autre en fonction de l’heure de la journée. Une fois la zone la plus proche est identifiée, le reste de la procédure est le même (chercher chauffeur libre dans cette nouvelle zone, avoir ses coordonnées, l’informer de la nouvelle mission, créer la mission)
Heure journée Temps transit Diagramme de classes Demande N°-demande (chaine) Heure-demande (date/heure) Origine (chaine) Destination (chaine) Mission N°-mission (chaine) Heure-prise (date/heure) Prix-course (monétaire) 1 devient> 0..1 0..* effectue> Client N°-client (chaine) Nom-client (chaine) 1 0..* affecté> 1 Date Modèle N°-modèle (chaine) Capacité (entier) Type-carburant (chaine) Type BdV (chaine) Poids (réel) Opération-entretien Véhicule 0..* 0..* 1..* Appartient> 1 Code-opération (chaine) N°-véhicule (chaine) N°-plaque (chaine) Date-mise-en-service (date) <concerné 1..* 0..* 1..* <assigné affecté> Date Tranche consommation> 1 1..* Nb km parcourus Station taxi N°-station (chaine) Chauffeur N°-chauffeur (chaine) Nom (chaine) Prénom (date) Adresse (chaine) Langue (chaine 1 1..* <assigné 0..* Date jj/mm/aa (date) 0..* 0..* <situé possède> 1 0..* Zone N°-zone (chaine) Heure journée Temps transit 1..* 1..* 1 <localisé Type-permis type (chaine) 1..* <voisine
Diagramme d’état-transition de « Véhicule » [pas de nouvelle affectation] course finie client récupéré affectation à un client [nouvelle affectation] course finie En stationnement En course En transit panne fin entretien échéance d’entretien OU signal d’entretien En entretien Un véhicule peut à tout moment tomber en panne (qu’il soit en stationnement, en course ou en transit) - dans ce cas, il passe à l’état « En entretien » (ce qui explique la factorisation de la transition « en panne »). A la fin de l’entretien, le véhicule revient au premier sous-état, càd « En stationnement » Un véhicule peut également passer à l’état « En entretien » lorsque l’échéance d’entretien est arrivée (cas de maintenance préventive systématique) ou un signal révélant la nécessité d’un entretien se déclenche (cas de maintenance préventive conditionnelle)