Is a functional overview of the system provided?
Have the software and hardware environments been specified?
If assumptions that affect implementation have been made, are they stated?
Has every definition, acronym and abbreviation been defined in the Glossary?
Are all the definitions, acronyms and abbreviations in the Glossary correct?
Are all the requirements, interfaces, constraints, definitions, etc. listed in the appropriate sections?
Are all inputs to the system specified?
Are all outputs from the system specified?
Are all interface requirements between hardware, software, personnel, and procedures included?
Have all requirements described in the problem statement and in subsequent communications with the customer been specified?
Are all inputs to a function sufficient to perform the required function?
Are undesired events/inputs considered and their required responses specified?
Is the reliability specified, including the consequences of software failure, the vital information that needs to be protected from failure, and the strategy for error detection and recovery?
Are planned changes specified (i.e., maintainability)?
Are acceptable trade-offs between competing non-behavioral properties specified?
Does each requirement avoid conflicts with other requirements?
Does each requirement have a priority? Are the priorities reasonable? (e.g. essential program functionality should not be on a low priority)
Do the requirements avoid specifying design?
Are the requirements at a fairly consistent level of detail? should any requirement be specified in more detail? Should any requirement be specified in less detail?
Are the requirements clear enough to be turned over to an independent group for implementation and still be understood?
Is each requirement testable? Will it be possible for independent testing to determine whether each requirement has been satisfied?