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. The key aspects of requirements engineering are establishing customer needs, analyzing and documenting system constraints and services, and checking requirements for validity, consistency and completeness.