htw saar Piktogramm QR-encoded URL
Zurück zur Hauptseite Version des Moduls auswählen:
Lernziele hervorheben XML-Code


Entwicklung plattformunabhängiger Desktop-Anwendungen

Modulbezeichnung:
Bezeichnung des Moduls innerhalb des Studiengangs. Sie soll eine präzise und verständliche Überschrift des Modulinhalts darstellen.
Entwicklung plattformunabhängiger Desktop-Anwendungen
Studiengang:
Studiengang mit Beginn der Gültigkeit der betreffenden ASPO-Anlage/Studienordnung des Studiengangs, in dem dieses Modul zum Studienprogramm gehört (=Start der ersten Erstsemester-Kohorte, die nach dieser Ordnung studiert).
Praktische Informatik, Bachelor, SO 01.10.2026
Code: PIB-EPDA
SWS/Lehrform:
Die Anzahl der Semesterwochenstunden (SWS) wird als Zusammensetzung von Vorlesungsstunden (V), Übungsstunden (U), Praktikumsstunden (P) oder Projektarbeitsstunden (PA) angegeben. Beispielsweise besteht eine Veranstaltung der Form 2V+2U aus 2 Vorlesungsstunden und 2 Übungsstunden pro Woche.
2V+2U (4 Semesterwochenstunden)
ECTS-Punkte:
Die Anzahl der Punkte nach ECTS (Leistungspunkte, Kreditpunkte), die dem Studierenden bei erfolgreicher Ableistung des Moduls gutgeschrieben werden. Die ECTS-Punkte entscheiden über die Gewichtung des Fachs bei der Berechnung der Durchschnittsnote im Abschlusszeugnis. Jedem ECTS-Punkt entsprechen 30 studentische Arbeitsstunden (Anwesenheit, Vor- und Nachbereitung, Prüfungsvorbereitung, ggfs. Zeit zur Bearbeitung eines Projekts), verteilt über die gesamte Zeit des Semesters (26 Wochen).
5
Studiensemester: 4
Pflichtfach: nein
Arbeitssprache:
Deutsch
Prüfungsart:
Projektarbeit

[letzte Änderung 17.03.2026]
Verwendbarkeit / Zuordnung zum Curriculum:
Alle Studienprogramme, die das Modul enthalten mit Jahresangabe der entsprechenden Studienordnung / ASPO-Anlage.

PIB-EPDA Praktische Informatik, Bachelor, SO 01.10.2026 , 4. Semester, Wahlpflichtfach
Arbeitsaufwand:
Der Arbeitsaufwand des Studierenden, der für das erfolgreiche Absolvieren eines Moduls notwendig ist, ergibt sich aus den ECTS-Punkten. Jeder ECTS-Punkt steht in der Regel für 30 Arbeitsstunden. Die Arbeitsstunden umfassen Präsenzzeit (in den Vorlesungswochen), Vor- und Nachbereitung der Vorlesung, ggfs. Abfassung einer Projektarbeit und die Vorbereitung auf die Prüfung.

Die ECTS beziehen sich auf die gesamte formale Semesterdauer (01.04.-30.09. im Sommersemester, 01.10.-31.03. im Wintersemester).
Die Präsenzzeit dieses Moduls umfasst bei 15 Semesterwochen 60 Veranstaltungsstunden (= 45 Zeitstunden). Der Gesamtumfang des Moduls beträgt bei 5 Creditpoints 150 Stunden (30 Std/ECTS). Daher stehen für die Vor- und Nachbereitung der Veranstaltung zusammen mit der Prüfungsvorbereitung 105 Stunden zur Verfügung.
Empfohlene Voraussetzungen (Module):
PIB-PR1 Programmierung 1
PIB-PR2 Programmierung 2
PIB-PR3 Programmierung 3
PIB-SWT Softwaretechnik


[letzte Änderung 18.03.2026]
Als Vorkenntnis empfohlen für Module:
Modulverantwortung:
Prof. Dr.-Ing. Martin Burger
Dozent/innen:
Dipl.-Inf. Christopher Olbertz


[letzte Änderung 18.03.2026]
Lernziele:
Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage plattformunabhängige Desktop-Anwendungen mit grafischem User Interface zu entwerfen, zu implementieren, zu testen und zu deployen. Sie können ein Softwareprojekt mit geeigneten Build-Werkzeugen aufsetzen, eine geeignete Architektur für Desktop-Anwendungen entwerfen sowie grafische Benutzeroberflächen planen und implementieren. Darüber hinaus sind sie in der Lage, Anwendungen responsiv und fehlertolerant zu entwickeln und unter verschiedenen Gesichtspunkten zu testen. Außerdem kennen sie Möglichkeiten, Daten außerhalb von Datenbanksystemen zu speichern und auszutauschen, beispielsweise über JSON-, XML- oder CSV-Formate.

[letzte Änderung 17.03.2026]
Inhalt:
1. Einführung
- Was sind Desktop-Anwendungen?
- Überblick über den Technologie-Stack
- Überblick über Alternativen
- Vergleich mit CommandLine-Interface (CLI) und Web-Technologien
- Vertiefung Apache Maven
- Einführung Gradle
 
2. JavaFX Grundlagen
- Scene Graph
- Layouts
- Controls
- FXML
- Ereignisbehandlung
 
3. Strukturierung von Desktop-Anwendungen
- MVC / MVVM in JavaFX
- Controller-Struktur
- Model-Klassen
- Trennung von UI, Logik und Persistenz
- Verwendung von Interfaces in Desktop-Anwendungen
- Modularer Aufbau von Desktop-Anwendungen
 
4. Nebenläufigkeit in Desktop-Anwendungen
- UI Thread
- Hintergrundaufgaben
- JavaFX Task / Service
- Progress Bars
- Responsiveness
 
5. Robustheit in Desktop-Anwendungen
- Exception Handling und Exception Tunneling
- Fehlerdialoge
- Logging
- Validierung
- Defensive Programmierung
 
6. Testen von Desktop-Anwendungen
- Testen der Modellklassen mit JUnit
- Testen der grafischen Oberfläche mit TextFX
- Testen der Architektur mit ArchUnit
- Testabdeckung Vor- und Nachteile
- Mutation-Testing mit PiTest
- Mocking mit Mockito
 
7. Persistenz ohne Datenbank in Desktop-Anwendungen
- Welche Art von Daten kann außerhalb einer Datenbank gespeichert werden?
- Datenformate
- Daten exportieren
- JSON-Bibliothek Jackson
- Apache Commons CSV
- XML-Dateien mit Java
 
8. Packaging / Deployment von Desktop-Anwendungen
- jlink
- jpackage

[letzte Änderung 17.03.2026]
Literatur:


[noch nicht erfasst]
[Sun Apr  5 17:45:41 CEST 2026, CKEY=pepd, BKEY=pi3, CID=PIB-EPDA, LANGUAGE=de, DATE=05.04.2026]