This assignment investigates the crucial nature of non-functional requirements in software development. It analyzes various approaches to elicit and model these requirements, highlighting their influence on software quality attributes such as security, performance, usability, and maintainability. The text delves into research papers and real-world examples to provide a comprehensive understanding of the challenges and best practices associated with handling non-functional requirements throughout the Software Development Life Cycle (SDLC).