Software Engineering Prof. Dr. Sven Apel Core Lecture — Winter Semester 2019


Currently, no news are available

About the Course

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. In this core lecture (9 CP), we expand on earlier exposure to software engineering (for instance, the software lab / SoPra from Saarland University's Bachelor's program) and do a detailed exploration of software engineering topics like:

  • Requirements Engineering
  • Responsibility-Driven Design
  • Object-Oriented Software Design
  • Software Architecture
  • Coding Techniques and Guidelines
  • Software Maintenance and Evolution
  • Software Testing

The course consists of two parts: A project part, in which you work in a team of 5–7 students with a customer to engineer a prototypical software solution to a problem, and a course part, which provides the necessary skills for completing the projects. Assuming that you already know about programming, the course will specifically focus on the early stages of software development (in particular requirements and design) as well as on the late stages (in particular quality assurance).

This is a highly practical course. Most of your grade will be based on the project, the remaining is based on the written exam. You need to pass the project as well as the written exam.



Registration for the course is mandatory.

For organizational reasons, you have to sign up both in the course registration form given above (not yet possible, activation of the registration form will be announced on this site) and in the LSF.
Deadlines for the LSF (HISPOS) registration will be posted in the LSF (HISPOS) portal.

If you are an international student that cannot register in the LSF (HISPOS), most probably the proof of course completion you will get from us should be enough for your exchange program coordinator. If you are not sure, contact your coordinator.



  • Software Engineering. I. Sommerville. Addison-Wesley, 2004.
  • Software Engineering: A Practioner's Approach. R. Pressman. McGraw Hill Text, 2001.
  • Using UML: Software Engineering with Objects and Components. P. Stevens, R. Pooley. Addison-Wesley, 1999.
  • UML Distilled. M. Fowler, K. Scott. Addison-Wesley, 2000.
  • Objects, Components and Frameworks with UML, D. D'Souza, A. Wills. Addison-Wesley, 1999.
  • Designing Object-Oriented Software. R. Wirfs-Brock, B. Wilkerson, L. Wiener. Prentice Hall, 1990.
  • Design Patterns. Elements of Reusable Object-Oriented Software. E. Gamma, R. Helm, R. Johnson, J. Vlissides. Addison Wesley, 1995.
  • Pattern-Oriented Software Architecture: A System of Patterns. F. Buschmann, R. Meunier, H. Rohnert, P. Sommerlad, M. Stal. Wiley, 1996.
  • Software Architecture: Perspectives on an Emerging Discipline. M. Shaw, D. Garlan. Prentice-Hall, 1996.
  • Refactoring: Improving the Design of Existing Code. M. Fowler, K. Beck, W. Opdyke. Addison-Wesley, 1999.
  • Software Testing and Analysis: Process, Principles and Techniques. M. Pezze. Wiley. 2007.

Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators