english | deutsch

Software Patterns ST 2017


course management


Prof. Dr. Walid Maalej

Teaching assistants

 Dr. Davide Fucci and Christoph Stanik


Master: Informatics, ITMC, Intelligent Adaptive Systems, Information Systems.
This course is part of the module “Empirical Software Engineering”.


The lecture “Software Patterns” deals with the topic Software Engineering Knowledge using empirical, experience-based patterns to solve typical recurring problems in software projects. This applies to both classic design patterns (patterns and anti-patterns), which are known in the field of Software Architecture, as well as modern, domain- and task-specific patterns such as process and project management patterns, or usability patterns.


  • Basic knowledge in empirical methods and how they can be applied in the field of software engineering
  • Current topics in experience-based software patterns
  • Insights about the state of the art and current research topics in software engineering 

Course Material

The weekly material can be accessed on MIN-CommSy.

PRELIMINARY TIMELINE (under construction)

Date Start End Main subject Location Topics
5.4 10:15 11:45 Introduction D-220  Theory behind patterns
12.4 10:15 11:45 Design patterns I D-220 Adapter, Bridge, Proxy, Composite
19.4 10:15 11:45 Object Oriented Thinking D-220 Inheritance, Delegation, Polymorphism
26.4 10:15 11:45 Design Patterns II D-220 SOLID principles, Observer, Strategy, Template
3.5 10:15 11:45 Design Patterns III D-220 (Abstract) Factory, Command
10.5 10:15 11:45

Architecture Patterns I

D-220 Layered Systems, Blackboard, MVC 
17.5 10:15 11:45 Architecture Patterns II D-220 Client-Dispatcher-Server, Broker
24.5 10:15 11:45 Usability Patterns I D-220 Usability for Mobile: Patterns and Anti-Patterns
31.5 10:15 11:45 Usability Patterns II D-220 Usability for Mobile: Anti-Patterns
14.6 10:15 11:45 Guest Lecture (Lars Vogel) D-220 Open Source Patterns Based on Experience from Eclipse
28.6 10:15 11:45 Testing Patterns I D-220 Unit Testing, Dependency Injection, Mocks
5.07 10:15 11:45 Testing Patterns II + Collaboration and Management Patterns D-220 *DD, Mutation Testing, CI & CD
12.07 10:15 11:45 Knowledge and Documentation Patterns + Summary D-220  





Chistopher Alexander, Sara Ishikawa, Murray Silverstein, Max Jacobsen, Ingrid Fiksdahl-King and Shlomo Angel:
A Pattern Language
Oxford University Press, 1977.


Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides:
Design Patterns: Elements of Reusable Object-Oriented Software.
Addison Wesley, 1994.


Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad and Michael Stal:
Pattern-Oriented Software Architecture: A System of Patterns.


Theresa Neil:
Mobile Design Pattern Gallery: UI Patterns for Smartphone Apps.
O’Reily Media, Inc., 2014.