A software requirements specification (SRS) is developed based on the agreement between customer and contractors. It is a detailed description of a software system to be developed with its functional and non-functional requirements.
What is SRS
A Software requirements specification may include the use cases of how user is going to interact with software system. The software requirement specification document consistent of all necessary requirements required for project development. To develop the software system we should have clear understanding of Software system. To achieve this we need to continuous communication with customers to gather all requirements.
A good SRS defines the how Software System will interact with all internal modules.Also with hardware. Likewise communication with other programs and human user interactions with wide range of real life scenarios. Using the Software requirements specification (SRS) document on QA lead, managers creates test plan. It is very important that testers must be cleared with every detail specified in this document. Hence in order to avoid faults in test cases and its expected results.
Main Elements of SRS
Business Drivers
This section describes the reasons why the customer is looking to build the system. The rationale for the new system is important as it will guide the decisions made by the business analysts, system architects and developers. Another compelling reason for documenting the business rationale behind the system is that the customer may change personnel during the project. Documentation which clearly identifies the business reasons for the system will help sustain support for a project if the original sponsor moves on.The drivers may include both problems and opportunities.
Business Model
This section describes the underlying business model of the customer that the system will need to support. This includes such items as the organizational context, current-state and future-state diagrams, business context, key business functions and process flow diagrams.
Functional and System Requirements
This section usually consists of a hierarchical organization of requirements, with the business/functional requirements at the highest-level and the detailed system requirements listed as their child items.
Business and System Use Cases
This section usually consists of a UML use case diagram. That illustrates the main external entities that will be interacting with the system. Together with the different use cases (objectives) that they will need to carry out. For each use-case there will be formal definition of the steps that need to be carried out. Hence, to perform the business objective, together with any necessary pre-conditions and post-conditions.
The SRS Structure
- Introduction (purpose, scope, terms, references, overview)
- Overall description (product perspective, functions, user characteristics, assumptions, etc.)
- Specific requirements (for interface, performance, design, etc.)
In Conclusion
SRS (Software Requirements Specification) is a document that describes the system that should be developed and hence, implemented. It contains a full and likewise a detailed description of intended purposes, system behavior, user’s and system requirements. Also, SRS defines the expected system performance and capabilities.
The aim of SRS is to specify the software product in details. In other words, it contains all necessary and important information that the product team should be aware of in order to create the software.