SE5002 Softwarearchitektur und Anwendungsentwicklung

Modulverantwortliche
  • Prof. Dr. Thorsten Weyer
Lehrende
  • Prof. Dr. Dominikus Herzberg
  • Prof. Dr. Uwe Meyer
  • Prof. Dr. Thorsten Weyer
Notwendige Voraussetzungen zur Teilnahme

Keine

Kurzbeschreibung

Konzepte von Softwarearchitekturen: Muster und Fallstudien.

Inhalte

Die Architektur von Softwaresystemen spielt eine entscheidende Rolle für die Anwendungsentwicklung. In der Architektur bereits enthaltene Entscheidungen bestimmen den Entwurfsprozess und sind Grundlage für die Erfüllung qualitativer Anforderungen.

  • Wie kann man Softwarearchitektur entwickeln und dokumentieren? Qualitäts- und risiko-getriebe Entwicklung, Dokumentation z.B. mittels Unified Modeling Language (UML), Fundamental Modeling Concepts (FMC)
  • Evaluierung von Softwarearchitekturen
  • Architektur-Stile: z.B. Modul-Stile, Komponenten-und-Konnektoren-Stile, Verteilungs-Stile, Datenfluss-Systeme, Ereignisbasierte Systeme, Virtuelle Maschinen, Datenzentrierte Systeme
  • Architektur-Prinzipien und Entwurfskonzepte
  • Architektur- und Entwurfsmuster: z.B. Verteilte Systeme (Broker, Interceptor), Interaktive Systeme (Model-View- Controler, Presentation-Abstraction-Control, Chain of Responsibility), Adaptierbare Systeme (Microkernel, Reflection), Metalevel-Architekturen und domänenspezifische Sprachen
  • Evolution von Softwarearchitekturen
  • Fallstudien: z.B. Webanwendungen, mobile Anwendungen, Software-Produktlinien, verteilte Systeme, Selbst-adaptive Systeme, IoT-basierte Systeme
  • Die Rolle „Software-Architekt”

Zusätzlich werden Exkurse zu Themen im Umfeld des Themas angeboten.

Qualifikations- und Lernziele

Fachkompetenzen

  • Die Studierenden können Konzepte von Software-Architekturen beschreiben und konkreten Beispielen zuordnen.
  • Sie können den Aufbau eines Anwendungssystems aus konzeptioneller Sicht verständlich beschreiben, erklären und visuell darstellen.
  • Sie können die Prinzipien, auf deren Basis heute Software entwickelt wird, abgrenzen.

Methodenkompetenzen (fachlich & überfachlich)

  • Die Studierenden können Architektur- und Entwurfsmuster beschreiben und für den jeweiligen Anwendungsfall ein geeignetes Muster auswählen und anwenden.

Sozialkompetenzen

  • Die Studierenden können diese Kenntnisse in einer Projektarbeit im Team anwenden.

Selbstkompetenzen

  • Im Rahmen von Fallstudien können die Studierenden einen eigenen Standpunkt zu Architekturentscheidungen entwickeln und diesen in Diskussionen mit fundierten Argumenten überzeugend vertreten, ihn aber auch kritisch hinterfragen.
ECTS-Leistungspunkte (CrP)
  • 6 CrP
  • Arbeitsaufwand 180 Std.
  • Präsenzzeit 60 Std.
  • Selbststudium 120 Std.
Lehr- und Lernformen
  • 4 SWS
  • Vorlesung 2 SWS
  • Praktikum 2 SWS
Studiensemester
  • Informatik (M.Sc. 2022)
  • Ingenieur-Informatik (M.Sc. 2022)
Dauer
1 Semester
Häufigkeit des Angebots
Einmal im Jahr
Unterrichtssprache
Deutsch
Bonuspunkte

Ja

Bonuspunkte werden gemäß § 9 (4) der Allgemeinen Bestimmungen vergeben. Art und Weise der Zusatzleistungen wird den Studierenden zu Veranstaltungsbeginn rechtzeitig und in geeigneter Art und Weise mitgeteilt.

Prüfungsleistungen

Prüfungsvorleistung: Keine

Prüfungsleistung: Projekt oder Klausur (Art des Leistungsnachweises wird den Studierenden rechtzeitig und in geeigneter Weise bekannt gegeben.)

Benotung
Die Bewertung des Moduls erfolgt gemäß §§ 9, ggf. 12 (Teilleistungen), ggf. 18 (Arbeiten, Kolloquien) der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung).
Verwendbarkeit
Gemäß § 5 der Allgemeinen Bestimmungen (Teil I der Prüfungsordnung) Verwendbarkeit in allen Masterstudiengänge der THM möglich.
Voraussetzung für Module
Literatur, Medien
  • Bass, L.; Kazman, R.; Clements, P.: Software Architecture in Practice. Addison- Wesley.
  • Fairbanks, G.: Just Enough Software Architecture. Marshall & Brainerd.
  • Knöpfel, A.; Gröne, B.; Tabeling, P.: Fundamental Modeling Concepts. Effective Communication of IT. Systems Wiley.
  • Bosch, J.: Design and Use of Software Architecture. Addison- Wesley.
  • Buschmann, F.; Stal, M.; Rohnert, H.: Pattern-orientierte Software-Architektur. Addison-Wesley.
  • Schmidt, D. C.; Stal, M.; Rohnert, H.; Buschmann, F.: Pattern-oriented Software Architecture Volume 2. Patterns for Concurrent and Networked Objects. Wiley.
  • Pohl, K.; Böckle, G.; van der Linden, F.: Software Product Line Engineering. Springer.
  • Martin, R.C.: Clean Architecture - Gute Softwarearchitekturen. Das Praxis-Handbuch für professionelles Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturierung. mitp.

Rechtliche Hinweise