SRS Document
SRS Document
(SRS) Format
Difficulty Level : Easy
Last Updated : 13 Dec, 2021
Read
Discuss
Practice
Video
Courses
In order to form a good SRS, here you will see some points which can be used and should
be considered to form a structure of good SRS. These are as follows :
1. Introduction
(i) Purpose of this document
(ii) Scope of this document
(iii) Overview
2. General description
3. Functional Requirements
4. Interface Requirements
5. Performance Requirements
6. Design Constraints
7. Non-Functional Attributes
8. Preliminary Schedule and Budget
9. Appendices
Software Requirement Specification (SRS) Format as name suggests, is complete
specification and description of requirements of software that needs to be fulfilled for
successful development of software system. These requirements can be functional as well
as non-functional depending upon type of requirement. The interaction between different
customers and contractor is done because its necessary to fully understand needs of
customers.
2. General description :
In this, general functions of product which includes objective of user, a user
characteristic, features, benefits, about why its importance is mentioned. It also
describes features of user community.
3. Functional Requirements :
In this, possible outcome of software system which includes effects due to operation
of program is fully explained. All functional requirements which may include
calculations, data processing, etc. are placed in a ranked order.
4. Interface Requirements :
In this, software interfaces which mean how software program communicates with
each other or users either in form of any language, code, or message are fully
described and explained. Examples can be shared memory, data streams, etc.
5. Performance Requirements :
In this, how a software system performs desired functions under specific condition is
explained. It also explains required time, required memory, maximum error rate, etc.
6. Design Constraints :
In this, constraints which simply means limitation or restriction are specified and
explained for design team. Examples may include use of a particular algorithm,
hardware and software limitations, etc.
7. Non-Functional Attributes :
In this, non-functional attributes are explained that are required by software system
for better performance. An example may include Security, Portability, Reliability,
Reusability, Application compatibility, Data integrity, Scalability capacity, etc.
8. Preliminary Schedule and Budget :
In this, initial version and budget of project plan are explained which include overall
time duration required and overall cost required for development of project.
9. Appendices :
In this, additional information like references from where information is gathered,
definitions of some specific terms, acronyms, abbreviations, etc. are given and
explained.
The best SRS documents define how the software will interact when
embedded in hardware — or when connected to other software. Good
SRS documents also account for real-life users.
This layout not only keeps your teams in sync but it also ensures that
each requirement is hit. It can ultimately help you make vital decisions
on your product’s lifecycle, such as when to retire an obsolete feature.
Here are five steps you can follow to write an effective SRS document.
If you’re creating this yourself, here’s what your outline might look
like:
1. Introduction
1.1 Purpose
1.4 Scope
2. Overall Description
This is a basic outline and yours may contain more (or fewer) items.
Now that you have an outline, lets fill in the blanks.
Define who in your organization will have access to the SRS and how
they should use it. This may include developers, testers, and project
managers. It could also include stakeholders in other departments,
including leadership teams, sales, and marketing. Defining this now
will lead to less work in the future.
Product Scope
What are the benefits, objectives, and goals we intend to have for this
product? This should relate to overall business goals, especially if
teams outside of development will have access to the SRS.
It’s important to define the risks in the project. What could go wrong?
How do me mitigate these risks? Who is in charge of these risk items?
For example, if the failure of a medical device would cause slight
injury, that is one level of risk. Taking into account the occurrence
level and the severity, we can come up with a strategy to mitigate this
risk.
>> Need to create a PRD? Here's a how-to with examples >>
User Needs
Describe who will use the product and how. Understanding the user of
the product and their needs is a critical part of the process.
Who will be using the product? Are they a primary or secondary user?
Do you need to know about the purchaser of the product as well as the
end user? In medical devices, you will also need to know the needs of
the patient.
What are we assuming will be true? Understating and laying out these
assumptions ahead of time will help with headaches later. Are we
assuming current technology? Are we basing this on a Windows
framework? We need to take stock of these assumptions to better
understand when our product would fail or not operate perfectly.
Functional Requirements
You may also have requirements that outline how your software will
interact with other tools, which brings us to external interface
requirements.
There are several types of interfaces you may have requirements for,
including:
User
Hardware
Software
Communications
System Features
Performance
Safety
Security
Quality
We made it! After completing the SRS, you’ll need to get it approved by
key stakeholders. This will require everyone to review the latest
version of the document.
Once you have requirements in an SRS, you can easily manage them
throughout your development process.
If you’re also writing a PRD, you can link those feature requirements
to the high-level requirement in the SRS. This creates traceability
across your requirements process.
You can also link the requirements in your SRS to tests. This will help
you ensure that the product you deliver fulfills the purpose and
requirements of your SRS.
See for yourself how easy it can be to write an SRS. Try Helix
ALM free — and see how an effective SRS will improve your
development process. You can also watch our demo to see more
functionality.
Qualities of SRS:
Correct
Unambiguous
Complete
Consistent
Ranked for importance and/or stability
Verifiable
Modifiable
Traceable
Types of Requirements:
The below diagram depicts the various types of requirements that are captured during
SRS.