Requirements Engineering I

Module number: 03SM22BMI003
Teaching language: English
ECTS Credits: 3


There will be no class on Monday November 14. This gives the students time for working on homework assignment 2. I suggest to use the time slot on Monday 10-12 for a group meeting.

There will be no class on Monday October 24. This gives the students time for working on homework assignment 1. I suggest to use the time slot on Monday 10-12 for a group meeting.

The class of October 3 will be given online only. Please use the Zoom link given in OLAT.

The course starts on Monday Sept 19, 2022 at 10:15 in room BIN 2.A.01.

Course Description

Having a good requirements specification is a critical prerequisite for any successful software project.

This course gives an introduction to the principles, practices, languages, methods, and processes for specifying and managing requirements.

The topics include:

  • Introduction
  • Fundamentals of Requirements Engineering
  • Requirements Engineering work products and documentation practices
    • Specification with natural language
    • Model-based specifications
    • Prototyping
    • Formal specification
  • Requirements elaboration
    • Elicitation and negotiation
    • Quality requirements and Constraints
    • Validation
  • Requirements Engineering processes
  • Requirements management and tools

Also see the official description of the course in the Electronic Course Catalogue of the University of Zurich.

Target Audience

Master's or advanced Bachelor's students, who are interested in requirements engineering:

  • BSc Computer Science students in all fields of study, usually in the fifth semester;
  • MSc Computer Science students in all fields of study, who have not already taken the course during their BSc studies;
  • MSc or advanced BSc students, having Computer Science as a minor ("Nebenfachstudierende").

For the students whose study major is Software Systems, this module is strongly recommended.


  • Bachelor of Science in Computer Science: elective module
  • Master of Science in Computer Science: elective module (unless already completed during the BSc studies)
  • Minor studies in Computer Science: elective module


Basic knowledge in software development and modeling


Instructor: Prof. Dr. Martin Glinz


This course is held physically in classes of two academic hours on Monday 10:15-12:00 during the semester.

Note that a few classes may be replaced by self-study tasks or work on a case study.


The course includes two homework assignments, which are taken into consideration for the course evaluation. More information


In order to pass the course, you have to

  • Do the homework handed out in the two assignments and submit the results by the given deadlines,


  • Attend and pass the final exam.

Missing the submission deadlines, submitting incomplete solutions to assignments or solutions on which you obviously haven't worked seriously will be considered as fails.

The  course grade is entirely based on your performance in the final exam.

The final exam will take place on-site on Monday, January 16 2023, 10:15 - 12:00.

You will be allowed to use the official course materials as well as one double-sided sheet of paper with personal notes if it satisfies the following requirements:

  • Paper format A4,
  • Hand-written by yourself,
  • Legible without auxiliary technical means,
  • Does not contain any deliberately concealed information.

Please note: In case of only few participants, we reserve the right to replace the written exam by oral exams (with individual exam dates).

Sample Exam

To support your preparation for the final exam, we provide a sample RE I exam from HS 2013. It may help you get a feeling how the exam looks like and what level of detail we expect. To evaluate your knowledge correctly, we recommend that you only compare your solutions with the ones provided here after you have solved the entire exam on your own, under exam conditions.

Note that this sample exam neither suggests nor guarantees that the topics and questions in this year's exam will be the same as those in the sample exam.

Sample Exam RE I (PDF, 247 KB)

Solution Sample Exam RE I (PDF, 365 KB)

Academic Conduct

Students should know where to draw the line between getting legitimate outside assistance with course material and outright cheating. Students who obtain too much assistance without learning the material ultimately cheat themselves the most. Submitting the work of another person as your own (i.e., plagiarism) constitutes academic misconduct, as does communication with others (either as donor or recipient) in ways other than those permitted for assignments and exams. Such actions will not be tolerated. All offences will be reported to the Department of Informatics, University of Zurich.

For more information on the treatment of plagiarism at UZH, please refer to the Information Sheet on the Treatment of Plagiarism.