Vorlesung Software-Architektur und -Qualität SS17
Die Vorlesung findet donnerstags 11:30-13:00 Uhr statt.
Der folgende Ersatztermin bildet Alternative zu Feiertagen:
- Montag den 26.06.2017 19:00-20:30
Der Ersatztermin sowie die regulären Vorlesungstermine finden im Raum -102 statt.
Semester: | Sommersemester 2017 |
LP (ECTS): | 3 |
SWS: | 2 |
Studiengang: | Master Informatics, Master Information Engineering |
Dozent: | Prof. Dr. Ralf Reussner |
- Ort und Zeit der Lehrveranstaltung
Do, 11:30 - 13:00 Uhr | |
Raum -102 Geb. 50.34 |
- ILIAS-Bereich
- Seite im Vorlesungsverzeichnis
Lernziele der Vorlesung
Die Studierenden können die Rolle von Komponenten und expliziten Software-Architekturbeschreibungen für die ingenieurmäßige Software-Entwicklung erklären. Zudem können sie die grundlegenden Konzepte der komponentenbasierten Softwareentwicklung erläutern.
Die Studierenden kennen weiterführende Konzepte der sichtbasierten Metamodellierung und können diese auf die Szenerien der Softwareentwicklung-Domäne anwenden.
Darüberhinaus können sie Verfahren zur Dokumentation, Bewertung und Wiederverwendung von Software-Architekturen, wie zum Beispiel Architekturmuster oder Architekturstile, einsetzen.
Weiter können unterschiedliche Software-Entwicklungsprozesse unterschieden und eingesetzt werden.
Die Studierenden können Modelle für Software-Qualitätseigenschaften wie zum Beispiel Performance entwerfen.
Die Auswirkungen von Architektur-Entwurfsentscheidungen auf die Software-Qualitätseigenschaften wie zum Beispiel Performance können ebenfalls analysiert werden.
Inhalt der Vorlesung
Die Software-Architektur ist in vielen Software-Entwicklungsprojekten der wesentlich bestimmende Faktor für die Software-Qualität. Laufzeiteigenschaften wie Performance oder Zuverlässigkeit hängen, ebenso wie Wartbarkeit, im Wesentlichen von der Architektur eines Software-Systems ab. In der Vorlesung lernen Studierende moderne Ansätze zur Software-Architektur-Modellierung und -Analyse kennen und anwenden, mit denen zur Entwurfszeit Qualitätseigenschaften des Systems vorhergesagt werden können. Damit legt die Vorlesung die wissenschaftlichen Grundlagen für den Software-Entwurf als Ingenieursdisziplin, da mit den erlernten Methoden ein Verständnis der Auswirkungen von Architekturentwurfsentscheidungen auf die Software-Qualität möglich ist. Dabei werden insbesondere die Software-Qualitäten, wie z.B. Performanz, Zuverlässigkeit und Wartbarkeit thematisiert.
In Zusammenhang mit der Software-Architektur werden auch Software-Komponenten als "Software-Bausteine" eingeführt. Besonders wird auf Techniken der Wiederverwendung von Architekturwissen wie Muster, Stile und Referenzarchitekturen und Produktlinien eingegangen.
Die Vorlesung behandelt das Palladio-Komponentenmodell als Beschreibungssprache für Software-Komponenten und -Architekturen. Anhand des Palladio-Komponentenmodells werden neben der Qualitätsvorhersage auch Rollenmodelle für Entwurf und Entwicklung von komponentenbasierter Software vorgestellt. Dessen Einsatz wird anhand industrienaher Fallstudien demonstriert und dabei Techniken zur Evaluation der Qualität ihrer Softwarearchitektur veranschaulicht.
Dabei werden in der Vorlesung Technologien wie MOF, OCL und auch architekturzentrierte, modellgetriebene Softwareentwicklung (AC-MDSD) behandelt. Moderne Middleware aus der Praxis wie z.B. Java EE / EJB wird ebenfalls vorgestellt.
Die Studierenden können Software-Architekturen mit Hilfe modellgetriebener Techniken modellieren und analysieren. Dazu werden grundlegende Konzepte wie Software-Komponenten, Architekturmuster und Referenzarchitekturen eingeführt. Darüberhinaus können sie die Auswirkungen von Architektur-Entwurfsentscheidungen auf die Software-Qualität abschätzen. Dazu werden insbesondere Modelle für Software-Qualitätseigenschaften wie Performance, Zuverlässigkeit und Wartbarkeit eingeführt. Die Studierenden sollen in der Praxis angewandte Technologien (EJBs etc.) ebenso kennenlernen wie aktuelle Komponentenmodelle und Architekturmodellierungssprachen aus der Forschung.
Im Folgenden finden Sie die Vorlesungsfolien. Der Zugang ist passwortgeschützt. Der Benutzername und das Passwort werden Ihnen in der Vorlesung mitgeteilt.
Nr. | Termin | Ort | Thema | Folien | Version |
---|---|---|---|---|---|
1. | 27.04.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Introduction: Einführung und Begriffsdefinitionen | Introduction | v1 |
2. | 04.05.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Palladio | Palladio | v1 |
3. | 11.05.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Architectural View Points (1) | Architectural View Points | v1 |
4. | 18.05.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Architectural View Points (2) | Architectural View Points | v1 |
5. | 01.06.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Architectural Reuse | Architectural Reuse | v1 |
6. | 22.06.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Modeling Quality | Modeling Quality | v1 |
7. | 26.06.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Modeling Quality | Modeling Quality | v1 |
8. | 29.06.2017 19:00 - 20:30 | Raum -102 (Geb. 50.34) | Capgemini Vortrag | Capgemini Vortrag | v1 |
9. | 06.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Getting the Data | Getting the Data | v1 |
10. | 13.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Answering Design Questions | Answering Design Questions | v1 |
11. | 20.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Answering Design Questions | Answering Design Questions | v1 |
12. | 27.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Software Engineering Process | Software Engineering Process | v1 |
13. | 27.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Microservices | Microservices | v1 |
14. | 27.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Case Studies | Case Studies | v1 |
15. | 27.07.2017 11:30 - 13:00 | Raum -102 (Geb. 50.34) | Wrap Up | Wrap Up | v1 |
Administratives
- Lesegruppe
- Praktikum Modellgetriebene Software-Entwicklung SS17
- Praktikum Software Quality Engineering mit Eclipse SS17
- Praxis der Software-Entwicklung 12 SS17
- Proseminar Software-Katastrophen SS17
- Vorlesung Requirements Engineering SS17
- Vorlesung Software-Architektur und -Qualität SS17
- Übung Programmieren SS17