Requirements
Requirements specify the tasks a program must accomplish (what to do, not how to do it)
They often address the user interface
An initial set of requirements are often provided, but usually must be critiqued, modified, and expanded
It is often difficult to establish detailed, unambiguous, complete requirements
Careful attention to the requirements can save significant time and money in the overall project