This document discusses software requirements and how to document them. It covers the concepts of functional and non-functional requirements, user requirements versus system requirements, and how requirements can be organized in a requirements document. Different ways of specifying requirements are described, including natural language, structured language, tables, and graphical models. The document also discusses issues like ambiguity, completeness, and consistency in requirements.