Softwaretechnik II
Inhalt:
Diese Vorlesung baut auf die Vorlesung Softwaretechnik I auf. Thematische
Schwerpunkte der Softwaretechnik II sind:
- Fortgeschrittene Themen der Systemmodellierung
- Modellbasierte Softwareentwicklung, insb.
Werkzeuge hierzu
- Softwarearchitekturen, Wiederverwendung
- Software-Produktlinien
Veranstaltungstyp: Vorlesung (2 SWS) mit Übungen (1-2
SWS)
Vorkenntnisse:
- allgemeine Programmiererfahrung, gute Kenntnisse
in Java entsprechend den Lernzielen der Vorlesungen des 1.
Studienjahrs und des Programmierpraktikums
- gute Kenntnisse und praktische Erfahrung in der
Datenmodellierung und Zustandsmodellierung mit den
Modelltypen der UML, in Metamodellierung und in der
EMF-Technologie gemäß den Lernzielen der Vorlesung Softwaretechnik I.
Falls Sie diesen Stoff
sicher genug beherrschen, sollten Sie zunächst den Stoff der
Softwaretechnik I selbständig nacharbeiten und die
zugehörigen Übungen bearbeiten.
Skript / Literatur / Materialien:
Für einzelnen Abschnitte der Vorlesung liegen
entweder ausgearbeitete Skripten oder zumindest
Stichworte vor, in denen jeweils weitere Referenzen
angegeben sind. Links befinden sich unten in der
Liste der Vorlesungen.
Materialien für den Themenbereich
modellbasierte Softwareentwicklung:
-
OMG-Standards: Die diversen UML-Diagrammtypen
werden durch die Objekt Management Group (OMG)
standardisiert. Die Standards sind sind im
Gegensatz zu vielen nationalen Standards kostenlos
im WWW (über http://www.omg.org) erhältlich. Die OMG hat
Dutzende Standards und Begleitdokumente publiziert,
besonders wichtig und grundlegend sind
- Unified Modeling Language,
Version 2.5; OMG, Doc. formal/15-03-01; 2015
PDF (OMG)
PDF (lokale Kopie)
- Meta Object Facility (MOF)
Version 2.5; OMG, Doc. formal/2015-06-05; 2015 PDF (OMG)
PDF (lokale Kopie)
- Object Constraint Language(OCL); OMG,
formal/2014-02-03; February 2014; PDF
- MDA Guide Version 1.0.1; OMG, Doc.
omg/2003-06-01; 2003 PDF
-
Transformation von Modellen / Henshin:
- Ein vorkonfektioniertes Eclipse inklusive aller
benötigten Modellierungswerkzeuge (Eclipse Modeling
Tools) finden Sie auf der Eclipse Downloads
Seite.
- Installationsanweisung für EMF-Henshin: hier
- Tutorial, in den die Hauptkonzepte von Henshin am
Beispiel erklärt werden: hier
-
Versionierung von Modellen:
- [Ke2009LLSS] Kelter, Udo: Repository-Dienste für die
modellbasierte Entwicklung; p.76-86 in: Design4Future 2009
- Proc. 1. Workshop des GI-Arbeitskreises Langlebige
Softwaresysteme (L2S2): "Design for Future - Langlebige
Softwaresysteme", Karlsruhe, Germany, October 15-16, 2009;
CEUR Workshop Proceedings, Vol. 537; CEUR-WS.org; 2009; Volltext auf ceur-ws.org
-
[KeS2008CVSM] Kelter, U.; Schmidt, M.: Comparing State
Machines; p.1-6 in: Proc. 2008 ICSE Workshop on Comparison
and Versioning of Software Models, May 17, 2008, Leipzig;
ACM; 2008 KeS2008CVSM.pdf
Materialien für den Themenbereich
Software Product Line Engineering:
- Apel et al.: Feature-Oriented Software Product
Lines, Springer Verlag, 2013
Hauptliteratur zur
Vorlesung, sehr empfehlenswert.
- Klaus Pohl et al.: Software Product Line
Engineering, Springer Verlag, 2005.
- P. Clements, L. M. Northup: Software Product
Lines:Practices and Patterns, 2006.
Als weiterführende Literatur (eher
anwendungs-/praxisorientiert)
Liste der Lehrmodule:
Erläuterungen zu den Spalten:
Inhalt: Die Links führen zu separaten Seiten für die
Lehrmodule.
Umfang: in Vorlesungsterminen zu 90 Min.
SZ: Seitenzahl des Skripts