Object-oriented Software Construction

Organizational information

  • The lectures are given on Thursdays (14:30-16:00, lecture hall AH 2) and Fridays (10:30-12:00, lecture hall AH 6), starting on Oct 13.
  • The exercises are given on Fridays (12:30:14:00, lecture hall AH 6).
  • To be admitted to the exam, you need to successfully participate in the exercises.
  • Only 90 seats are available for the exercises. To get a seat, register for the OOSC exercises in RWTHonline until October, 23rd.
  • The registration results are announced on October, 25th.
  • Further information regarding the organization of the course is given in the first lecture and the RWTHmoodle course room.

Content

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.

Literature

  • 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

Lecturers
Assistants
Course type

Lecture & exercise

Semester:

Winter semester 2022/2023

Course language
  • English
Course level
  • Master
Credit points 1

6

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.