Skip to content

Developer Guidelines How it Works

Moritz Mistol edited this page Sep 26, 2022 · 1 revision

Anwendungsfalldiagramm

Klassendiagramm - Anwendungsfalldiagramm (2)

Aufbau des Programms

DataManager und DataLoader

Der zentrale Baustein des Programms ist der DataManager. Hier werden zunächst nach Aufrufen der Funktion init() über den DataLoader alle Daten der Trips, User etc., welche in JSON Files gespeichert sind, geladen, in entsprechende DataFields der Klassen Trip, User etc. umgewandelt und dann in Arrays gespeichert. Außerdem hält sich der DataManager eine Instanz der RiskManager Klasse. Über diese erhält er Zugriff auf die Risiken der verschiedenen Daten, auf ihre jeweiligen Sichtbarkeiten und zu den passenden Erklärungs-Strings. Im DataPackage befindet sich jeweils der passende Trip und das passende Vehicle zu den aktuell abgefragten Daten. Mit diesen lassen sich auch die anderen Informationen finden. Klassendiagramm - Copy of Klassendiagramm (1)

RiskManager

Der RiskManager verwaltet alles, was mit den verschiedenen Risikostufen und Erklärungstexten zu den verschiedenen Daten zu tun hat. Dazu beinhaltet er ein Array mit allen möglichen Instanzen der Klasse Risk. In jeder Instanz von Risk ist ein DataType und eine Role enthalten. Außerdem befindet sich dort die zum DataType gehörende RiskExplanation, die Sichtbarkeit betrachtet von der enthaltenen Rolle, und das passende RiskLevel. Die RiskExplanation-Klasse stellt einen String mit der Erklärung zu dem Datum bereit, von diesem gibt es je zwei Versionen, eine, falls das Datum sichtbar ist, und eine, falls nicht. Klassendiagramm - Copy of Klassendiagramm (3)

DataFields

Es gibt fünf verschieden Kategorien von DataFields: User, Payment, Trip, Vehicle und Company. Jedes DataField kann über eine id identifiziert werden. Dabei kennt jeweils der Trip die ids des zu ihm gehörgien User, Payment und Vehicle. Von den Klassen Payment und Vehicle existieren jeweils Unterklassen. So kann zwischen verschiedenen Zahlungsarten und Fahrzeugen differenziert werden. Klassendiagramm - Copy of Klassendiagramm (5)