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

Englische Sprache
Kompakte Schrift

Farbschema

Modulübersicht

Software-Architekturen

INFM210S

Prof. Dr. Thomas Fuchß

/

2. Semester

keine

keine

Nach erfolgreichem Abschluss des Moduls sind die Studierenden in der Lage, die Architektur großer Software-Systeme selbstständig zu entwerfen, zu gestalten und kritisch zu bewerten. Sie können Software in Komponenten und Konnektoren zerlegen, geeignete Frameworks auswählen, deren Einsatz bewerten und Funktionalitäten sowie Abläufe logisch organisieren. Dabei planen und gestalten sie auch parallele und nebenläufige Abläufe und integrieren diese in Architekturen für verschiedene Anwendungsfelder. Darüber hinaus haben die Studierenden ihre technischen, sozialen und persönlichen Kompetenzen sowie ihre Kommunikationsfähigkeit und ihr Selbstmanagement gezielt weiterentwickelt und gelernt, diese Fähigkeiten im Kontext großer Softwareprojekte effektiv einzusetzen.

Einzelprüfungen
Lehrveranstaltung Benutzungsoberflächen Labor

INFM213S

Labor

M.Sc. Aladdin Özenir

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Laborarbeit 1 Semester (nicht benotet)

Im Labor wenden die Teilnehmer aktuelle Frameworks wie Angular2 oder Ionic 2 an, um mobile und web-basierte Client-Serveranwendung in einer interdisziplinären Teamarbeit und mit modernen Entwicklungsparadigmen zu erstellen. Sie lernen dabei, wie sich Web-Anwendungen automatisch für unterschiedliche Gerätetypen anpassen können und welche Einschränkungen mobile Geräte dabei aufweisen.

Aufgabenstellung online, basierend auf einer Auswahl industrieller Frameworks und Bibliotheken. Die Literatur wird in jedem Semester passend zur Aufgabenstellung vorgestellt.

Unterstützte Gruppenarbeit im Labor, selbständige Arbeit. Mündliche Prüfung durch Präsentation und Verteidigung der Lösung.

Lehrveranstaltung Parallele Programmierung

INFM212S

Vorlesung

Dipl.-Ing. Christian Meder

deutsch

3/2

90 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Übung 1 Stunden (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

INFM211S

Vorlesung

Prof. Dr. Thomas Fuchß

deutsch

2/2

60 Stunden gesamt, davon 30 Stunden Kontaktstudium.

Mündliche Prüfung 20 Min. (benotet)

Die Lehrveranstaltung "Software-Architekturen" vermittelt vertiefte Kenntnisse und Fähigkeiten zur Entwicklung und Analyse moderner Software-Architekturen.

Im ersten Teil der Vorlesung werden relevante Prozessmodelle wiederholt und darauf aufbauend Ansätze für eine agile Architekturentwicklung erarbeitet. Studierende lernen verschiedene View-Modelle kennen, vergleichen diese und vertiefen ihre Kenntnisse in Modellierungstechniken für Komponenten und Konnektoren. Bereits erlernte Entwurfsmethoden werden erweitert, insbesondere im Hinblick auf die Nutzung von Szenarien zur Beschreibung und Bewertung nicht-funktionaler Anforderungen.

Im zweiten Teil der Vorlesung stehen elementare Architekturmuster im Fokus, darunter Schichten-Architektur, hexagonale Architektur, Onion-Architektur, Blackboard, Pipes-and-Filters und Event-Driven Architecture. Studierende erlernen die Strukturen, Eigenschaften und Anwendungsmöglichkeiten dieser Muster und verstehen ihre Rolle in typischen Middleware-Konzepten. Die Vorlesung zeigt, wie solche Architekturvorlagen Ansatzpunkte für die Organisation flexibler und evolutionärer Systeme bieten.

Der dritte Teil der Vorlesung widmet sich der Architektur auf Modulebene. Anhand praxisnaher Szenarien und Beispiele wird der Einsatz von Patterns für den Business Layer thematisiert und im jeweiligen Kontext analysiert. Ziel ist es, den Studierenden ein fundiertes Verständnis für die Gestaltung und Bewertung modularer Software-Architekturen zu vermitteln.

  • Avgeriou, P; et. al (editors): Relating Software Requirements and Architectures. Springer, 2011.
  • Clements, P.; Bass, L. and Kazman, R.: Software Architecture in Practice, 2. ed. Addison-Wesley, 2003.
  • 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, 9. Auflage. Pearson Studium, 2012.
  • 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 und Präsentationen