software requirements specification

views updated

software requirements specification A document that defines what a program or software system is required to do and the constraints under which this required functionality must be provided. These constraints are often referred to as nonfunctional requirements; they may affect the way in which the software is developed (e.g. for safety-critical or security-critical software) or may impose physical limits on the space, size, and performance of the software to be developed. A software requirements specification will usually be based upon an abstract model, which leaves open the design and implementation decisions; this model is developed using a recognized requirements-analysis method and is possibly supported by the use of a CASE tool.