Der Reise-Butler ist die Smartphone-App für den wissbegierigen Reisenden und Fallbeispiel für die Methode CARDS+.


Die Studenten haben in den nächsten beiden Wochen Klausuren. Aus diesem Grund fällt nächste Woche der gemeinsame Termin aus. Moritz nutzt die Zeit, um die Erkenntnisse aus den letzten beiden Workshops mit dem Team aufzuarbeiten. Er beginnt mit einer Abbildung für den Komponentenüberblick. Er verwendet dabei eine sehr einfache Bildsprache mit wenigen Elementen, die er aus der Wiki-Vorlage der Methode CARDS+ übernommen hat.

Der Komponentenüberblick hat eine sehr einfache Bildsprache mit wenigen gut unterscheidbaren Elementen. Ein Klick auf einen Text in blauer Schrift öffnet die entsprechende Seite im Wiki mit den Details zur Komponente.

Mit der Darstellung will Moritz die Grundsätze der Architektur klar machen. Ganz offensichtlich soll das System dem Microservice-Konzept folgen. Im Backend sind alle Datenflüsse event-basiert. Dadurch wird das System sehr robust und skaliert sehr gut. In der Assistenz empfiehlt Moritz ebenfalls eine event-basierte Datenverarbeitung mit Benachrichtigungen für die App, wenn neue Daten für den Abruf bereitstehen. Allerdings ist ihm bewusst, dass eine Smartphone-App nicht mit Events alleine funktionieren wird. Beim Start der App müssen Daten geladen werden. Auch die Größe der Datenpakete ist bei asynchroner Datenübertragung (z.B. Firebase von Google) in der Regel begrenzt. Größere Datenmengen, z.B. Bilder, müssen vom Smartphone aktiv geladen werden.

Für alle Komponenten im Überblick legt Moritz eine Seite mit dem Baustein Service an. Diese Service-Seiten sollen in der nächsten Zeit der Anker für Diskussionen sein, wie die Komponenten technisch realisiert werden. Jeder Entwickler kann sich jederzeit über eine Komponente informieren oder bei Fragen oder Vorschlägen einen Kommentar hinterlassen. Das ist ein wichtiger Punkt für das nächste Meeting mit dem Team. Dafür legt er gleich eine Erinnerung in seinem Kalender an.

Die Fachklassen für die Bereiche Wissen, Fahrt und die Assistenz erfasst Moritz als einfache Klassendiagramme mit UML. Aber auch hier will er sich auf die wesentlichen Elemente für Klassen und Beziehungen konzentrieren. Er beschränkt sich auf die seiner Einschätzung nach wichtigsten Attribute. Auf Methoden verzichtet er ganz. Ziel dieser Fachklassenmodelle ist eine gute Darstellung der Zusammenhänge. Es ist definitiv kein Ziel, die Objekte vollständig mit Attributen, Methoden und Typen zu modellieren.

 

Ein Klick auf einen Text in blauer Schrift öffnet die Entity-Seite im Wiki mit den Details zu diesem Informationsobjekt.

Ein Klick auf einen Text in blauer Schrift öffnet die Entity-Seite im Wiki mit den Details zu diesem Informationsobjekt.

Ein Klick auf einen Text in blauer Schrift öffnet die Entity-Seite im Wiki mit den Details zu diesem Informationsobjekt.

Auch die Diskussion um die Übersetzung von Begriffen möchte er festhalten. Dazu verwendet er den Baustein Decision.

In der Ausgangslage versucht Moritz, seine persönlichen Annahmen festzuhalten. Dazu zählt die Verwendung eines Glossars. Er ist sich allerdings bewusst, dass die Pflege der Glossareinträge vorerst seine Aufgabe ist. Außerdem erklärt er die Wichtigkeit einer gemeinsamen Sprache im Projekt.

Bei der Beschreibung der Lösung hält er sich kurz. Jede der gewählten Lösungen erfordert ein bestimmtes Vorgehen, dass sich stark auf das Team und auf die Regeln im Team für das Programmieren und Testen auswirkt. Da aber die Entscheidung aus seiner Sicht klar die Lösung A ist, also keine Übersetzung von Begriffen im Code, will er in der Begründung diese Lösung etwas genauer spezifizieren.

Moritz schreibt die Beispiele auf, die sie gemeinsam diskutiert haben und ergänzt noch zwei weitere für die Zugnummer und den Verkehrsverbund. Danach formuliert er den Lösungsansatz, der die Verwendung nicht übersetzter Begriffe im Code ermöglichen soll. Die Vorschläge muss das Team natürlich in die Spielregeln für das Programmieren übernehmen.

Die ohne Frage kreativen Ideen der letzten Wochen sind nun gesichert. Die ersten fundamentalen Entscheidungen wurden getroffen und sind dokumentiert. In den nächsten Tage will Moritz die Inhalte im Wiki Korrektur lesen und alle seiner Einschätzung nach wichtigen Begriffe ins Glossar übernehmen.

Zuletzt veröffentlichte Beiträge: