Seminar: Design Patterns and Frameworks

Organizational Matters

Prof. Dr.-Ing. Ina Schaefer
Sven Schuster, M.Sc.
Alexander Schlie, M.Sc.
Credits: Depends on the major and your exam regulations, one CP = 30h of work.
Audience: Bachelor and master students studying computer science, business informatics or IST who are interested in scientific work. The participation of lecture Software Engineering 1 is beneficial.
Registration: Use StudIP to register yourself for the seminar. We have limited our capacities to a maximum of 12 attendees!

For a successful participation, the following tasks have to be fulfilled:

  • Written paper about your topic (Bachelor: 6-10 pages, Master: 8-10; both in ACM double column style).
  • Bachelor: 20-25 minutes talk about your topic and discussion. Master: 25-30 minutes talk about your topic and discussion.
  • Review of two other papers + 5 minutes presentation
  • Mandatory participation of all events.



  • 2017-04-12, 09:45am in room IZ 349


Most software systems contain certain common aspects that are frequently reinvented for each system. Solutions to these common problems may vary in quality from system to system. Design patterns seek to communicate these classic solutions in a a general and easy to understand manner by documenting existing and reliable design experience of software developers.

To not only reuse design experience but also concrete design and implementation of common solutions, software frameworks may be developed. A framework aims at providing generic functionality that may be modified and extended by user-written code. To realize extensibility, frameworks typically make heavy use of design patterns.

This seminar aims at giving a broad overview on design patterns and framework design. This knowledge can make the difference between designing good and designing beautiful software systems.


The following topics are available:

  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
Hint: A large amount of this lecture is based on independent work. You should prepare yourself for one work day a week to handle the workload.

Learning objectives and achievable skills

The following skills are achieved in this course:

  • An organized approach to search, read and understand scientific literature.
  • A structured prepearation of the achieved insights.
  • Communication of the achieved results in a talk given in front of the other participants.
  • Personal scheduling of tasks.

  last changed 09.01.2017
TU_Icon_E_Mail_1_17x17_RGB pagetop