Skip to content
 
 
emo_fb12_progr.jpg
 
  Start  
 
You are here:» University » Mathematik und Informatik » Programming Languages and Software Engineering » Teaching » Sommersemester 2011 » Softwareproduktlinien – Konzepte und Implementierung

Softwareproduktlinien – Konzepte und Implementierung

 

Organisatorisches

Dozent: Dr. Christian Kästner 
Sprache: deutsch
SWS: 2 V, 2 Ü; 6 Credit Points

Ort/Zeit:  Montag 14:15 - 15:45,  SR V Seminarraum 05D09
Übung: Montag 16:15 - 17:45, ab 2.5, SR IV

(Vorlesungs- und Uebungstermine koennen bei Bedarf getauscht werden)

 

Inhalt

Variabilität und Wiederverwendung wird zunehmend wichtiger bei der Softwareentwicklung. Softwareproduktlinien sind ein Ansatz um eine ganze Familie von ähnlichen Programmen für eine Domäne zu erstellen. Dabei können aus einer gemeinsamen Implementierung verschiedene maßgeschneiderte Programme generiert werden.

Stichworte:

Variabilitaet, Produktlinien, Features, Feature-Orientierte Programmierung, Aspekt-orientierte Programmierung, Praeprozessoren, Versionsverwaltung, Komponenten, Frameworks, Feature-Modelle, Domain Engineering, Refactoring, Feature Interaktionen

Inhalte der Vorlesung:
• Einführung in die Problematik maßgeschneiderter Software und Softwareproduktlinien
• Konzeption, Analyse und Modellierung von Variabilität
• Überblick über Implementierungskonzepte für variable und wiederverwendbare Software u.a. Komponenten, Design Pattern, Bedingte Kompilierung, Aspekt-orientierte und Feature-orientierte Programmierung und generative Programmierung.
• Vertiefung von Grundkonzepten (u.a. Separation of Concerns, Information Hiding, Modularisierung, Strukturierte Programmierung und Entwurf)

Qualifikationsziel:
Nach der Beendigung dieser Lehrveranstaltung werden Studierende
• Konzepte von Softwareproduktlinien kennen und anwenden können
• den Nutzen und die Komplexität von maßgeschneiderter Software verstehen und bewerten können
• befähigt sein zur Bewertung, Auswahl und Anwendung verschiedener Implementierungsstrategien

Lehrformen

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.

Softwareproduktlinien-Entwicklungsprozess 

 

Voraussetzung

Erwartet werden Grundlagen der Softwaretechnik, Grundlagen der objekt-orientierten Programmierung und Modellierung, und etwas Programmiererfahrung mit Java oder C++. 

 

Folien

  1. Einfuehrung (13.4.2011; Extras: Massgeschneiderte Datenhaltung)
  2. Entwicklungsprozess und Variabilitaetsmodellierung (Achtung Terminverlegung: 18.4.2011; 14:15!)
  3. Laufzeit-Variabilitaet (2.5.2011; 14:15)
  4. Versionsverwaltungs- und Buildsysteme (2/9.5.2011)
  5. Praeprozessoren (9.5.2011)
  6. Komponenten und Frameworks (16/23.5.2011)
  7. Feature-Oriented Programming (23.5.2011)
  8. Aspect-Oriented Programming (30.5.2011)
  9. Features vs. Aspekte (6.6.2011)
  10. Featureinteraktionen (6/20.6.2011)
  11. Virtuelle Trennung von Belangen (20.6.2011)
  12. Gastvorlesung " Delta-Oriented Programming" Ina Schaefer (27.6.2011)
  13. Fehlererkennung/Analyse fuer Produktlinien (4.7.2011)
  14. Ausblick, Fragen

Uebungsaufgaben

  1. Uebung 1 (2.5.2011, 16:15)
  2. Am 9.5. keine Uebung; wird ggf. als als Vorlesungstermin genutzt
  3. Uebung 2 (16.5.2011)
  4. Uebung 3 (23.5.2011)
  5. Am 30.5 keine Uebung
  6. Uebung 4 (6.6.2011)
  7. Uebung 5 (20.6.2011)
  8. Uebung 6 (27.6.2011)  
  9. Am 4.7 keine Uebung

 

Pruefungstermine

Bisher finden Pruefungen an folgenden Tagen statt: 27.7 und 4.8. Fuer andere Termine bitte anfragen.

Weitere Informationen

 

Zur Orientierung siehe fruehere Veranstaltungen dieser Reihe:  2009, 2008, 2007 

 Feature-Modell Tetris

Literatur

  Kleine Auswahl moeglicher Literatur, genaueres in der Vorlesung:  
[2]
Krzysztof Czarnecki and Ulrich Eisenecker. Generative programming: methods, tools, and applications. ACM Press, New York, NY, USA, 2000.
[ bib | http ]
[3]
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.
[ bib | .pdf ]
[4]
Don Batory. Feature models, grammars, and propositional formulas. In Proc. Int'l Software Product Line Conference (SPLC), pages 7-20, September 2005.
[ bib | .pdf ]
[5]
David L. Parnas. On the criteria to be used in decomposing systems into modules. Communications of the ACM, 15(12):1053-1058, 1972.
[ bib | http ]
[6]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Addison-Wesley Publishing Company, Inc., Reading, Massachusetts, 1994.
[ bib | http ]
[7]
Don Batory, Jacob Neal Sarvela, and Axel Rauschmayer. Scaling step-wise refinement. IEEE Transaction on Software Engineering, 30(6):355-371, 2004.
[ bib | .pdf ]
[8]
Ramnivas Laddad. AspectJ in Action: Practical Aspect-Oriented Programming. Manning Publications, 2003.
[ bib]
[10]
Sven Apel, Christian Kästner, Martin Kuhlemann, and Thomas Leich. Pointcuts, Advice, Refinements, and Collaborations: Similarities, Differences, and Synergies. Innovations in Systems and Software Engineering (ISSE) - A NASA Journal, 3(3-4), 2007.
[ bib | http | .pdf ]
[11]
Sven Apel, Christian Kästner, Martin Kuhlemann, and Thomas Leich. Modularität von Softwarebausteinen: Aspekte versus Merkmale. iX Magazin für Professionelle Informationstechnik, (10):116-122, October 2006.
[ bib | http ]

 

 

 

Last modified: 11.07.2011 · Kästner Christian, Dr. Ing., Mathematik und Informatik, 25349

 
 
 
Fb. 12 - Mathematik und Informatik

Programmiersprachen und Softwaretechnik, Hans-Meerwein-Straße, D-35032 Marburg
Tel. 06421/28-21513, Fax 06421/28-25419, eMail: dinklage@informatik.uni-marburg.de

URL dieser Seite: http://www.uni-marburg.de/fb12/ps/teaching/ss11/spl

Legal