TU BRAUNSCHWEIG

Seminar: Design Patterns und Frameworks

Organisatorisches

Dozent
Betreuer:
Prof. Dr.-Ing. Ina Schaefer
Sven Schuster, M.Sc.
Alexander Schlie, M.Sc.
Credits: Je nach Studiengang und Abschluss; ein CP/LP = 30 h aufzuwendende Zeit
Zielgruppe: Bachelor und Master-Studierende der Studiengänge Informatik, Wirtschaftsinformatik und IST mit Interesse an wissenschaftlichem Arbeiten. Die vorherige Teilnahme an der Vorlesung Software Engineering 1 ist vorteilhaft.
Anmeldung: Die Seminarvergabe erfolgt über Stud.IP. Die Veranstaltung ist auf maximal 12 Teilnehmer begrenzt! 
Bewertung:

Für die erfolgreiche Teilnahme an der Veranstaltung sind folgende Kriterien vollständig zu erfüllen:

  • Schriftliche Ausarbeitung zum Thema (Bachelor: 6-10 Seiten, Master 8-10 Seiten; jeweils in ACM Format).
  • Bachelor: 20-25 minütiger Vortrag + Diskussion zum Thema. Master: 25-30 minütiger Vortrag + Diskussion zum Thema.
  • Begutachtung von zwei anderen Ausarbeitungen + 5 min Vortrag
  • Teilnahme an allen Veranstaltungen.

Termine:

Kickoff:

  • 12.04.17 um 09:45 Uhr in Raum IZ 349

Inhalt

Viele Software-Systeme enthalten gemeinsame Aspekte, die häufig für jedes System neu erfunden werden. Lösungen für diese gemeinsamen Probleme können qualitativ von System zu System variieren. Entwurfsmuster (Design Patterns) zielen darauf, diese klassischen Lösungen in einer allgemeinen und leicht verständlichen Weise zu kommunizieren, indem bestehende und zuverlässige Design-Erfahrung der Software-Entwickler dokumentiert wird.

Um nicht nur Design-Erfahrung, sondern auch konkrete Gestaltung und Umsetzung von gemeinsamen Lösungen wiederzuverwenden, werden mitunter Software-Frameworks entwickelt. Ein Framework zielt darauf ab, generische Funktionalität bereitzustellen, die durch benutzerdefinierten Code modifiziert und erweitert werden kann. Zur Realisierung der Erweiterbarkeit in Frameworks werden überlicherweise Design Patterns stark genutzt.

Ziel dieses Seminars ist es, einen umfassenden Überblick über Design Patterns und Frameworkdesign zu geben. Dieses Wissen kann den Unterschied zwischen dem Entwerfen guter und dem Entwerfen hervorragender Software-Systeme bilden.

Themen:

Folgende Themen stehen zur Auswahl:

  1. Patterns for Variability
  2. Patterns for Object Creation
  3. Patterns for Architectural Glue
  4. Patterns for Recursive Extensibility
  5. Patterns for Flat Extensibility
  6. Anti-Patterns
  7. Structural Architectural Patterns
  8. Patterns for Distributed Systems
  9. Patterns in Framework Design
  10. Framework Extensibility
  11. Framework Tools
  12. Software Product Line Implementation
    with Design Patterns & Frameworks
Hinweis: Ein Großteil der Veranstaltung besteht aus selbstständiger Arbeit. Alle Teilnehmer sollten deshalb ca. 1 Arbeitstag pro Woche für die Bearbeitung der jeweiligen Aufgabe einkalkulieren und dies auch in ihrer Zeitplanung für das Semester berücksichtigen.

Lernziele & erworbene Kompetenzen

Als übergeordnete Lernziele werden in dieser Veranstaltung folgende Kompetenzen erworben:

  • Strukturiertes Vorgehen beim Suchen, Lesen und Verstehen von (zumeist englischsprachiger) Fachliteratur
  • Strukturierte Aufbereitung der erworbenen Erkenntnisse
  • Weitergabe der Erkenntnisse im Rahmen einer Präsentation
  • Persönliches Zeitmanagement

  aktualisiert am 09.01.2017
TU_Icon_E_Mail_1_17x17_RGB Zum Seitenanfang