Fallstudie: Flottenmanagement / Tracking and Tracing

Hintergrund: Ein Unternehmen hat eine maßgeschneiderte Anwendung für ein Flottenmanagement- und Tracking-System entwickelt. Das System ermöglicht die Überwachung und Verfolgung von Fahrzeugen in Echtzeit sowie die Optimierung der Geschäftsprozesse im Zusammenhang mit Flottenmanagement.

Projektbeschreibung:

  • Entwicklungsmethode: Agile Softwareentwicklung
  • Testverfahren: Use Cases + Test Units (unter Verwendung von Visio + Test Complete v6)
  • Anzahl der gleichzeitigen Benutzer: Ungefähr 6.500 Fahrzeuge
  • Ressourcen: 1 Teilzeit-Projektmanager/Software-Architekt, 2 Senior-Entwickler, 1 Tester
  • Verwendete Technologien:
    • ASP.NET mit C# (Programmiersprache)
    • Microsoft SQL Server 2005 (für Datenbankunterstützung)
    • Windows-Dienste (für verschiedene Verarbeitungsaufgaben)
    • MAP24-Services (für die Anzeige von Karten und die Abfrage von Adressen anhand von Koordinaten)
    • Falcom STEPP II (das Gerät, das an den Fahrzeugen angebracht ist)
    • AJAX (spezielle Webtechnologie zur Verbesserung der Benutzerfreundlichkeit und Geschwindigkeit der Webanwendung)
    • Lastenausgleich

  • Eingesetzte Hardware: Drei dedizierte Dual-Core-P4-Server – einer für den Lastenausgleichsprozess und die Interpretation der von den Fahrzeugen eingehenden Nachrichten; die anderen beiden mit installierter Software und Datenbank.

Herausforderungen: Eine der Herausforderungen bestand darin, die Robustheit der Website sicherzustellen, da Tausende von Fahrzeugen ihre Positionen gleichzeitig senden. Daher wurde ein Lastenausgleichsmechanismus auf zwei Ebenen entwickelt:

  • Auf der Anfragenebene wurden mehrere virtuelle Server installiert und konfiguriert, um die Benutzerwebanfragen zu bearbeiten.
  • Auf der Datenbankebene werden mehrere MSSQL-Instanzen ausgeführt, um die Kontrolle über alle relevanten Informationen zu gewährleisten.

Funktionen und Ergebnisse: Es wurde ein System entwickelt, das über einen Windows-Dienst in der Lage ist, den aktuellen Standort eines Fahrzeugs zu empfangen, die Koordinaten zu interpretieren, die Adresse, den Motorzustand, die Geschwindigkeit usw. abzurufen und die Informationen in der Datenbank zu speichern. Basierend auf den erhaltenen Informationen generiert das System automatisch die Fahrten der Fahrzeuge. Das Backend-System, das entwickelt wurde, generiert verschiedene Analysen und Berichte, darunter:

  • Berechnung der effizientesten idealen Fahrten (schnellste und kürzeste Fahrt mit demselben Start- und Zielpunkt)
  • Statistische Informationen über die Regionen, in denen die Fahrzeuge unterwegs waren
  • Automatische E-Mails und/oder SMS, wenn bestimmte Fahrzeuge einen definierten Bereich verlassen
  • Wartungstermine (wann das Fahrzeug für regelmäßige Wartung zum Service sollte)

Des Weiteren wurde ein vollständiges Finanzberichtssystem entwickelt, das auf den Kilometerkosten und dem Stundenverrechnungssatz eines bestimmten Fahrers basiert. Das System verfügt außerdem über eine Webanwendung mit unterschiedlichen Funktionalitäten für drei verschiedene Zugriffsebenen (Administrator, Fahrer, Kunde und Werkstatt):

  • Der Administrator verwaltet alle Kunden des Systems und die ihm zugewiesenen Fahrzeuge.
  • Der Fahrer kann seine Fahrten einsehen (und mit welchem Fahrzeug er sie durchgeführt hat).
  • Der Kunde kann die Fahrten (Details und/oder auf der Karte) aller ihm zugewiesenen Fahrzeuge einsehen.
  • Das Werkstattkonto kann Informationen zu Kilometerstand und Wartung für die unter seiner Kontrolle stehenden Fahrzeuge einsehen.

Die entwickelte Anwendung nutzt iterative Entwicklung, offene Zusammenarbeit und Anpassungsfähigkeit während ihres Lebenszyklus. Es wurde ein operativer Manager zur Verfügung gestellt, der ständig Kontakt zum Kunden hält und deren Kundenanfragen in funktionale und technische Spezifikationen übersetzt. Ein Team von drei Entwicklern und einem Tester gewährleistet den Implementierungsprozess und die Qualitätssicherung. Es wurden komplexe Unit-Tests und Use Cases entwickelt, um die “Live”-Nutzung der Anwendung zu simulieren.