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
- Software-Architektur verteilter Anwendungen im ?berblick
- Software-Architektur-Stile, -Muster und –Prinzipien
- Erfassen, analysieren und dokumentieren architekturrelevanter Anforderungen
- Entwerfen, dokumentieren und bewerten von Software-Architekturen
- Strukturierung einer verteilten Anwendung und Schnittstellen-Design
- Integration und dynamisches Verhalten unter Berücksichtigung definierter Qualit?tsmerkmale
- Cross-Cutting-Concerns in verteilten Anwendung (z.B. in Bezug auf Transaktionalit?t, Persistenz, Security)
- Verteilung / Deployment von Komponenten
- 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. Workload Lehrtyp 15 Vorlesungen 15 betreute Kleingruppen 15 Seminare Workload Dozentenungebunden Std. Workload Lehrtyp 75 Kleingruppen 15 Literaturstudium 15 Veranstaltungsvor-/-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