The main purpose of this course is to help students to understand the requirements that need to be fulfilled. The focus of this course is how to find and collect requirements from relevant sources both at the start and during a software development project. Different methods for this as well as different underlying principles and formats for documenting and maintaining requirements are covered. In particular, the course covers the problems that arise when requirements engineering is conducted in a fast-paced, cost-sensitive industrial reality. The following topics are covered in the course: Stakeholder Identification and Management, Requirements Elicitation, Writing Requirements and Requirements Specifications, Quality Assurance of Requirements, Prioritizing Requirements, Connections and Alignment between Requirements Engineering and other Software Engineering activities, Requirements Engineering in In-Project vs. Market-driven

Development, Requirements Engineering in Agile and Iterative/Incremental Development