Lehrstuhl für Angewandte Softwaretechnik
Chair for Applied Software Engineering

Patterns in Software Engineering (2015 / 2016)


Professor: Prof. Bernd Brügge, Ph.D.
Instructors: Andreas SeitzZardosht Hodaie

Objective

You will learn the principles of patterns in software development and the structure of pattern-based software systems. You will also become familiar how to apply patterns in a variety of problem situations and how handle the patterns in concrete applications. You will practice application of the patterns in exercises during the lecture.

Note the special course format: Lectures and Exercise are not separate, they are heavily intertwined. The course blends exercises with the lecture: the exercises are being held in the class room right after the pattern is introduced.

Time and Location

Lecture including in-place exercises will take place on Monday from 10:00 to 14:00 (HS1). There will be small breaks during class.

  • October, 19 2015 - 10:00 to 14:00 - MI HS 1 - Introduction
  • October, 26 2015 - 10:00 to 14:00 - MI HS 1 - Basic Concepts
  • November, 2 2015 - 10:00 to 14:00 - MI HS 1 - Design Patterns 1
  • November, 9 2015 - 10:00 to 14:00 - MI HS 1 - Design Patterns 2
  • November, 16 2015 - 10:00 to 14:00 - MI HS 1 - Design Patterns 3
  • November, 23 2015 - 10:00 to 14:00 - MI HS 1 - Architectural Patterns 1
  • November, 20 2015 - 10:00 to 14:00 - MI HS 1 - Architectural Patterns 2
  • December, 7 2015 - 10:00 to 14:00 - MI HS 1 - Anti Patterns 1
  • December, 14 2015- 10:00 to 14:00 - MI HS 1 - Anti Patterns 2
  • December, 21 2015  - 10:00 to 14:00 - MI HS 1 - Testing Patterns 1
  • December, 28 2015 - No lecture
  • January, 4 2016 - No Lecture
  • January, 11 2016 - 10:00 to 14:00 - MI HS 1 - Testing Patterns 2
  • January, 18 2016 - 10:00 to 14:00 - MI HS 1 - Pattern-based Reengineering
  • January, 25 2016 - 10:00 to 14:00 - MI HS 1 - Guest Lecture: Organizational Patterns in Global Software Engineering
  • February, 1 2016 - 10:00 to 14:00 - MI HS 1 - Architectural Patterns 3 & Repetitorium

Exam

General Information

  • Course description in TUMOnline (https://campus.tum.de/tumonline/wblv.wbShowLvDetail?pStpSpNr=950209666)
  • For slide downloads and discussion regarding class, access the Moodle Course (https://www.moodle.tum.de/course/view.php?id=22907)
  • Module Number: IN2081
  • Prerequisite: "Introduction to Software Engineering"

 Recommended Reading

  • C. Alexander, S. Ishikawa, and M. Silverstein, A Pattern Language: Towns, Buildings, Construction, Oxford University Press, 1977
  • C. Alexander, The Timeless Way of Building, Oxford University Press, 1979.
  • S.W. Ambler, Process Patterns: Building Large-Scale Systems Using Object Technology, Cambridge University Press, 1998.
  • W.J. Brown, H.W. McCormick, and S.W. Thomas, Anti-Patterns and Patterns in Software Configuration Management, John Wiley & Sons, 1999.
  • B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering Using UML, Patterns, and Java, 3rd ed. Prentice Hall, 2009.

  • F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, and M. Stal, Pattern-Oriented Software Architecture Volume 1: A System of Patterns, Wiley, 1996.
  • A. Elssamadisy, Agile Adoption Patterns: A Roadmap to Organizational Success, Addison-Wesley Professional, 2008.
  • M. Fowler, Analysis Patterns Reusable Object Models, Addison Wesley, 1996.
  • E. Freeman, B. Bates, and K. Sierra, Head First Design Patterns, O'Reilly Media, Inc., 2004.
  • R.P. Gabriel, Patterns of Software: Tales from the Software Community, Oxford University Press, USA, 1998.
  • E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design patterns: elements of reusable object-oriented software, Addison Wesley, 1995.
  • J. Thomas, M. Young, K. Brown, and A. Glover, Java Testing Patterns, Wiley, 2004.