Implementierungstechniken für Software-Produktlinien (ISP)

epmd-08.pdf Organisatorisches

Dozent:  Gunter Saake
Vorlesung:  LSF-Eintrag
Übungsleiter:  Fabian Benduhn
Übung:  LSF-Eintrag
Prüfungsvoraussetzungen
  • Vorlesung und vorlesungsbegleitende Übung mit Fragenkatalogen einschließlich einer Projektarbeit zu einem ausgewählten Thema der Vorlesung; selbständiges Bearbeiten der Übungsaufgaben und des ausgewählten Themas als Voraussetzung für die Prüfung. Die Projektarbeit kann in die Endnote mit einfliessen. Details werden in der ersten Vorlesung bekanntgegeben.

Aktuelles

  • Vertiefung im Bereich der Produktlinien ist über Software-Projekte, Individualprojekte, Teamprojekte, Abschlussarbeiten und Seminare möglich.

Inhalt

  • Verständnis von Grenzen traditioneller Programmierparadigmen bzgl. der Entwicklung von Informationssystemen
  • Übersicht über verschiedene Möglichkeiten zur Implementierung von Softwareproduktlinien
  • Kenntnisse über moderne, erweiterte Programmierparadigmen mit Fokus auf die Erstellung maßgeschneiderter Systeme
  • Befähigung zur Bewertung, Auswahl und Anwendung erweiterter Programmiertechniken
  • Einführung in die Problematik maßgeschneiderter Systeme am Beispiel von embedded DBMS.
  • Modellierung und Implementierung von Programmfamilien, Produktlinien und Softwarefabriken.
  • Einführung in Grundkonzepte (u.a. Separation of Concerns, Information Hiding, Modularisierung, Strukturierte Programmierung und Entwurf).
  • Überblick über erweiterte Programmierkonzepte u.a. Komponenten, Frameworks, Design Pattern, Meta-Objekt-Protokolle und Aspekt-orientierte Programmierung, Kollaborationen und Rollen, Metaprogrammierung.

Vorlesung

  1. Einführung, Organisatorisches (12.10.17)
  2. Software-Produktlinien, Entwicklungsprozess, Variabilitätsmodellierung (19.10.17)
  3. Laufzeitvariabilität (26.10.17)
  4. Versionsverwaltung, Buildsysteme (02.11.17)
  5. Präprozessoren (9.11.17)
  6. Komponenten, Frameworks  (16.11.17)
  7. Feature-orientierte Programmierung (23.11.17)
  8. Aspektorientierte Programmierung (30.11.17)
  9. Aspekte vs. Features (07.12.17)
  10. Feature-Interaktionen (14.12.17)
  11. Gastvorlesung Dr. Danilo Beuche, pure-systems (21.12.17)
  12. Aktuelle Themen (11.01.18)
  13. Aktuelle Themen (18.01.18)
  14. Big Picture, Ausblick (25.01.2018)

Übung

  1. am 19.10 keine Übung
  2. Software-Produktlinien (26.10.17)
  3. FeatureIDE/Praktische Aufgaben (kein neues Übungsblatt) (02.11.17)
  4. Design Pattern (9.11.17)
  5. Keine Übung
  6. Parameter, Versionsverwaltung, Build-Systeme (23.11.17)
  7. Präprozessoren (30.11.17)
  8. Komponenten, Services, Frameworks (07.12.17)
  9. Feature-Orientierung (14.12.17)
  10. Aspektorientierung (11.01.18)
  11. Feature-Interaktionen (18.01.18)
  12. Aktuelle Themen/Wiederholung (25.01.18)

 Praktische Aufgabe / Deadlines (FeatureIDE Dokumentation)

  • 08.11.17: Domänenanalyse / Laufzeitvariabilität (Projektidee mit Übungsleiter absprechen!)
  • 23.11.17: Präprozessoren
  • 30.11.17: Blackbox-Framework
  • 07.12.17: FOP
  • 10.01.18: AOP  (für Master-Studenten)

 

FeatureIDE Buch

 

Literatur

[1] Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. Scaling step-wise refinement. 30(6):355-371, 2004. [ DOI | .pdf ]

[2] David L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053-1058, 1972. [ DOI | http ]

[3] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Addison-Wesley Publishing Company, Inc., Reading, Massachusetts, 1994. [ http ]

[4] Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, 2003. [ http ]

[5] K. Kang et al. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Pittsburgh, PA, USA, November 1990. [ .pdf ]

[6] Krzysztof Czarnecki and Ulrich Eisenecker. Generative programming: methods, tools, and applications. ACM Press, New York, NY, USA, 2000. [ http ]

[7] Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. Analysis Strategies for Software Product Lines: A Classification and Survey. pages 57-58, Bonn, Germany, March 2015. Gesellschaft für Informatik (GI).
[8] Thomas Thüm, Christian Kästner, Fabian Benduhn, Jens Meinicke, Gunter Saake, and Thomas Leich. FeatureIDE: An Extensible Framework for Feature-Oriented Software Development. Science of Computer Programming, 79(0):70-85, January 2014. [ DOI ]

Letzte Änderung: 13.11.2017 - Ansprechpartner:

Sie können eine Nachricht versenden an: Webmaster
Sicherheitsabfrage:
Captcha
 
Lösung: