Software Requirement Specification (SRS) - Guide Book
Software Requirement Specification (SRS) - Guide Book
SRS is one of the vital documents in any project as it bridges the gap between what
business wants and what they will get by documenting the broad layout, characteristics,
and workflows of the software being developed.
Since a software’s major requirements are clearly organized and elaborated in an SRS,
it’s commonly used for estimating the cost and effort required for developing that
software. At times, it’s even used as a contractually binding document between two
parties since it contains enough details to reach an agreement.
You can view an SRS as a document that ‘elaborates’ the BRD’s high-level statements
into module, sub-module, and features without elaborating them in-depth.
The systems analyst of the project prepares the SRS; however, in case a systems analyst
is not available on the project, it has to be authored by the business analyst.
To prepare an SRS, the analyst has to conduct requirement elaboration sessions with the
relevant stakeholders, meticulously analyze all the aspects of the software being
developed and then list down the requirements against each one of them. It’s ensured
that every listed requirement in an SRS should fulfill the business objectives listed in the
BRD
Don’t be surprised if you don’t find the SRS document within some organizations.
Some organizations or small projects do not create an SRS and instead elaborate their
BRD to accommodate the functional, non-functional requirements and use case details.
SRS may sometimes be called Product Requirements Document (PRD) and System
Requirements Specification document, however, the essence and the contents of the
documents remains the same.
SRS document is prepared before the FRS document but after the BRD
Since the SRS document is an elaboration of the information contained within the
Business Requirement Document (BRD), it's prepared after the BRD. However, the
Functional Requirement Specification (FRS) document is prepared after and in line with
the SRS document.
Unlike the BRD document that defines the high-level requirements and the business
case, the SRS document is prepared during the ‘planning’ stage of the project with other
requirement documents like the FRS, Use case documents, and Functionality Matrix.
Just like the BRD and FRS document, no technical or infrastructure-related details are
ever included in an SRS.
Let’s take a quick look at the primary audience of the SRS document
Project managers oversee the preparation of the SRS document and ensure the
alignment of its content with the BRD
SMEs (subject matter experts) evaluates the correctness of the information
presented in the SRS
The project’s technical architects and Implementation Lead responsible for the
design and development of the listed functionalities.
Business stakeholders carefully review the SRS in order to ensure it lists all the
system features and functionalities
Development/Technical team
Testing Team
If the business analyst has carefully and meticulously created the BRD document for the
project, then, believe me, half of the battle is already won!
The SRS document being a functional extension of the BRD document borrows quite a
lot of sections from it, and we will now concentrate on the unique sections of the SRS
document.
Role Name: The name of the role as per the application nomenclature
Role Designation/Title: The designation or title of the users to whom this role can
be assigned
Role Description: A brief description of the role itself, its underlined rights &
privileges on the application and the characteristics of the user to whom this role
is assigned
Frequency of use: Specify how often the user with this role uses the system
System Features
Functionality is defined as a desired output or result expected from the system after a
(series of) input. For any system with a moderate level of complexity, such
functionalities are grouped to form a ‘feature’ and similar features constitute a
‘module’.
Each of the requirement should be backward traceable by explicitly reference its source
(business requirement ID) in earlier documents and should be organized in the below
format:
Any such details and/or diagrams related to the solution process flow, data flow, and
information flow should come here. Also, if there are multiple processes within the
system, the details of where those processes fit on, how are they interconnected (if they
are), and to what effect they are used, should be included.
Wireframes/Prototype
Prototype or mockup is an initial version of a product and gives a visual depiction of
the end product. A prototype or wireframe of the software being created should be
included under this section to depict any data or process-based navigation, to represent
different scenarios and to project the general look and feel of the application being
created.
The aim of the prototypes should be to validate the understanding of the requirements
and get initial feedback against the user interface and design elements.
This section should contain a listing of all the use cases that are supposed to be
prepared during the analysis phase of the project along with a brief description of the
functionalities, scenarios, and flows contained within each one of them.
In this lesson, I have summarized some of the highly practical tips for SRS
documentation, which I have noticed are very easy to implement but have a massive
impact on the documents you prepare as a BA.
screen. Then, the system will send an email on their registered email id, which,
when clicked, will bring the user to a new screen. On this new screen, the user
can now change his password.
The steps to be followed while changing the password are:
1. Click on the ‘Change Password’ link on the ‘Login’ page
2. The flow goes to a ‘Confirmation’ screen where the user’s registered email ID
should be entered
3. The system sends a ‘Reset Password’ link on the registered email ID (entered
in the previous step)
4. Clicking on this link will bring the user on the ‘Change Password’ screen
5. The new password could be set on this screen
The web application should have a The web application should support
multilingual support English, French and German
languages
The user interface should work in all The user interface should work in IE,
the major browsers chrome and safari browser
In case of wrong credentials system In case of incorrect credentials, the
should give a ‘proper’ alert message system should show an alert message
reading ‘Invalid Credentials. Please
check the email ID/password entered.