Software Architektur - Konzepte und Anwendungen
- Fakultät
Fakultät Ingenieurwissenschaften und Informatik (IuI)
- Version
Version 1 vom 27.11.2025.
- Modulkennung
11B1820
- Niveaustufe
Bachelor
- Unterrichtssprache
Deutsch
- ECTS-Leistungspunkte und Benotung
5.0
- Häufigkeit des Angebots des Moduls
Winter- und Sommersemester
- Dauer des Moduls
1 Semester
- Kurzbeschreibung
Die Software-Architektur legt die wesentlichen Softwarebausteine zur Strukturierung eines Softwaresystems fest und definiert Vorgaben zum erwarteten dynamischen Verhalten einer Software, unter Einhaltung definierter nicht-funktionaler Anforderungen. Studierende erlernen typische Software-Architektur-Stile, -Muster und -Prinzipien und können diese unter Verwendung geeigneter Technologien anwenden.
- Lehr-Lerninhalte
- Software-Architektur (SWA) im Überblick
- SWA-Stile, -Muster und -Prinzipien
- SWA Treiber und Technologien
- Baustein- und Schnittstellen-Design
- Abhängigkeitsmanagement
- Cross-Cutting-Concerns
- Gesamtarbeitsaufwand
Der Arbeitsaufwand für das Modul umfasst insgesamt 150 Stunden (siehe auch "ECTS-Leistungspunkte und Benotung").
- Lehr- und Lernformen
Dozentengebundenes Lernen Std. Workload Lehrtyp Mediale Umsetzung Konkretisierung 30 Vorlesung - 30 Labor-Aktivität - Dozentenungebundenes Lernen Std. Workload Lehrtyp Mediale Umsetzung Konkretisierung 60 Veranstaltungsvor- und -nachbereitung - 30 Erstellung von Prüfungsleistungen -
- Benotete Prüfungsleistung
- Klausur oder
- Referat (mit schriftlicher Ausarbeitung) oder
- Projektbericht (schriftlich)
- Unbenotete Prüfungsleistung
- experimentelle Arbeit oder
- regelmäßige Teilnahme
- Bemerkung zur Prüfungsart
Die Auswahl der benoteten und unbenoteten Prüfungsarten aus den vorgegebenen Optionen obliegt der jeweiligen Lehrperson. Diese hält sich dabei an die jeweils gültige Studienordnung.
Der unbenotete Leistungsnachweis wird im Rahmen des begleitenden Praktikums erbracht. Die Prüfungsformen der benoteten Prüfungsleistung sind a) Klausur, b) Referat (mit schriftl. Ausarbeitung) oder c) Projektbericht (schriftl.) und werden in der jeweils gültigen Studienordnung beschrieben.
- Prüfungsdauer und Prüfungsumfang
Benotete Prüfungsleistung:
- Klausur: siehe jeweils gültige Studienordnung
- Referat (mit schriftlicher Ausarbeitung): ca. 15-20 Minuten, dazugehörige Ausarbeitung: ca. 8-10 Seiten
- Projektbericht (schriftlich): ca. 10-15 Seiten, dazugehörige Erläuterung: ca. 15 Minuten
Unbenotete Prüfungsleistung:
- Experimentelle Arbeit: Experiment: insgesamt ca. 10 Versuche
- Regelmäßige Teilnahme: Anwesenheit von mind. 80% der Veranstaltung
- Empfohlene Vorkenntnisse
Gute Kenntnisse der Programmierparadigmen und fortgeschrittenes Wissen der Konzepte der objektorientierten Programmierung. Sehr gute Kenntnisse einer objektorientierten Programmiersprache. Grundlegegendes Wissen zur Anforderungsanalyse, dem Software-Design und der Entwicklung verteilter Systeme. Gute Vorkenntnisse zu Datenbanken und deren Verwendung.
- Wissensverbreiterung
Studierende können nach erfolgreichem Abschluss des Moduls:
- grundlegende Prinzipien, Stile und Muster der Software-Architektur abgrenzen und beschreiben,
- die für die Software-Architektur relevanten Anforderungen definieren,
- eine Software-Architektur anhand der Anforderungen für einen definierten Software-Architekturstile entwerfen,
- ausgewählte Technologien für die Umsetzung eines Software-Architektur-Entwurfs anwenden
- Wissensvertiefung
Studierende können nach erfolgreichem Abschluss des Moduls:
- die fundamentale Struktur einer komplexen Software identifizieren und entwerfen
- Schnittstellen hochrangiger Software-Bausteine und deren Interaktionsformen festlegen
- Qualitätsmerkmale, wie Wartbarkeit, Korrektheit, Sicherheit und Verfügbarkeit, charakterisieren sowie im Entwurf und der Umsetzung, berücksichtigen
- Frameworks einsetzen
- Integrations- und automatisierbare Systemtests erstellen
- Wissensverständnis
Die Studierenden können nach erfolgreichem Abschluss des Moduls:
- eine Software-Architektur entwerfen und Entscheidungen auf Grundlage ihres Fachwissens kritisch bewerten
- die Tragfähigkeit der Software-Architektur überprüfen und nachweisen
- Nutzung und Transfer
Die Studierenden können nach erfolgreichem Abschluss dieses Moduls:
- Software-Architekturen für definierte Software-Architekturstile entwerfen
- kennen Technologien zur Umsetzung und zum Testen der Software-Architektur
- Wissenschaftliche Innovation
Die Studierenden können:
- etablierte Vorgehensweisen und Verfahren zum Entwurf einer Software-Architektur einsetzen und bewerten.
- Kommunikation und Kooperation
Die Studierenden können nach erfolgreichem Abschluss dieses Moduls:
Software-Architektur Entwürfe mit Fachvertreterinnen und Fachvertretern sowie Fachfremden mit theoretisch und methodisch fundierter Argumentation dikutieren und Lösungen erarbeiten.
- Wissenschaftliches Selbstverständnis / Professionalität
Die Studierenden können:
- etablierte Vorgehensweisen und Verfahren zum Entwurf einer Software-Architektur einsetzen.
- Literatur
- Starke G. (2020): Effektive Softwarearchitekturen: Ein praktischer Leitfaden, Hanser-Verlag, 9. Auflage
- Richards M, et al (2020): Handbuch moderner Softwarearchitektur, O'Reilly
- Vogel O., et al (2008): Software-Architektur, Spektrum Verlag
- Evans E. (2003): Domain Driven Design, Addison Wesley
- Martin R. C. (2017): Clean Architecture, Addision Wesley
- Dunkel J. (2003): Software-Architektur für die Praxis, Springer Verlag
- Zörner S. (2021): Software-Architekturen dokumentieren und kommunizieren, Hanser Verlag
- Inden M. (2016): Der Java-Profi, dpunkt.verlag
- Vieira D. (2023): Designing Hexagonal Architecture with Java, Packt Publishing
- Tilkov S., et al. (2015): REST und HTTP, dpunkt.verlag
- Spichale K. (2016): API-Design: Praxishandbuch für Java- und Webservice-Entwickler, dpunkt.verlag
- Verwendbarkeit nach Studiengängen
- Informatik - Medieninformatik
- Informatik - Medieninformatik B.Sc. (01.09.2025)
- Informatik - Technische Informatik
- Informatik - Technische Informatik B.Sc. (01.09.2025)
- Mechatronik
- Mechatronik B.Sc. (01.09.2025)
- Modulpromotor*in
- Roosmann, Rainer
- Lehrende
- Kleuker, Stephan
- Roosmann, Rainer
- Tapken, Heiko
- Thiesing, Frank