Praxis der Software-Entwicklung (PSE)

Entwicklung einer Microservice-basierten Anwendung zum vorausschauenden Parken

Motivation

 

Die Forschungsgruppe Cooperation & Management (C&M) von Prof. Abeck beschäftigt sich mit der Entwicklung von verteilten, webbasierten Anwendungen. Ein Schwerpunkt liegt hierbei auf der Erforschung moderner Web-Technologien, die einen starken Einfluss auf unsere Projekte hat.

Durch "Praxis der Softwareentwicklung" (PSE) soll eine Anwendung für das Predictive Parking entwickelt werden. Im vergangenen Semester wurde bereits eine Microservice-Archirektur für die Connected-Car-Domäne aufgestellt. Eine Context Map modelliert die Microservice-Architektur der Connected-Car-Domäne. Die nun zu entwickelnde Anwendung des vorausschauenden Parkens soll in die Contex Map eingeordnet werden. Dies ermöglicht die Wiederverwendbarkeit von Microservices. Weiterhin lassen sich neue Microservices, welche für die Anwendung Predictive Parking benötigt werden, in die Context Map einordnen.

Aufgabenstellung

Es soll eine Anwendung zum vorausschauenden Parken entwickelt werden. Das Ziel hierbei ist, die Suche nach Parkplätzen für Autofahrer zu vereinfachen. Hierzu soll eine Webanwendung entwickelt werden, mit der strategisch freie Parkplätze gefunden werden können.  Zusätzlich könnte eine Navigation zu den Parkplätzen erfolgen. Dazu zählt sowohl die Entwicklung eines flexiblen, auf einer Microservice-Architektur aufbauenden, Backends als auch die Entwicklung eines interessanten und modernes Frontends.

Dabei könnt ihr kreativ eure eigenen Ideen mit in das Projekt einbringen und somit zum Erfolg des Projekts beitragen.

 

Wir bieten:

  • Design von Microservices
  • Entwicklung von Front- und Backend
  • Continuous Integration / Delivery mit Docker
  • Neue und hochaktuelle Technologien
  • Ein PSE-Projekt das wirklich eingesetzt werden soll!

 

Das Projekt wird in Kooperation mit dem IOSB entwickelt.

 

Technologien und Entwicklungsumgebung

Übersicht der Technologien (HTML5, CSS3, JavaScript, AngularJS, Cucumber, Apache Cordova, OpenAPI, Spring)Als Technologie wird clientseitig HTML5, CSS und TypeScript eingesetzt. Die Entwicklung wird durch Einsatz von verschiedenen Bibliotheken unterstützt. Angular verwenden wir zur strukturierten Entwicklung im Frontend. Es erleichtert die Entwicklung an vielen Stellen und ermöglicht eine Modularisierung der Anwendung. Das CSS-Framework Bootstrap wird eingesetzt, um die Darstellung der Services der Anwendung zu vereinheitlichen und um es dem Entwickler zu ermöglichen die Aufmerksamkeit auf die Funktionalität statt auf das Design setzen zu können. Zur Bereitstellung der Web-App auf mobilen Endgeräten wird das Framework Apache Cordova eingesetzt.

Auf der Server-Seite werden die Microservices als Java-basierte RESTful Webservices mit Spring bereitgestellt. Mit Hilfe des Spring-Frameworks können mit wenigen Zeilen Java-Quellcode Services samt Datenbankanbindung aufgesetzt werden. So kann sich auch hier auf die Geschäftslogik der Dienste statt auf Infrastrukturaufgaben konzentriert werden.

Zur Einführung in die verschiedenen Technologien werden Workshops mit tatkräftiger Unterstützung unserer Bachelor- und Masterstudierenden angeboten. Einem reibungsfreien Start in das Praktikum und die Technologien steht somit nichts im Weg.

 

Organisatorisches

Ablauf der Veranstaltung

Die genauen Termine werden mit den Mitgliedern des Projektteams im ersten Teamtreffen besprochen und festgelegt. Geplant sind wöchentliche Besprechungstermine, jeweils mittwochs von 12 bis 13 Uhr.

Die erste Besprechung findet am Mittwoch, den 08.05.2019, um 12.00 Uhr im Raum 032 (Erdgeschoss) in Geb. 50.34, statt.

 

Arbeitsweise

Um einen reibungslosen Ablauf des Veranstaltung zu gewährleisten und um ein Zusammenarbeit zwischen Forschungs- und Lehrbetrieb zu ermöglichen, sind die Studierenden aufgefordert, sich an die in der C&M-Arbeitsweise bestehenden Rahmenbedingungen zu orientieren. Diese Rahmenbedingungen umfassen u.a.

  • Regelmäßige Projektteamtreffen zur Besprechung von Problemen und Aufgaben
  • Bei der Entwicklung erfolgt des Backends und Frontends kommen verschiedene Frameworks zum Einsatz
  • Die Ausarbeitung der abzugebenden Dokumente, wie z.B. Pflichtenheft, Entwurfsdokumentation, Implementierungsplan, etc. erfolgt durch MS Office (optional auch LaTeX) und die KIT-Teamserver-Dienste (MS SharePoint)
  • Git wird als Versionskontrolle der Entwicklungsartefakte (Modelle, Quellcode, Konfiguration, Berichte, etc.) eingesetzt