Anwendungsarchitektur
Studiengang | Wirtschaftsinformatik - Digital Transformation |
Fachbereich | Technik |
Studiengangsart | Master Berufsbegleitend Sommersemester 2023 |
Titel der Lehrveranstaltung / des Moduls | Anwendungsarchitektur |
Kennzahl der Lehrveranstaltung / des Moduls | 087421020401 |
Unterrichtssprache | Deutsch, Englisch |
Art der Lehrveranstaltung (Pflichtfach, Wahlfach) | Pflichtfach |
Semesterwochenstunden | 2 |
Studienjahr | 2023 |
Niveau der Lehrveranstaltung / des Moduls laut Lehrplan | |
Anzahl der zugewiesenen ECTS-Credits | 3 |
Name des/der Vortragenden | Verena FASTENBAUER, Steffen HARTMANN |
- Grundlagen der Wirtschaftsinformatik, insbesondere Lehrinhalte zu Programmieren /Software-Entwicklung und Projektmanagement
- Grundlagen und Begriffe: verteilte Architekturen, Protokolle, Datenformate, Anwendungsintegration, Frameworks und Plattformen, Risiken, Sicherheitsaspekte, Benutzerfreundlichkeit, Architekturstile (Datenflusssysteme, Datenzentrierte Systeme, Hierarchische Systeme, Verteilte Systeme, Ereignisbasierte Systeme, Interaktionsorientierte Systeme, Heterogene Systeme), Quality Attributes and Map
- Prinzipien der Anwendungsarchitekturentwicklung: Abstraktion, Komplexitätsreduktion, Kommunikation, Repräsentation, Visualisierung, Qualität, Sicherheit, Unsicherheits- und Risikoreduktion, Offenheit für Weiterentwicklung
- Konzepte der Anwendungsarchitektur und -integration: Modularität und Komponenten, Wiederverwendung und Schnittstellen, Integration und Kommunikation, Kompatibilität und Kopplung, Portabilität und Container, Skalierbarkeit, Verfügbarkeit, Flexibilität, Softwaredesignprinzipien: SOLID, Dependency Injection, Law of Demeter, Composite over Inheritance, Design by Contract and Design Patterns
- Archtitekturparadigmen: Monolithisches System, Verteilte Architektur, Schichtenarchitekturen, Domänenbasierte Architekturen, Ereignisbasierte Architekturen, Enterprise Application Integration (EAIP), Interaktionsorientierte Muster
- Serviceorientierte Architekturen: SOAP, REST, GraphQL, Microservice, Nanoservice, OPC Unified Architecture
Moderne Anwendungssysteme im Unternehmensumfeld sind aufgrund hoher fachlicher und technischer Anforderungen komplex. Anwendungsarchitekt:innen müssen sicherstellen, dass diese Anforderungen unter Einhaltung des vorgesehenen Budgets und der geforderten Qualität umgesetzt werden. Dabei ist wichtig, dass im Entwicklungsprozess Risikofaktoren frühzeitig erkannt werden, der Gesamtüberblick erhalten bleibt und die Systeme eine nachvollziehbare Struktur haben. Dadurch werden Änderungen und Erweiterungen der Anwendungssysteme möglich und die Wiederverwendung von Teilkomponenten in anderen Projekten gesichert. Ziel dieser Lehrveranstaltung ist es, den Studierenden die grundlegenden Anwendungsarchitekturen, deren Bedeutung sowie systematische Planung und Dokumentation aufzuzeigen.
Die Studierenden
- verstehen die technischen Grundlagen, Prinzipien und Konzepte von Architekturmodellen und kennen die wichtigsten Architekturparadigmen zur Konstruktion großer, komplexer Softwaresysteme.
- sind in der Lage, für unterschiedliche Anwendungsfälle, basierend auf einer Geschäftsarchitektur, geeignete Anwendungsarchitekturen zu entwickeln und zu dokumentieren und können begründen, warum eine gewählte Anwendungsarchitektur erfolgversprechend ist.
- Inputvorträge
- Arbeitsaufträge/Übungen mit Präsentationen und anschl. Diskussion
- Abschlussklausur (70%): Wissensreproduktion und praktische Aufgabenstellungen (z.B. Schnittstellen benutzen, Architektur modellieren, ...)
- Arbeits-/Übungsaufgaben und Diskussionsbeiträge (30%)
Für eine positive Gesamtnote müssen in jedem Prüfungsteil mindestens 50% der Punkte erzielt werden.
- Dowalil, Herbert (2020): Modulare Softwarearchitektur: Nachhaltiger Entwurf durch Microservices, Modulithen und SOA 2.0. 2., überarbeitete Edition. Carl Hanser Verlag GmbH & Co. KG.
- Ford, Neal; Richards, Mark (2020): Fundamentals of Software Architecture: An Engineering Approach. A Comprehensive Guide to Patterns, Characteristics, and Best Practices. Illustrated Edition. O’Reilly UK Ltd.
- Martin, Robert C. (2018): Clean Architecture - Gute Softwarearchitekturen: Das Praxis-Handbuch für professionelles Softwaredesign. Regeln und Paradigmen für effiziente Softwarestrukturierung. 1st Ed. Frechen: mitp.
- Starke, Gernot (2021): Patterns 42, https://patterns.arc42.org, abgerufen am 12.5.2021
- Starke, Gernot (2020): Effektive Softwarearchitekturen: Ein praktischer Leitfaden. 9., überarbeitete Edition. Carl Hanser Verlag GmbH & Co. KG.
- Toth, Stefan (2019): Vorgehensmuster für Softwarearchitektur: Kombinierbare Praktiken in Zeiten von Agile und Lean. 3., aktualisierte und erweiterte Edition. Carl Hanser Verlag GmbH & Co. KG.
- Lehrveranstaltung mit Kontaktzeiten vor Ort/Online (Inputvorträge, Besprechung der Arbeits-/Übungsaufgaben) und vor Ort (Klausur)