Master-Vertiefungsmodul: Softwarearchitektur
1. Modulkennung
MV-AGIS1
2. Studiengang
Masterstudiengang Informatik
(Vertiefungsgebiet Architektur und Gestaltung von IT-Systemen)
3. Modulbezeichnung
Softwarearchitektur (SA)
4. Modul-Verantwortliche/r
Züllighoven
5. VeranstalterIn/DozentIn
Züllighoven
6. Sprache
Deutsch mit deutsch- und englischsprachigem Lehrmaterial, Englisch möglich
7. Motivation, Bedeutung für / Stellung im Gesamtprogramm
Die Betrachtung der Architektur großer Softwaresysteme hat in den letzten Jahren angesichts stetig wachsender Systeme an Bedeutung gewonnen. Unabhängig von der fachlichen Komplexität einer Anwendung neigen große Systeme dazu, unüberschaubar und schlecht wartbar zu werden. Die Praxis der Softwareentwicklung hat eine Reihe von Konzepten und Mechanismen hervorgebracht, um diese architektonische Komplexität besser in den Griff zu bekommen. Ungeachtet dessen ist die Softwarearchitektur nach wie vor ein Gebiet mit einer hohen Dynamik.
Für den Entwurf und die Konstruktion großer Softwaresysteme müssen die Konzepte der Softwarearchitektur bekannt sein. In diesem Modul wird der Architekturbegriff nicht nur auf strukturelle und formale Entwurfs- und Konstruktionseinheiten bezogen, sondern auch auf die fachliche Strukturierung. Diese grundlegende Komplementarität passt in die für das Vertiefungsgebiet AGIS grundlegende Sichtweise einer an Gebrauchsqualität ausgerichteten und anwendungsorientierten Softwareentwicklung.
Die Gestaltung von großen IT-Systemen erfordert den Umgang mit expliziten Architekturmodellen und die Nutzung von geeigneten Hilfsmitteln zur Analyse und zum Entwurf. Dazu kommt die Kenntnis geeigneter Organisationsformen und Vorgehensweisen im Entwicklungsprozess. Dieses Wissen und dazu passende Fertigkeiten sind grundlegende Elemente eine softwaretechnische Ausbildung auf hohem Niveau.
Ein fundierter Überblick über Konzepte und Mechanismen ist grundlegend. Ein Software-Architekt bzw. eine Software-Architektin sollte den aktuell zur Verfügung stehenden Satz an Methoden und Werkzeugen einschätzen können und ihre Eignung für konkrete Projekte bewerten können.
Heute kommt neben der Neuentwicklung und Gestaltung von IT-Systemender Weiterentwicklung großer Software ein hoher Stellenwert zu. Daher ist es für eine moderne Softwaretechnik wichtig, dass passende architektonische Entwurfsprinzipien und die Vorgehensweisen des sog. Refactorings als Mittel gegen den sog.Strukturverfall bekannt sind. Durch die Betrachtung des gesamten Lebenszyklus großer Softwaresysteme liefert das Modul SWA die softwaretechnischen Grundlagen, um sich mit den verschiedenen Ebenen und Ausbildungsprofilen des Vertiefungsgebiets AGIS fundiert beschäftigen zu können.
8. Lernziele / Kompetenzen
Die TeilnehmerInnen haben einen fundierten Überblick über den Methodenschatz der Softwarearchitektur. Sie können die Eignung von Techniken und Werkzeugen für konkrete Anwendungszusammenhänge einschätzen und bewerten. Sie sind in der Lage, sich ein Teilgebiet der Softwarearchitektur zu erarbeiten. Im Rahmen der Seminararbeit werden praktische Aufgaben gelöst, die die werkzeuggestützte Analyse von Softwaresystemen und ihre Modellierung umfassen. Diese Erfahrungen sollen reflektiert und in einem Vortrag zur Diskussion gestellt werden.
9. Lehrveranstaltungen
2 SWS Vorlesung
2 SWS Seminar
10. Inhalt
Das Modul behandelt Software-Entwurf im Großen mit Themen wie:
Designrichtlinien
Fachliche Modellierung
Technische Modellierung
Entwurfsparadigmen
Qualitätssicherung
Prinzipien der Konstruktion
Architekturmuster und –stile
Rahmenwerke
Komponenten
Analyse von Softwarearchitekturen
Darstellungsmittel und Werkzeuge
11. Bezüge zu anderen Modulen
Innerhalb des Studiengangs: Dieses Modul ist kombinierbar mit weiteren Vertiefungs-modulen des vor definierten Vertiefungsgebiets AGIS. Insbesondere ist es eine sinnvolle Ergänzungzu den Vertiefungsmodulen Interaktive Systeme und Computergestützte Kooperation. Es eignet sich zum Export in das Vertiefungsgebiet Komplexe Verteilte Systeme (KVS).
12. Modulvoraussetzungen
keine
13. Semester, Studienjahr /-phase
Empfohlenes Semester: 1 oder 3 (bei Zulassung im Wintersemester), 2(bei Zulassung im Sommersemester)
14. Prüfungsleistungen
Die Zulassung zur Modulprüfung setzt die regelmäßige Teilnahme an dem Seminar voraus. Die Modulprüfung findet in Form einer Seminararbeit (Hausarbeit) und eines Referats in der Unterrichtssprache statt sowie einer mündlichen Prüfung in der Unterrichtssprache.
Die Zulassung zur Modulprüfung setzt die regelmäßige und erfolgreiche (Seminararbeit und Referat in der Unterrichtssprache) Teilnahme an dem Seminar voraus. Die Modulabschlussprüfung findet in Form einer mündlichen Prüfung (über die Gesamtinhalte des Vorlesungs- und Seminaranteils) in der Unterrichtssprache statt.
15. Bewertung
6 Leistungspunkte (Vorlesung: 3 Leistungspunkte, integriertes Seminar: 3 Leistungspunkte)
16 Periodizität
Jährlich, Wintersemester, Dauer: 1 Semester
17. Methodische Aufbereitung und Medienformen
Vorlesung mit Beamer, Overhead und Tafel
Seminar mit Vorträgen der Teilnehmer
18. Literatur
Bass, Clements, Kazman: „Software Architecture in Practice“, Addison-Wesley, 2003.
D’Souza, Wills: „Object, Components, and Frameworks with UML“, Addison-Wesley, 1999.
Evans: „Domain-Driven Design“, Addison-Wesley, 2003.
Hofmeister, Nord, Soni: „Applied Software Architecture“, Addison-Wesley, 2000.
Siedersleben: „Softwarearchitektur“, dpunkt.verlag, 2004.
Szyperski: „Component Software – Beyond Object-Oriented Programming“, 2nd Edition, Addison-Wesley / ACM Press, 2002.
Züllighoven et al.: „Object-Oriented Construction Handbook“, Morgan-Kaufmann Publishers und dpunkt.verlag, 2004.