This paper provides an overview of software systems requirements engineering (RE), highlighting key areas of practice and open research issues. RE is defined as the process of identifying stakeholders' needs and documenting them for analysis, communication, and implementation. The authors discuss the challenges inherent in this process, such as the diversity and conflict of stakeholders' goals, and the difficulty in articulating these goals. The paper outlines the main activities of RE, including eliciting, modeling, analyzing, communicating, agreeing, and evolving requirements. It emphasizes the importance of integrating these activities into a single development process and addresses the role of various disciplines in RE, such as computer science, systems theory, cognitive and social sciences, and philosophy. The authors also discuss the context and groundwork necessary for effective RE, the techniques for eliciting requirements, and the methods for modeling and analyzing requirements. They explore the challenges of communicating, agreeing, and evolving requirements, and the importance of managing change in software systems. Finally, the paper offers a roadmap for future RE research, emphasizing the need for new techniques to formally model and analyze environmental properties, and the continued evolution of RE to meet the demands of modern software development.This paper provides an overview of software systems requirements engineering (RE), highlighting key areas of practice and open research issues. RE is defined as the process of identifying stakeholders' needs and documenting them for analysis, communication, and implementation. The authors discuss the challenges inherent in this process, such as the diversity and conflict of stakeholders' goals, and the difficulty in articulating these goals. The paper outlines the main activities of RE, including eliciting, modeling, analyzing, communicating, agreeing, and evolving requirements. It emphasizes the importance of integrating these activities into a single development process and addresses the role of various disciplines in RE, such as computer science, systems theory, cognitive and social sciences, and philosophy. The authors also discuss the context and groundwork necessary for effective RE, the techniques for eliciting requirements, and the methods for modeling and analyzing requirements. They explore the challenges of communicating, agreeing, and evolving requirements, and the importance of managing change in software systems. Finally, the paper offers a roadmap for future RE research, emphasizing the need for new techniques to formally model and analyze environmental properties, and the continued evolution of RE to meet the demands of modern software development.