Software Architektur verteilter Anwendungen

Fakult?t

Ingenieurwissenschaften und Informatik

Version

Version 7.0 vom 04.09.2019

Modulkennung

11M0633

Modulname (englisch)

Software-Architecture of Distributed Applications

Studieng?nge mit diesem Modul

Informatik - Verteilte und Mobile Anwendungen (M.Sc.)

Niveaustufe

4

Kurzbeschreibung

Die Software-Architektur beschreibt die wesentlichen Softwarebausteine (Komponenten) einer Anwendung, die Beziehungen dieser Komponenten zueinander und zur Umgebung, sowie das erwartete Laufzeitverhalten unter Einhaltung definierter Qualit?tsmerkmale. In verteilten Anwendungen stellen die Komposition einer Anwendung aus verteilten Komponenten, sowie deren prozessübergreifende Kommunikation eine Herausforderung dar. Studierende lernen Ans?tze und Methoden zur Definition und Bewertung von Software-Architekturen verteilter Anwendungen kennen.

Lehrinhalte
  1. Software-Architektur verteilter Anwendungen im ?berblick
  2. Software-Architektur-Stile, -Muster und –Prinzipien
  3. Erfassen, analysieren und dokumentieren architekturrelevanter Anforderungen
  4. Entwerfen, dokumentieren und bewerten von Software-Architekturen
  5. Strukturierung einer verteilten Anwendung und Schnittstellen-Design
  6. Integration und dynamisches Verhalten unter Berücksichtigung definierter Qualit?tsmerkmale
  7. Cross-Cutting-Concerns in verteilten Anwendung (z.B. in Bezug auf Transaktionalit?t, Persistenz, Security)
  8. Verteilung / Deployment von Komponenten
  9. Referenzarchitekturen
Lernergebnisse / Kompetenzziele

Wissensverbreiterung
Die Studierenden, die dieses Modul erfolgreich studiert haben, k?nnen die Software Architekturen verteilter Anwendungen miteinander vergleichen und alternative Konzepte einsch?tzen und vergleichen.
Wissensvertiefung
Studierende, die dieses Modul erfolgreich studiert haben, verfügen über detailliertes Wissen und Verst?ndnis eines methodischen Ansatzes, sowie verwendbarer Technologien zur Realisierung verteilter Anwendungen, die den aktuellen Erkenntnis-/Forschungsstand widerspiegeln. Sie k?nnen sich selbstst?ndig das Wissen aneignen, um auf dem aktuellen Stand der Entwicklung zu bleiben und k?nnen aus einem Portfolio von M?glichkeiten die geeignete Architektur für eine konkrete verteilte Anwendung ausw?hlen sowie diese Entscheidung vertreten und verteidigen.
K?nnen - instrumentale Kompetenz
Die Studierenden, die dieses Modul erfolgreich studiert haben, verfügen über vertieftes Wissen und Fertigkeiten hinsichtlich einer gro?en Bandbreite architektonischer Muster und Methoden, die sie einsetzen, um verteilte Anwendungen gewinnbringend zu entwickeln und bewerten zu k?nnen.
K?nnen - kommunikative Kompetenz
Die Studierenden, die dieses Modul erfolgreich studiert haben, k?nnen komplexe Probleme in verteilten Anwendungen identifizieren und Software-Architekturen kritisch analysieren. Sie kommunizieren mit Peers, erfahreneren Kollegen und Spezialisten auf professionellem Niveau, sowohl in der Rolle des Chef-Software-Architekten als auch in der Rolle des Anwenders, des Mitglieds im Entwicklungsteam oder des Projektleiters. Sie verfügen weiterhin über die F?higkeit, architektonische Entscheidungen gegenüber Experten und Entscheidern insbesondere grafisch zu pr?sentieren mit Hilfe der einschl?gigen Werkzeuge und Sprachen wie z.B. UML.
K?nnen - systemische Kompetenz
Die Studierenden, die dieses Modul erfolgreich studiert haben, wenden eine Reihe von Methoden und Techniken an, um Standardaufgaben und fortgeschrittene Aufgaben zu bearbeiten. Sie sind in der Lage, tragf?hige Entscheidungen hinsichtlich der Software-Architektur verteilter Anwendungen zu treffen, diese zu begründen, die Umsetzung zu begleiten, die Entscheidungen zu evaluieren und die Erkenntnisse in zukunftssichere Architekturen umzusetzen.

Lehr-/Lernmethoden

Seminar

Empfohlene Vorkenntnisse

Software-Architektur, Objektorientierte Analyse und Design, Software-Engineering

Modulpromotor

Roosmann, Rainer

Lehrende
  • Thiesing, Frank
  • Roosmann, Rainer
  • Eikerling, Heinz-Josef
Leistungspunkte

5

Lehr-/Lernkonzept
Workload Dozentengebunden
Std. WorkloadLehrtyp
15Vorlesungen
15betreute Kleingruppen
15Seminare
Workload Dozentenungebunden
Std. WorkloadLehrtyp
75Kleingruppen
15Literaturstudium
15Veranstaltungsvor-/-nachbereitung
Literatur
  • Starke G. (2015): Effektive Softwarearchitekturen: Ein praktischer Leitfaden, Hanser-Verlag, 7. Auflage
  • Vogel O., et al (2008): Software-Architektur, Spektrum Verlag
  • Lillienthal C. (2016): Langlebige Software-Architekturen, dpunkt.verlag
  • Spichale K. (2016): API-Design: Praxishandbuch für Java- und Webservice-Entwickler, dpunkt.verlag
  • Evans E. (2003): Domain Driven Design, Addison Wesley
  • Daigneau R. (2012): Service Design Patterns, Addison Wesley
  • Groll J. (2014): Architektur- und Entwurfsmuster der Softwaretechnik, Springer Verlag
  • Tilkov S., et al. (2015): REST und HTTP, dpunkt.verlag
  • Coward D. (2014): Java Web Socket Programming, Oracle Press
  • Newman S. (2015): Microservices, mitp-Verlag
  • Wolff E. (2015): Microservices: Grundlagen flexibler Architekturen, dpunkt.verlag
  • Rohr M. (2015): Sicherheit von Web-Anwendungen in der Praxis, Springer Verlag
  • Schmidt D.C. (2002): Pattern-orientierte Software-Architektur: Muster für nebenl?ufige und vernetzte Objekte, 1st ed., dpunkt.verlag
  • Dustdar S., Gall H., Hauswirth M. (2003): Software-Architekturen für verteilte Systeme: Prinzipien, Bausteine und Standardarchitekturen für moderne Software, Springer Verlag
  • Buschmann F., Henney K., Schmidt D.C. (2007): A pattern language for distributed computing, Wiley series in software design patterns, / Frank Buschmann … ; Vol. 4, Wiley, Chichester.
Prüfungsleistung
  • Referat
  • Projektbericht, schriftlich
  • Hausarbeit
Bemerkung zur Prüfungsform

Referat und schriftliche Ausarbeitungoder Hausarbeit

Dauer

1 Semester

Angebotsfrequenz

Nur Wintersemester

Lehrsprache

Deutsch