The course focuses on approaches to collect and manage software requirements. During the course, students will learn the different techniques used to collect requirements in different development contexts. In particular, the course will compare plan-based and agile approaches to requirements collection and analysis. Moreover, students will be introduced to approaches to deal with conflicting requirements.