See: specification, requirements.
A formal document that captures the problem need and solution requirements of the new system. The spec must be written such that the requirements are testable, modifiable, traceable, concise, complete, non-ambiguous, and can be used to drive design, the user manual, and testing. The Requirements spec is composed primarily of use cases.
A complete description of the behavior of the software to be developed. It includes a set of use cases that describe all of the interactions that the users will have with the software. In addition to use cases, the SRS contains functional requirements, which define the internal workings of the software: that is, the calculations, technical details, data manipulation and processing, and other specific functionality that shows how the use cases are to be satisfied. It also contains nonfunctional requirements, which impose constraints on the design or implementation (such as performance requirements, quality standards or design constraints).
A deliverable that describes all data, functional and behavioral requirements, all constraints, and all validation requirements for software
Documentation of the essential requirements (functions, performance, design constraints, and attributes) of the software and its external interfaces. (IEEE Standard 610.12-1990)
A software requirements specification (SRS) is a complete description of the behavior of the system to be developed. It includes a set of use cases that describe all of the interactions that the users will have with the software. Use cases are also known as functional requirements.