Modul Software-Architekturen, Informatik (Master) (SPO 7)

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Software-Architekturen

INFM210SE

Prof. Dr. Thomas Fuchß

/

Alle Semester

keine

keine

Die Studierenden erlernen die Architektur großer Software-Systeme selbstständig zu entwerfen, zu gestalten und zu bewerten. Dies umfasst, neben der logischen Organisation von Funktionalität und Abläufen, der konkreten Zerlegung in Komponenten und Konnektoren auch die Auswahl und Bewertung geeigneter Frameworks.

Einzelprüfungen
Lehrveranstaltung Parallele Programmierung Labor

INFM212SE

Labor

Dipl.-Ing. Christian Meder

deutsch

3/2

90 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Übung 1 Semester (nicht benotet)

Im ersten Teil der Vorlesung werden die Konzepte der nebenläufigen Programmierung vorgestellt, aufgefrischt, vertieft und mit Hilfe der Möglichkeiten der Programmiersprache Java und des JDK praktisch in Übungen erprobt und angewendet. Der zweite Teil der Vorlesung bespricht verschiedene aktuelle praktische Anwendungsfelder der nebenläufigen Programmierung in Form kurzer, kompakter Einführungen. Darunter befinden sich Themen wie Betriebssysteme und Nebenläufigkeit am Beispiel Linux, mobile Plattformen und Nebenläufigkeit am Beispiel Android, Map/Reduce und das Hadoop Ökosystem, Web und Nebenläufigkeit, Nebenläufigkeit in Go und Rust, Reactive Extensions (Rx), Cloud, Cluster und verteilte Systeme, Microservice Architekturen, Deep Learning,

  • Brian Goetz, "Java Concurrency in Practice"
  • Die Literatur des zweiten Teils wird in jedem Semester neu zusammengestellt.

Die erfolgreiche Teilnahme an der Vorlesung wird durch die eigenständige Bearbeitung der Übungen dokumentiert und begutachtet. Im zweiten Teil der Vorlesung werden diverse aktuelle Quellen und Präsentationen vorgestellt und diskutiert.

Lehrveranstaltung Software-Architekturen

INFM211SE

Vorlesung

Prof. Dr. Thomas Fuchß

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Klausur/mündl. Prüfung 60/20 Min. (benotet)

Im ersten Teil der Vorlesung werden zentrale Modellierungstechniken für den Entwurf von Komponenten erarbeitet und bereits erlernte Entwurfsmethoden vertieft. Darauf aufbauend werden im zweiten Teil der Vorlesung gängige Architekturmuster aufgearbeitet. Die Studierenden lernen, deren Strukturen, Eigenschaften und Besonderheiten zu erkennen, zu verstehen und als Muster zu begreifen. Den Studierenden wird aufgezeigt, wie diese Architekturvorlagen Ansatzmöglichkeiten bieten, flexible und evolutionäre Systeme zu organisieren. Der dritte Teil der Vorlesung beschäftigt sich mit der Architektur auf Modulebene. Anhand verschiedener Szenarien und Beispiele wird der Einsatz von Patterns vorgestellt und im jeweiligen Kontext bewertet.

  • Avgeriou, P; et. al (editors): Relating Software Requirements and Architectures. Springer, 2011.
  • Clements, P.; Bass, L. and Kazman, R.: Software Architecture in Practice, 3. ed. Addison-Wesley, 2013.
  • Clements, P.; Bachmann, F. and Bass, L.: Documenting Software Architectures: Views and Beyond 2. ed. Addison-Wesley, 2011.
  • Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, 2003.
  • Goll, J. und Dausmann, M.:Architektur- und Entwurfsmuster der Softwaretechnik. Springer Vieweg, 2013.
  • Gorton, Ian: Essential Software Architecture, 2. ed. Springer, 2011.
  • Larman, Craig: Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3. ed. Prentice Hall, 2004.
  • Lilienthal, Carola: Sustainable software architecture: analyze and reduce technical debt. dpunkt.verlag, 2019.
  • Buschmann, Frank: A System of Patterns (POSA V.1). John Wiley & Sons. 1996
  • Schmidt, Douglas C.: Patterns for Concurrent and Networked Objects (POSA V.2). John Wiley & Sons, 2000.
  • Sommerville, Ian: Software Engineering, 10. Auflage. Pearson Studium, 2018.
  • Vogel, O.; Arnold, I.; Chughtai, A. and Kehrer, T.: Software Architecture: A Comprehensive Framework and Guide for Practitioners. Springer, 2011.
  • Vogel, O.; et. al: Software-Architektur: Grundlagen – Konzepte – Praxis, 2. Auflage. Spektrum, 2009.


Seminaristischer Unterricht; Übungsblätter

Lehrveranstaltung Software-Architekturen Labor

INFM213SE

Labor

Prof. Dr. Carsten Sinz

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Übung 1 Semester (nicht benotet)

In diesem Labor werden die Methoden und Kenntnisse der Vorlesung Software-Architekturen praktisch erprobt und umgesetzt. Dabei werden anhand eines größeren Software-Projekts der gesamte Entwicklungsprozess vom Entwurf über Realisierung bis hin zu Test und Qualitätssicherung im Team bearbeitet. Dabei sollen Entwurfstechniken und Architekturmuster der Vorlesung eingesetzt sowie Software-Entwicklungs-Frameworks bewertet und ausgewählt werden. Die Implementierung in einer vom Team gewählten Programmiersprache und deren Qualitätssicherung ist ebenfalls Teil des Projekts und erlaubt auch eine kritische Bewertung der eingesetzten Techniken. Schließlich soll durch die Erstellung eines Entwickler- und Benutzer-"Handbuchs" die Dokumentation größerer Projekte erlernt werden.