CLOSED - (M)PSD: Info App

CLOSED - Projekt Systementwicklung

Im Projekt Systementwicklung bearbeiten Studierende im Team unter praxisnahen Bedingungen eine gegebene Themenstellung aus der Informatik.

Der Dozent nimmt hierbei die Rolle des Auftraggebers / Kunden ein. Gleichzeitig unterstützt er das Team aber als leitendes Mitglied, um insbesondere in der Anfangsphase die Weichen richtig zu stellen und das Projekt ins Rollen zu bringen.

Über die Projektlaufzeit nehmen die studentischen Teammitglieder für gewöhnlich wechselnde Rollen (Projektleiter, Architekt, Entwickler, Tester, ...) ein, und lernen so die Projektarbeit aus verschiedenen Perspektiven kennen.

In einer Einführungsveranstaltung wird zunächst die Aufgabenstellung dargelegt und die Rahmenbedingungen erläutert. Während des Projekts finden wöchentliche Projektsitzungen statt, in denen die Ergebnisse der vergangenen Woche vorgestellt und die Ziele der kommende(n) Woche(n) festgelegt werden.

Themenstellung

Wir erklären die Aufgabenstellung am Beispiel einer Kindertagesstätte (KiTa). Dieses Beispiel dient dann zugleich als Anwendungsfall für den zu entwickelnden Prototyp. Es ist leicht zu sehen, dass die Idee für viele weitere Anwendungsgebiete analog zutrifft.

Problemstellung

Eltern geben ihre Kinder an Wochentagen einige Stunden in die Obhut von KiTas. In der Zeit die die Kinder dort verbringen, gibt es verschiedene Ereignisse über die viele Eltern (zum Teil täglich) unterrichtet werden möchten. Beispiele sind:

  • Hat mein Kind geschlafen? Wie lange?
  • Was hat mein Kind gegessen? Wieviel?
  • War mein Kind heute draußen (auf dem KiTa Spielplatz)?
  • Mit was oder wem hat mein Kind heute besonders gerne gespielt?
  • Gibt es Änderungen im normalen Tagesablauf?
  • etc.

Aktuell ist es so, dass die Eltern beim Abholen des Kindes die zuständigen Erzieher befragen. Dabei zeigen sich aber diverse Probleme, beispielsweise:

  • Die Erzieher müssen sich alles merken. Dabei kann es schon mal vorkommen dass Fakten vergessen oder den falschen Kindern zugeordnet werden.
  • Oder es hatte gerade ein anderer Erzieher Aufsicht, der dann zusätzlich befragt werden muss, sofern klar ist wer konkret dabei war.
  • Oder der Erzieher ist bei Abholung nichtmehr da. Dann muss das Wissen entweder an andere Erzieher weitergegeben werden (die sich dann noch mehr merken müssen), oder die Eltern fragen am nächsten Tag die (alten) Informationen ab. Beides macht die Situation nicht besser.
  • etc.

Sowohl die Eltern als auch die Erzieher wünschen sich eine bessere Art diese Informationen zu verwalten und weiterzugeben. Es gibt diverse angedachte Lösungen, die sich als unpraktikabel herausgestellt haben. Diese Lösungen scheitern häufig daran, dass es den Erziehern praktisch unmöglich ist die Fakten im normalen KiTa-Betrieb aufzuschreiben oder gar einzutippen. Nicht zuletzt verursachen manche Lösungen Privacy-Bedenken, da nur die jeweiligen Eltern über ihr jeweiliges Kind unterrichtet werden sollen, und nicht z.B. alle Eltern der Gruppe.

Lösungsansatz / Aufgabenstellung

Ziel ist die Erfassung, Verwaltung und Verteilung der Daten soweit wie möglich zu automatisieren.

Dazu sollen die Daten von den Erziehern als gesprochene natürlichsprachliche Sätze während des normalen Tagesablaufs erfasst werden. Als Aufnahmegeräte sollen z.B. Smart-Watches dienen, die entweder direkt oder über ein Mobiltelefon mit dem Internet verbunden sind. Es stehen bereits zwei moderne Mobiltelefone und zwei moderne Smart-Watches zur Verfügung (Android bzw. iOS). Die Verwendung anderer oder zusätzlicher Geräte ist denkbar.

Die Interpretation und Umwandlung der Audiodaten in andere Formate, z.B. Text, die für die weiteren Prozessschritte besser geeignet sind, erfolgt entweder auf dem Endgerät oder im Backend. Letztendlich muss auch zwischen dem gesprochenen Namen des Kindes (zur Zuordnung) und dem eigentlichen Inhalt unterschieden werden. Der Urheber der Informationen kann im einfachsten Fall über die jeweiligen Login-Daten festgestellt werden, im fortgeschrittenen Fall kann z.B. eine Sprechererkennung erfolgen. Das Backendsystem kann z.B. auf Amazon Cloud Services (AWS) umgesetzt werden. Dort stehen einschlägige Dienste zur Transkription (Transcribe) von Audiodaten und Interpretation natürlicher Sprache (Comprehend) zur Verfügung. Zusätzlich steht dort mit Amplify ein Werkzeug zur einfachen Mobile-App-Entwicklung bereit. Andere oder zusätzliche technische Lösungen sind denkbar und werden teilweise bereits evaluiert. Beispiele hierfür sind die Web-Speech-API, Alexa oder die Umsetzung mit Docker und das Deployment in einem Kubernetes-Cluster (z.B. AWS oder h_da).­­­­­

Die Daten werden den Eltern dann über das Internet zur Verfügung gestellt. Dabei sehen Eltern nur die Daten die ihre eigenen Kinder betreffen. Als Endgeräte der Eltern dienen z.B. Mobiltelefone mit entsprechender App. Andere oder zusätzliche Bereitstellungswege sind denkbar.

Projekt

Als Vorgehensmodell für agile Softwareentwicklung soll Scrum zum Einsatz kommen. Es werden die üblichen Entwicklungstools eingesetzt, vorzugsweise solche, die bereits am Fachbereich vorhanden sind z.B. GIT Repository, Scrum Board, etc.

Die verwendeten Programmiersprachen hängen unter Anderem von den letztendlich verwendeten Endgeräten und Cloud-Services ab. Es bieten sich zunächst Java und/oder C++ (für Backend und Android-Geräte) bzw. Swift (für iOS) an. Die Verwendung von Cross-Plattform Technologien, z.B. Xamarin, ist denkbar.

Die folgende Liste ist eine erste Version der groben Projektbausteine (im agilen Sinn, d.h. nichts ist in Stein gemeißelt, kurze Iterationszyklen, überlappende Ausführung):

  • Anforderungsanalyse
  • Definition des Minimal Viable Products
  • High-Level Architektur
  • Testen vorhandener / vorgeschlagener Hardware und Software / Services
  • Identifizierung der Technologie-Gaps
  • Schließen der Technologie-Gaps
  • System und Softwareimplementierung

Dabei sollen mindestens die folgenden Prinzipen / Anforderungen erfüllt werden:

  • Security by Design
  • Privacy by Design
  • Skalierbarkeit
  • Robustheit
  • Internationalisierung

Der konkrete Umfang und die Ausbaustufe des Projekts hängen unter Anderem von der Teamgröße (Teilnehmerzahl) und den technischen Möglichkeiten ab. Die aktuell vorhandene Ausbaustufe ist eine technische Machbarkeitsstudie in Form einer Implementierung eines Ende-zu-Ende Workflows mit minimalem Funktionsumfang. Das Ziel für das anstehende Semester ist eine erste prototypische Implementierung. Es ist geplant das Projekt in zukünftigen Veranstaltungen weiterzuführen. Das Projekt steht unter der MIT Lizenz.

Für weitere Fragen zum Projekt kontaktieren Sie uns gerne per Email.

Prof. Dr. A. Wiesmaier
Hochschule Darmstadt

Contact

Prof. Dr. Alexander Wiesmaier

Communication Schöfferstraße 10
64295 Darmstadt
Office: D19, 2.09

+49.6151.533-60185
alexander.wiesmaier@h-da.de

1

Consultation
Nach Vereinbarung / by appointment