Object-oriented Software Construction


This module introduces central methods, techniques, and processes of systematic software construction based on object-oriented concepts. The lecture covers the following topics:

  • Foundations of object orientation
  • Software reuse
  • Design by Contract
  • Inheritance, polymorphism, and generics
  • Software design principles
  • Domain modeling, domain-driven design
  • Component Technology
  • Advanced patterns and frameworks
  • Smells and Refactoring

Learning objectives

After completing the module the students have the following knowledge and competencies. They …

  • know how to apply important object-oriented modeling concepts
  • are able to perform use case based and domain-driven design
  • know the concepts of framework based development
  • know important design patterns and are able to apply patterns in architectural design
  • know how to improve code and architecture based on smells and refactoring
  • know the architecture of Java-based component models

Benefits for future professional life / soft skills

All competencies are trained in the exercises, where small teams of students have to create typical analysis, design, and implementation artifacts. They have to present and discuss their solutions and ideas in front of the class. As professional knowledge on software construction is provided, students gain personal and professional competencies that enable them to work as software architects.


  • Meyer, B. (1997) : Object-Oriented Software Construction, 2nd edition, Prentice Hall.
  • Züllighoven, H. (2005): Object-Oriented Construction Handbook – Developing Application-Oriented Software with the Tools and Materials Approach. dpunkt.verlag, Heidelberg.
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (1995): Design Patterns, Addison-Wesley
  • Fowler Martin (1999): Refactoring - Improving the design of existing code, Addison Wesley.

Course information

Course type

Lecture & exercise


Winter semester 2024/2025

Course language
  • English
Course level
  • Master
Credit points 1


1: The actual number of credit points can vary depending on the study program's examination regulation version. Consult your examination regulation's module catalog or the campus information system to see the valid number of credit points.