This document summarizes a lecture on requirements engineering. It discusses defining functional and non-functional requirements, writing user and system requirements, and techniques for gathering requirements such as interviews and questionnaires. It also covers writing software requirements documents, checking requirements for validity and completeness, and the iterative nature of requirements engineering processes.