Requirements and specifications need to be written in a manner
that balances two key aspects:
(1) they should be readable, and
(2) they should lend themselves to various forms of automated processing.
Requirements
Specifications
Initial requirements are informal, incomplete,
and often ambiguous ....
Specifications are based upon a detailed knowledge
of a product and its (required or established) capabilities...
The system should ....
The system must ....
Requirements and capabilities:
The system (input) requirements are ....
The system (output) capabilities are ....
Constraints:
You'll need to make sure .....
Natural language sentences.
Technical sentences (e.g., written in BNF).
UML-like class diagrams for system structure.
UML-like FSM/statechart and activity diagrams for system behavior.
Equations, charts, tables .....
Design rules .....
Validation of requirements supported by traceability to
specifications and design subsystems/objects.
Verification of specifications supported by formal testing procedures,
numerical simulations of system behavior,
experiments in the lab ... etc.
Table 1. Comparison of Requirements and Specifications