Aufgrund der steigenden Komplexität, Größe und Vernetzung technischer Softwaresysteme sowie der zunehmenden Bedeutung nicht-funktionaler Anforderungen wie Sicherheit oder Prüfbarkeit stellt die Kenntnis modellbasierter Entwicklungsmethoden eine wichtige Kompetenz im Software Engineering dar.
In der modellbasierten Softwareentwicklung werden (semi-)formale Sprachen für die Beschreibung von Softwaresystemen sowie ihrer Problemdomänen genutzt. Durch Modelltransformationen, Codegeneratoren oder die Verwendung von Interpretern lassen sich Artefakte erzeugen, die für das Erzeugen, Testen und die Dokumentation von lauffähigen Softwaresystemen genutzt werden können sowie die Effizienz und Qualität des Entwicklungsprozess verbessern.
Zu Beginn der Veranstaltung werden die grundlegenden Konzepte von Modellen und Metamodellen in Abgrenzung zur Universal Modeling Language (UML), sowie das Potential modellgetriebener Methoden für die Entwicklung und Verifikation von technischen Systemen erläutert. Darauf aufbauend werden im Verlauf der Veranstaltung die notwendigen Konzepte für die Entwicklung eigener domänenspezifischen Sprachen wie textuelle und graphische Editoren, Modell-zu-Modell-Transformationen sowie Interpreter und Code-Generatoren erläutert.
Das Verständnis der einzelnen Themen wird dabei jeweils durch konzeptuelle und praktische Aufgaben unterstützt, die in den Übungen zur Veranstaltung mit den Teilnehmern praktisch bearbeitet und besprochen werden. Hierfür werden aktuelle Werkzeuge und de-facto Standards für die modellbasierte Entwicklung aus dem Eclipse Umfeld verwendet (wie bspw. das Eclipse Modeling Framework, Sirius, ATL, QVT, OCL, Xtext & Xtend, ...).
Die Entwicklung einer eigenen domänenspezifischen Sprache auf Basis der erlernten Fähigkeiten für repräsentative Beispielprobleme bildet den thematischen Abschluss der Veranstaltung.
Die Veranstaltung wird sich dabei an einem aktuellen Lehrbuch zur Thematik orientieren (siehe Literaturhinweise), wobei ausgewählte Inhalte mit Sekundärliteratur ergänzt werden.
39-Inf-5 Techniken der Projektentwicklung (V+Ü im WS)
Java-Kenntnisse erforderlich.
Engineering Modeling Languages: Turning Domain Knowledge into Tools, Benoit Combemale, Robert France, Jean-Marc Jézéquel, Bernhard Rumpe, James Steel, Didier Vojtisek, 2016, ISBN 9781466583733, CRC Press, Chapman & Hall/CRC Innovations in Software Engineering and Software Development Series
Rhythmus | Tag | Uhrzeit | Format / Ort | Zeitraum |
---|
Modul | Veranstaltung | Leistungen | |
---|---|---|---|
39-Inf-MIKE Modularisierter individueller Kompetenz-Erwerb (MiKE) | - | unbenotete Prüfungsleistung | Studieninformation |
39-Inf-VSE Vertiefung Software Engineering | Vertiefung Software Engineering | unbenotete Prüfungsleistung
|
Studieninformation |
39-M-Inf-MIKE Modularisierter individueller Kompetenz-Erwerb (MiKE) | - | unbenotete Prüfungsleistung | Studieninformation |
39-M-MBT-MIKE Modularisierter individueller Kompetenz-Erwerb (MiKE) | - | unbenotete Prüfungsleistung | Studieninformation |
Die verbindlichen Modulbeschreibungen enthalten weitere Informationen, auch zu den "Leistungen" und ihren Anforderungen. Sind mehrere "Leistungsformen" möglich, entscheiden die jeweiligen Lehrenden darüber.
Zu dieser Veranstaltung existiert ein Lernraum im E-Learning System. Lehrende können dort Materialien zu dieser Lehrveranstaltung bereitstellen: