Ausgangssituation
Der Zusammenschluss mehrerer Personen zu einer Fahrgemeinschaft mit gemeinsamen Zielort wirft jeden Morgen die Frage nach der gerechten Fahrten-Verteilung unter den Teilnehmern auf.
- Wer nimmt heute an der Fahrt teil?
- Ist die Teilnehmerzahl für eine Autofahrt zu hoch ( >5 Personen) ?
- Wer ist heute mit dem Fahren dran?
- Benötigt heute jemand ein Auto und muss deswegen ungeachtet einer vorbestimmten Reihenfolge fahren?
- Wie behält man bei Ausfällen (z.B. Urlaub, Dienstreisen, Krankheit) von Personen eine gerechte Reihenfolge unter Berücksichtigung der vorherigen Fahrten bei?
- Wie geht man fair mit der Situation um, dass aufgrund schwankender Teilnehmerzahlen bestimmte Mitglieder schlechter besetzte Fahrten durchführen müssen?
Definition der Projektziele
- Minimierung des Koordinationsaufwands zwischen den Teilnehmern der Fahrgemeinschaft.
- Definition eines fairen Rechenmodells für die Punkteverteilung an die Fahrgemeinschaftsmitglieder
- nicht kostenorientiertes, geldloses Rechenmodell
- rein auf den Personentransport bezogen
Zielgruppe
Die angestrebten Nutznießer des Projektes sind vorwiegend Berufspendler und weitere Personen, die an der häufigen Inanspruchnahme einer Fahrgemeinschaft zu einem bestimmten Zielort, oder einer Teilstrecke interessiert sind.
Intention
Die Teilnehmer haben als Ziel die Minimierung ihrer Kraftstoff- und Kraftfahrzeugkosten und/oder ein Interesse den Schadstoffausstoß nachhaltig zu reduzieren.
Voraussetzungen und Prämissen
Die Teilnehmer…
- gehen den Kompromiss geregelter Abfahrtszeiten ein
- können sich arrangieren und gemeinsame Treffpunkte/Parkplätze finden
- haben ähnliche/gleiche Arbeitszeiten und/oder ein Arbeitszeitmodell (Gleitzeit), dass eine flexible Arbeitszeitgestaltung im Sinne der Fahrgemeinschaftsteilnehmer erlaubt.
Systemidee
Es wird ein mobilfähiges, webbasiertes Fahrgemeinschaftsportal geschaffen, dass das Gründen, Finden und Verwalten von Fahrgemeinschaften ermöglicht.
Das Herzstück der Anwendung ist ein punktebasiertes Rechenmodell, welches die Fahrerreihenfolge anhand der individuell erbrachten Vorleistungen/Fahrten der Fahrgemeinschaftsmitglieder bestimmt.
Feature Liste / Anwendungsfälle
Das System muss dem Benutzer die Möglichkeit bieten …
- Benutzer registrieren
- Benutzer per eMail freischalten
- Benutzerlogin
- Fahrgemeinschaft gründen
- Fahrgemeinschaft suchen
- Fahrgemeinschaft beitreten (evtl. über Freundschaftsanfrage)
- Teilnehmer anlegen
- Teilnehmer suchen
- Teilnehmer löschen
- Strecke suchen
- Strecke anlegen
- Strecke löschen
- Treffpunkt suchen
- Treffpunkt anlegen
- Treffpunkt löschen
- Fahrt anlegen
- Fahrt nachtragen (für ein Datum)
- Fahrt editieren (für ein Datum)
- Fairnessausgleich, wenn ein Benutzer öfter die Fahrten mit wenigen Teilnehmern erwischt.
Anforderungen
Ein Benutzer registriert sich bei der Fahrgemeinschaftsanwendung. Nachdem er seine Login-Daten per eMail erhalten hat, kann er sich im System einloggen.
Der Benutzer sucht nach Fahrgemeinschaften und kann diesen eine Freundschaftsanfrage senden, die durch den Fahrgemeinschaftsadministrator freigegeben wird.
Wenn die Freundschaftsanfrage vom Fahrgemeinschaftsadministrator genehmigt wurde, hat der Benutzer Zugriff auf die Strecke / die Strecken, die von der Fahrgemeinschaft angelegt wurden, und kann auf diesen Strecken teilnehmen.
Der Benutzer hat die Möglichkeit eine eigene Fahrgemeinschaft zu gründen, wenn für seine Strecken noch kein passender Eintrag existiert.
Eine Fahrgemeinschaft hat mindestens eine Strecke, die von einem Starttreffpunkt zu einem Zieltreffpunkt definiert ist.
Der Starttreffpunkt hat eine festgelegte Abfahrtszeit, der Zieltreffpunkt eine festgelegte Ankunftszeit.
Eine Fahrt findet zu einem Datum auf einer Strecke statt. Eine Fahrt besteht aus mindestens 2 Teilnehmern.
Ein Teilnehmer besitzt ein Punktekonto an einer Strecke, welches bei der Teilnahme als Nicht-Fahrer um einen Punkt (Streckenkonto = Streckenkonto – 1) reduziert wird.
Wenn der Teilnehmer als Fahrer ausgewählt wurde oder sich selbst anbietet, wird sein Punktekonto um die Anzahl der Mitfahrer erhöht (Streckenkonto = Streckenkonto + Anzahl d. Mitfahrer).
Wenn die Teilnehmerzahl die Transportkapazität einer Fahrt übersteigt, können mehrere Teilnehmer als Fahrer fungieren, die jeweils die Punkte gutgeschrieben bekommen, die der mitgenommenen Teilnehmerzahl entsprechen. Die Teilnehmer teilen die Fahrten dann selbständig auf.
Ein Punktekonto an einer Strecke kann unter Berücksichtigung der Plausibilität korrigiert werden, allerdings wird die Historie von Korrekturen namentlich und chronologisch vermerkt. Alte Einträge zu einem Datum werden also lediglich auf obsolet gesetzt, so dass die vollständige Historie erhalten bleibt.
Ein neuer Teilnehmer steigt in eine Strecke mit einem Punktestand von 0 Punkten ein, so dass die Summe aller Fahrten auf einer Strecke immer 0 ergibt.
Wenn ein Teilnehmer von einer Strecke entfernt wird, werden seine Fahrten durch die Anzahl der Teilnehmer geteilt und den übrigen Teilnehmern zugeordnet, so dass die Summe aller Fahrten auf einer Strecke wieder 0 ergibt.
Fairnessausgleich
Am Ende des Monats erfolgt ein Fairnessausgleich, der dazu dient, die Fahrten mit wenigen Teilnehmern auszugleichen. Hintergrund dieses Ausgleiches sind Beschwerden der einzelnen Teilnehmer über mangelnde Teilnahme an den Fahrten, die selbst angeboten werden:
Maskenentwürfe
tbd
Datenbankmodellierung als EER Diagramm
Download: MySQL Workbench 2.6: Fahrgemeinschaftsmodell
Download: SQL_Skript
Anwendungsarchitektur als UML Klassendiagramm
Diagramm StarUML2 Download: Fahrgemeinschaft_2014_12_25
Ergebnis
Screenshots
Live Demo
Benutzer: test
Passwort: test