Software-Architekturen

Typ: Vorlesung + Übung/Tutorium
SWS: 5
Credit Points: 6
Homepage:

Kursbeschreibung / -kommentar

Software-Architekturen sind die essenziellen Strukturen innerhalb von Software-Entwicklungsprozessen. Ihre Qualität bestimmt die Güte des Prozesses und seines Gesamtergebnisses, dabei speziell dessen langfristige Eigenschaften. Architekturkonzepte müssen insbesondere für die in der Praxis am häufigsten auftretenden Aufgaben Wartung, Integration, Erweiterung und Verteilung von Systemen anwendbar sein, auch wenn diese Systeme in älteren Programmiersprachen implementiert wurden. Eine genauere Betrachtung zeigt auch, dass es nicht nur eine Architektur eines Systems gibt, sondern mehrere, von einer abstrakten Form bis zu der konkreten Form, die den Bauplan des ausgelieferten Systems beschreibt, der von vielen Spezifika (Verteilung, Effizienz, Nebenläufigkeit etc.) geprägt ist.

Schwerpunkt der Vorlesung ist die objektbasierte, aber auch die objektorientierte Architekturmodellierung. Allerdings wird ein integrierter Ansatz verfolgt, der auch die funktionale Abstraktion mit einschließt. Verteilung, Effizienztransformation, Nebenläufigkeit werden dabei mit betrachtet. Entwurfsmuster auf mittel- und grobgranularer Form werden präsentiert.

-Das Problem: Modellieren auf Entwurfsebene
-Ohne Vorkenntnisse: Erste Beispiele
-Die Notation: Eine Architekturbeschreibungssprache
-Teilarchitekturüberlegungen: Methoden und Muster
-Für die Implementierung: Übertragung in Programmiersprachen
-Verschiedene Sichten: Erweiterungen und Annotationen
-Das vollständige Bild: Einige Architekturbeispiele
-Industrielle Praxis: „Richtige“ Architekturen, Adaptabilität und Wiederverwendbarkeit