Praxis der Software-Entwicklung
im Sommersemester 2020
- Teilnahme: Die Teilnehmerzahl ist auf zwei Teams zu je 5 Personen beschränkt. Die Anmeldung erfolgt zentral während der ersten Vorlesungswochen.
Termine
Die Auftaktveranstaltung zu PSE findet dieses Semester am Freitag, 24. April 2020, um 14:00 Uhr (als Live-Stream) statt. Hier werden die einzelnen Themen in Kurzpräsentationen vorgestellt. Die Teams werden dann via ODYSSEE eingeteilt.
Der Termin für die Einführungsveranstaltung wird noch bekannt gegeben.
Es wird ein wöchentliches Treffen geben. Der Termin dafür wird in der Einführungsveranstaltung abgesprochen. Es ist geplant, dass die Einführungsveranstaltung sowie sämtliche Treffen online stattfinden, voraussichtlich unter Verwendung von Microsoft Teams.
Aufgabenstellung
Ziel dieser Veranstaltung ist die Planung und Implementierung einer Routingsoftware für den KIT-Campus. Für einen Benutzer soll es dabei möglich sein, ein Gebäude oder auch einen Raum innerhalb eines Gebäudes als Start- bzw. Zielpunkt festzulegen. Ihre Routingsoftware soll dann in der Lage sein, eine kürzeste Route vom Start- zum Zielpunkt zu berechnen und anzuzeigen. Außerdem sollte Ihre Software eine komfortable Möglichkeit bereit stellen, die zugrunde liegenden Kartendaten zu bearbeiten.
Wenn nichts anderes vereinbart wird, soll das System als Desktopanwendung umgesetzt werden. Wenn von allen Teammitgliedern gewünscht, sind auch andere Darstellungsformen wie eine Android-App oder eine Webanwendung möglich.
Ablauf und vorläufiger Zeitplan
Neben der Qualität des von Ihnen erstellten Systems, steht das Vorgehen nach einem Prozessmodell der Softwaretechnik bei diesem Projekt genauso im Vordergrund. Zu jeder Projektphase ist ein Dokument zu erstellen, das den Ablauf der jeweiligen Phase bzw. deren Ergebnisse beschreibt.
Ein Ablaufplan wird noch bekannt gegeben.
Materialien
Software
Die im Folgenden vorgestellten Werkzeuge und Frameworks sind Empfehlungen unsererseits. Sofern nicht anders abgesprochen soll Java als Programmiersprache verwendet werden. Wenn alle einverstanden sind und entsprechende Vorkenntnisse vorhanden sind kann auch C++ verwendet werden. Sollten Sie eine andere Programmiersprache bevorzugen, dann sprechen Sie dies bitte mit den Betreuern ab. Sie sind dabei in jedem Fall frei in der Wahl der verwendeten Frameworks und Bibliotheken, sofern diese die Aufgabenstellung nicht unverhältnismäßig vereinfachen.
Entwicklungsumgebungen
Versionsverwaltung
git ist eine freie Versionsverwaltungssoftware für Dateien. Kostenfreie Repositories für private Nutzer sind z.B.: GitHub und Bitbucket. Wir empfehlen die Gitlab-Instanz des SCC.
Validierungswerkzeuge
- Automatisiertes Messen der Unit Test Qualität (Mutation Tests): Judy (Testen der Tests)