A software requirement specification is : i) A contract between developers and clients specifying what the developers will produce for the clients. ii) A specification of the features that the target software deliverable must have iii) A specification of the personal and resources that will be committed to the software development effort