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

  1. Software-Architektur (SWA) im Überblick
  2. SWA-Stile, -Muster und -Prinzipien
  3. SWA Treiber und Technologien
  4. Baustein- und Schnittstellen-Design
  5. Abhängigkeitsmanagement
  6. 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. WorkloadLehrtypMediale UmsetzungKonkretisierung
30Vorlesung-
30Labor-Aktivität-
Dozentenungebundenes Lernen
Std. WorkloadLehrtypMediale UmsetzungKonkretisierung
60Veranstaltungsvor- und -nachbereitung-
30Erstellung 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