Home  | Impressum | Sitemap | KIT

Praxis der Software-Entwicklung (PSE)

Praxis der Software-Entwicklung (PSE)
Typ: Praktikum Links:
Lehrstuhl: ITM Abeck
Semester: Winter- und Sommersemester
Ort: Seminarraum 173
RZ/SCC (Geb. 20.20)
Zeit:

Donnerstags, 14:00 - 15:00 Uhr

Dozent:
Prof. Sebastian Abeck 
Roland Steinegger
SWS: 4
ECTS: 6 + 2
LVNr.: 24306

Entwicklung eines SmartCampus-Microservices (HTML5, CSS3, Javascript, Java, REST)

  Motivation

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

Im Wintersemester 2016/2017 wird in der Veranstaltung "Praxis der Softwareenwicklung" (PSE) der SmartCampus zur Unterstützung von Studierenden bei der Verwaltung ihrer Abschlussarbeiten am KIT weiterentwickelt. Dazu zählt sowohl die Entwicklung eines flexiblen, auf einer Microservice-Architektur aufbauenden, Backends als auch eines interessanten und modernen Frontends. Unser Ziel ist die Bereitsstellung des SmartCampus für die Studierenden als öffentlich zugänglichen Dienst.

 

Hintergrund

Der SmartCampus ist eine web-basierte Anwendung, die seinen Benutzern – den Studierenden, Mitarbeitern und Gästen des KIT – den Campusalltag durch smarte Funktionen erleichtert. Die Services sollen die Benutzer auch über ihre mobilen Geräte – insbesondere ihren Smartphones – nutzen können. Auf unserer Webseite gibt es mehr Informationen zu unserem SmartCampus-Projekt.

Eine Testversion des SmartCampusbarrierefrei kann unter smartcampus.cm.tm.kit.edu betrachtet werden.

Überblick über den SmartCampus, die verschiedenen Services und Technologien.

Aufgabenstellung

In diesem Semester habt ihr die Chance eure Ideen einzubringen. Der SmartCampus wird für euch und durch euch um eine Abschlussarbeitsverwaltung erweitert. Welche Feature wollt ihr beim Schreiben eurer Bachelorarbeit? Wie sieht die Verwaltung 2.0 aus?

Wir bieten:

  • Mockup der mobilen Ansicht des WorkplaceServiceDesign von Microservices
  • Entwicklung von Front- und Backend
  • Continuous Integration / Delivery mit Docker
  • Neue und hochaktuelle Technologien
  • Ein PSE-Projekt das wirklich eingesetzt werden soll!

 

Ein besonderes Augenmerk legen wir bei Cooperation & Management
auf die Qualität der entwickelten Software. Zur Qualitätssicherung setzen wir auf die Qualitätssicherungsplattform SonarQube. Mit SonarQube wird erreicht, dass die entwickelten Artfakte auf bestimmte Eigenschaften überprüft werden und der Entwickler ein direktes Feedback erhält. So ist sichergestellt, dass die Studierenden bei uns lernen, bestimmt Eigenschaften guter Software einzuhalten.

 

Technologie und Entwicklungsumgebung

 

Als Technologie wird clientseitig HTML5, CSS3 und JavaScript eingesetzt. Die Entwicklung wird durch Einsatz von verschiedenen Bibliotheken unterstützt. Angulat JS 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 des SmartCampus zu vereinheitlichen und um es dem Entwickler zu ermöglichen die Aufmerksamkeit auf die Funktionalität statt auf das Design setzen zu können.

Auf der Server-Seite werden die KIT-Smart-Campus-Services als Java-basierte RESTful Webservices mit Spring bereitgestellt. Mit Hilfe des Spring-Frameworks können mit wenigen Zeilen Java-Quellcode Services samt Datenbankbindung 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 Besprechungtermine jeweils donnerstag von 10 bis 11 Uhr.

Die erste Besprechung findet am Donnerstag , den 10.11.2016, um 10.00 Uhr im Raum 173 im SCC (Geb. 20.20, rechter Flügel im ersten Stock) statt.

 

Lernziele

 

In "Praxis der Softwareentwicklung" (PSE) lernen Sie, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit 5 bis 6 Teilnehmern durchzuführen. Ziel ist es insbesondere, Verfahren des Software-Entwurfs und der Qualitätssicherung praktisch einzusetzen, Implementierungskompetenz umzusetzen, und arbeitsteilig im Team zu kooperieren. Darüber hinaus ist es Ziel der Veranstaltung "Teamarbeit in der Softwareentwicklung", Kompetenz im Umgang mit Teammitgliedern, bei der Präsentation von Inhalten, Einarbeitung in bestehende Arbeitsweisen, Anwesenheit und aktive Mitarbeit in Besprechungen u.a. zu erwerben. 

Voraussetzung

Der erfolgreiche Abschluss der Module „Grundbegriffe der Informatik“, „Programmieren“ und „Höhere Mathematik“ beziehungsweise „Lineare Algebra“ wird vorausgesetzt. Das Modul muss zusammen mit dem Modul Teamarbeit in der Software-Entwicklung [IN2INSWPS] belegt werden.

Empfehlung: PSE sollte erst belegt werden, wenn alle Scheine aus den ersten beiden Semestern erworben wurden

Prüfung

Die Erfolgskontrolle erfolgt nach § 4 Abs. 2 Nr. 3 SPO als benotete Erfolgskontrolle anderer Art. Die Artefakte werden separat benotet und gehen mit folgendem Prozentsatz in die Gesamtnote ein: Pflichtenheft 10%, Entwurf 30%, Implementierung 30%, Qualitätssicherung 20%, Abschlusspräsentation 10%

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
  • Die Entwicklung erfolgt mit der Entwicklungsumgebung Eclipse und zur Entwicklung des Frontends und des Backends kommen verschiedene Frameworks zum Einsatz.
  • Die Ausarbeitung der abzugebenden Dokumente, wie z.B. Pflichtenheft, Entwurfsdokumentation, Implementierungsplan, etc. erfolgt durch MS Office und die KIT-Teamserver-Dienste (MS SharePoint)
  • Git als Versionskontrolle der Entwicklungsartefakte (Modelle, Quellcode, Konfiguration, Berichte, etc.) über MS Team Foundation Server