Mein Lokomotion-Projekt

Im Rahmen meines Studiums war ein Softwarepraktikum vorgesehen, das zusätzlich zum regulären Studienplan absolviert werden musste – eine echte Doppelbelastung für uns Studierende.

Die Aufgabe im Praktikum Softwaretechnik bestand darin, eine Zugplanungssoftware zu entwickeln. Ziel war es, auf einer virtuellen Karte Transportaufträge von einem Server zu erhalten, passende Angebote zu erstellen und diese so zu kalkulieren, dass die Betriebskosten gedeckt – oder idealerweise sogar ein Gewinn erzielt – werden konnten. Am Ende sollte das gesamte System auch visuell dargestellt werden.

Herausforderungen und Fragestellungen

Während der Entwicklung gab es zahlreiche spannende Fragestellungen zu lösen – sowohl technischer als auch konzeptioneller Art:

Technische Aspekte:

  • Wo befindet sich mein Zug auf der Karte?
  • Von wo nach wo verläuft der Auftrag?
  • Wie lange dauert die Fahrt?
  • Wie groß ist das Ladevolumen des Auftrags?
  • Wie kalkuliere ich den Preis sinnvoll, sodass sich der Auftrag lohnt?
  • Welcher ist der effizienteste Weg auf der Karte?

Allgemeine Überlegungen:

  • Wie wird das Ganze grafisch dargestellt?
  • Wie wird die Karte „entdeckt“, wie werden neue Wege gefunden?
  • Wer übernimmt welche Aufgaben im Team?

Den betriebswirtschaftlichen Teil – also die Frage, ab wann ein Auftrag wirklich rentabel ist – haben wir zunächst außen vor gelassen. Gegen Ende des Projekts hatten wir noch Zeit, eine kleine „Notlösung“ einzubauen: ein Modus, in dem der Zug jeden Auftrag um jeden Preis annimmt, damit zumindest Bewegung auf der Karte stattfindet.

Meine Rolle im Team

Ich war unter anderem für die Webpräsentation, die Entwicklung der zentralen Algorithmen und deren Umsetzung zuständig. Die Webseite war schnell aufgebaut, und für die Pfadsuche entschied ich mich schließlich für eine modifizierte Version des Dijkstra-Algorithmus. Dafür musste ich mich zunächst intensiv in den bestehenden Java-Code einarbeiten – eine Herausforderung, da meine Java-Kenntnisse zu diesem Zeitpunkt noch ausbaufähig waren. Zum Glück konnte ich auf die Unterstützung meiner Kommilitonen zählen.

Zusätzlich habe ich auch die weniger beliebten Aufgaben übernommen: das Testen und die Dokumentation des Codes.

Fazit

Am Ende konnten wir mit unserem Projekt einen tollen zweiten Platz beim Abschlussturnier erreichen. Auch die schriftliche Ausarbeitung lief sehr gut – insgesamt also ein sehr gelungenes Projekt.

Besonders spannend war für mich der hohe Zeitdruck und die sich ständig ändernden Anforderungen. Es war das erste Mal, dass ich unter realistischen Projektbedingungen gearbeitet habe – mit allem, was dazugehört: Zeitmanagement, Teamarbeit und der Notwendigkeit, auch unter Stress gute Entscheidungen zu treffen. Dabei konnte ich wertvolle Einblicke in effektive (und weniger effektive) Teamführung gewinnen.