a) Should correctly define all of the software requirements. A software requirement may exist because
of the nature of the task to be solved or because of a special characteristic of the project.
b) Should not describe any design or implementation details. These should be described in the design
stage of the project.
c) Should not impose additional constraints on the software. These are properly specified in other
documents such as a software quality assurance plan.
Therefore, a properly written SRS limits the range of valid designs, but does not specify any particular
design.