After successfully completing the course, the student:
- knows the phases of the RE process and understands their interplay
- can choose the most suitable technique for a given phase depending on the needs
- is able to express requirements in different formalisms, ranging from agile development to safety-critical systems
- understands and can execute automated reasoning techniques for analyzing requirements
- is able to read and comprehend state-of-the-art literature in the RE field
The repair test requires at least a 4 for the original test.
This course provides students with in-depth knowledge on the field of requirements engineering (RE).
The course is inevitably interdisciplinary, for RE is intended to elicit the vague, informal needs from the stakeholders and build a precise, formal specification for a software system to build before the course starts.
The course will cover the following topics:
- The RE process and its activities
- Standards and tools
- Agile RE, user stories
- Requirements elicitation
- Linguistic aspects of natural language requirements
- From requirements to architectures
- Requirements prioritization
- Maturity assessment
- (Verification of) formal specifications
- Release planning
- Requirements traceability
- Crowd RE
Lectures, workshops/labs, and a project.
Papers, book chapters, and course slides will be made available throughout the course.