This document provides an introduction to requirements engineering for software systems. It defines requirements engineering as the process of defining, documenting, and maintaining requirements in the engineering design process. It notes that requirements are descriptions of how a software product should perform. The document outlines some key topics in requirements engineering including what requirements are, the roles and responsibilities of requirements engineers, and the roles of customers. It also discusses some challenges in requirements engineering such as having numerous stakeholders with potentially conflicting goals.