Wintersemester 2020/21
Praxis der Softwareentwicklung (PSE)
Thema: Entwicklung eines digitalen Klassenbuchs für den Einsatz an Schulen
Prof. Dr. Bernhard Beckert, Prof. Dr. Carsten Sinz, Dr. Mattias Ulbrich, Marko Kleine Büning
Aktuelles
Die Lehrveranstaltung wird online stattfinden, weitere Informationen auf den Seiten des Lehrstuhls für Programmierparadigmen!
Allgemeines
In "Praxis der Softwareentwicklung" (PSE) lernen die Teilnehmer, ein vollständiges Softwareprojekt nach dem Stand der Softwaretechnik in einem Team mit etwa 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.
Allgemeine Informationen zum Bachelor-Modul inklusive formaler Voraussetzungen und Prüfungsmodalitäten sind auf den Seiten des Lehrstuhls für Programmierparadigmen am IPD zu finden. Außerdem gibt es für PSE in diesem Semester einen (allgemeinen) ILIAS-Kurs.
Hintergrund
Dieses PSE-Projekt wird im Rahmen des Projekts OSL2 (Open-Source-Lehrsoftware-Labor) durchgeführt.
Motivation
Das traditionelle Klassenbuch:
- Einträge für Noten, Fehlzeiten, Dienste, und so weiter
- Ein Buch für eine Klasse, nicht für einen Lehrer
- Keine Auswertungen von Daten (z. B. Fehlzeiten) möglich
- Keine zusätzlichen Notizen und Planungen möglich
Das digitale Klassenbuch:
- Einträge für Noten, Fehlzeiten, Dienste, und so weiter
- Ein digitales Buch für einen Lehrer
- Applikation gibt einfache Übersicht und Auswertungen über alle aufgenommenen Daten
- Möglichkeit für zusätzliche Notizen und Kommentare
Rahmenbedingungen
Aufgabenstellung:
- Entwurf und Implementierung des digitalen Klassenbuchs für den Einsatz an Schulen
- Implementierung als Desktop-Applikation für Microsoft Windows
- Daten dürfen nur verschlüsselt und durch Passwort gesichert erreichbar sein
- Als Programmiersprache wird Java empfohlen
Open-Source Software:
- Wir möchten die Software gerne als Open-Source Projekt behandeln
- Es gibt viele Vorteile, z. B. Weiterentwicklung und wirklicher Einsatz von Lehrern
Hinweise und Erwartungen
- Aktives Source Code Management mittels eines Versionsverwaltungssystems
- Automatische Softwaretests
- Kontinuierliche Integration
- Anwendung bzw. Einhaltung von Design Patterns, Best Practices, und Style-Konventionen
- Kommentierter Quellcode, sowie Dokumentation und Testprotokolle