Furthermore, it is now generally accepted that the requirements phase is not confined to the initial stage of the software development, as requirements are continually being refined throughout the life cycle. Indeed work in the maintenance phase involves requirements elicitation in order to assess what the problems are and how to fix them. This model is meant to capture as much of the semantics of the real world as possible and is used as the foundation for an abstract description of the requirements. These include planning, traceability, impact assessment of changing requirements and so on. The SRS, in addition, often acts as a legal document between the customers and the developers.
Project managers utilise it for project planning and management.
In many circumstances it is also used as the basis of the end-users manual or generally a document that the customers will use to understand how the delivered system fits together. Errors in requirements specifications have a large effect on the software costs. It is evident that early detection and correction of potential problems during requirement analysis may alleviate much larger problems later on during testing and maintenance.