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 , Feature-orientierte Programmierung,(16.11.17)
  7. Aspektorientierte ProgrammierungAspekte vs. Features (23.11.17)
  8. Feature-Interaktionen(30.11.17)
  9. Analyse von Produktlinien (07.12.17)
  10.  Refactoring (14.12.17)
  11. Gastvorlesung Dr. Danilo Beuche, pure-systems (21.12.17)
  12. Refactoring/Aktuelle Themen (11.01.18)
  13. Vorstellung der studentischen Projekte (Praktische Aufgabe) (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. AOPvsFOP, Refactoring, Analyse (25.01.18)

 Praktische Aufgabe / Deadlines (FeatureIDE Dokumentation)

 

FeatureIDE Buch

 

Literatur

Buchcover Mastering Software Variability with FeatureIDE

Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, Gunter Saake

234 Seiten,
2017,
ISBN 978-3-319-61442-7 (Print) 978-3-319-61443-4 (Online),
Springer-Verlag Berlin Heidelberg

 

 

[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 A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Computing Surveys, 47(1):6:1–6:45, June 2014.[ .pdf]

[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: 21.01.2018 - Ansprechpartner:

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