Software Architektur - Konzepte und Anwendungen
- Fakultät
Ingenieurwissenschaften und Informatik
- Version
Version 10.0 vom 23.02.2023
- Modulkennung
11B1820
- Modulname (englisch)
Software Architecture: Concepts and pracitcal Implementations
- Studiengänge mit diesem Modul
- Informatik - Medieninformatik (B.Sc.)
- Informatik - Technische Informatik (B.Sc.)
- Lehramt an berufsbildenden Schulen - Teilstudiengang Informationstechnik (M.Ed.)
- Niveaustufe
3
- Kurzbeschreibung
Die Software-Architektur legt die wesentlichen Softwarebausteine (Komponenten) zur Strukturierung eines Softwaresystems fest und definiert Vorgaben zum erwarteten dynamischen Verhalten einer Software, unter Einhaltung definierter nicht-funktionaler Anforderungen. Studierende lernen typische Software-Architektur-Stile, -Muster und Prinzipien kennen, strukturieren die Software in Komponenten, definieren Interaktionsformen zwischen Komponenten und weisen die Tragfähigkeit der Entscheidungen nach.
- Lehrinhalte
1. Software-Architektur im Überblick
2. Software-Architektur-Stile, -Muster und -Prinzipien
3. Komponenten und Schnittstellen
4. Kommunikation und Informationsaustausch
5. Cross-Cutting-Concerns (z.B. Transaktionalität, Persistenz)
6. Abhängigkeits- und Build-Management
- Lernergebnisse / Kompetenzziele
Wissensverbreiterung
Studierende, die dieses Modul erfolgreich studiert haben, kennen ausgewählte Software-Architektur-Stile, -Muster und –Prinzipien und können diese für einen konkreten Architekturstil zur Organisation einer Anwendungssoftware unter Einhaltung definierter Anforderungen anwenden und die Tragfähigkeit der Entscheidungen durch praktische Umsetzung nachweisen.
Wissensvertiefung
Können - instrumentale Kompetenz
Studierende setzen anerkannte Verfahren und Methoden ein, um Software-Architekturen für einen definierten Stil zu entwerfen, dokumentieren und dessen Tragfähigkeit nachzuweisen.
Können - kommunikative Kompetenz
Studierende sind in der Lage eine Software-Architektur zu beschreiben und unterschiedliche Strukturierungs- und Interaktionsformen zu diskutieren.
Können - systemische Kompetenz
Die Studierenden können für einen Software-Architekturstil die Software-Architektur erstellen und deren Tragfähigkeit nachweisen. Sie können die Grenzen der Software-Architektur einschätzen und sind in der Lage sich eigenständig in weitere Architekturstile, -muster und -prinzipien einzuarbeiten.
- Lehr-/Lernmethoden
Vorlesung mit Praxisbeispielen, Praktikum
- Empfohlene Vorkenntnisse
Programmierung 1 (I), Programmierung 2 (I), Programmierung 3 (MI) bzw. Programmierung 3 (TI)
- Modulpromotor
Roosmann, Rainer
- Lehrende
- Kleuker, Stephan
- Roosmann, Rainer
- Tapken, Heiko
- Thiesing, Frank
- Leistungspunkte
5
- Lehr-/Lernkonzept
Workload Dozentengebunden Std. Workload Lehrtyp 30 Vorlesungen 30 Labore Workload Dozentenungebunden Std. Workload Lehrtyp 60 Veranstaltungsvor-/-nachbereitung 30 Prüfungsvorbereitung
- Literatur
- Starke G. (2015): Effektive Softwarearchitekturen: Ein praktischer Leitfaden, Hanser-Verlag, 7. Auflage
- Vogel O., et al (2008): Software-Architektur, Spektrum Verlag
- Evans E. (2003): Domain Driven Design, Addison Wesley
- Dunkel J. (2003): Software-Architektur für die Praxis, Springer Verlag
- Inden M. (2016): Der Java-Profi, dpunkt.verlag
- Weil D. (2015): Java EE 7, entwickler.press, 2. Auflage
- Bien A. (2012): Real World Java EE Patterns, press.adam-bien.com
- Tilkov S., et al. (2015): REST und HTTP, dpunkt.verlag
- Spichale K. (2016): API-Design: Praxishandbuch für Java- und Webservice-Entwickler, dpunkt.verlag
- Coward D. (2014): Java Web Socket Programming, Oracle Press
- Prüfungsleistung
- Klausur 2-stündig
- Referat
- Projektbericht, schriftlich
- Unbenotete Prüfungsleistung
Experimentelle Arbeit
- Dauer
1 Semester
- Angebotsfrequenz
Wintersemester und Sommersemester
- Lehrsprache
Deutsch