This course introduces the activities, concepts, and techniques needed in the eliciting, analyzing, documenting, validating, and managing requirements for complex systems. It explains how requirements development and management fits into a broader systems development process, and provides an understanding of the main challenges in requirements engineering.