SRS stands for “Software requirement specification”. It is a document prepared by business analyst. It describes what will be the feature of software and what will be the behavior that is how it will perform which is going to be build.
SRS is the detailed description of software system to be developed with its functional and nonfunctional requirement. Software requirement specification document consist of all the necessary requirements required for the project development.
In order to get all the details of software from customer and to write the SRS document, Business Analyst is required. Software requirement specification document is actually an agreement between the client and Project development team.
Elements of Software requirement specification Document:
- Functional requirement
- Non-Functional/performance requirements
- Design constrains.
- External interface requirements
Functional Requirement: Functional requirements specify what output should be produced from the given inputs. So, they basically describe the connectivity between the input and output of the system. It tells us what the behavior of the software will be, what will be the features in the software.
- For each functional requirement a detailed description of all the data inputs and their sources, the units of measure and the range of valid input to be specified.
- All the operations to be performed in the input obtain the output should be specified.
- It should contain any algorithm that are not part of the system but may be needed to implement the system.
- It should specify what system should do if system behaves abnormally when any invalid input is given or due to some error during computation. Software requirement specification Document should specify the behavior of the system for invalid inputs and invalid outputs.
Non-Functional/performance requirements: The part of an software requirement specification documents specify the performance constraints on the software system. All the requirements related to the performance characteristics of the system must be clearly specified. Performance requirements are typically expressed as processed transactions per second or response time from the system for a user event or screen refresh time from the system for a user event or screen refresh time or combination of these. It is good idea to pin down the performance requirements for the most used critical transaction, user events and screens.
Design constrains: The client environment may restrict the designer to include some design constraints that must be followed. The various design constraints are standard compliance, resource limits, operating environment, reliability and security requirements and policies that may have an impact on the design of the system. A Software Specification Requirements Specification document should identify and specify all such constraints.
- Standard Compliance: It specifies the requirements for the standards the system must follow. The standards may include the report format and according to procedure.
- Hardware Limitations: The software needs some existing or predetermined hardware to operate, thus imposing restriction on the design. Hardware limitations can include the types of machines to be used operating system and available memory space.
External interface requirements: All the possible interaction of the software with people hardware and other software should be clearly specified. The characteristics of each user interface of the software product should be specified. The Software requirement specification document should specify the logical characteristics of each interface between software product and the hardware components for hardware interfacing.