Software Requirements
Define the functionality of the system
Answer the question "what?", not "how?"
Define constraints on the system
Kinds of requirements
Functional requirements
Non-functional requirements
It is always hard to describe and document the requirements in comprehensive and not ambiguous way
Good requirements save time and money
Requirements always change during the project!
Good software requirements specification reduces the changes
Prototypes significantly reduce changes