SRS 2
SRS 2
SPECIFICATION
SOFTWARE REQUIREMENT SPECIFICATION
• What is SRS?
• A software requirements specification (SRS) is a description of a
software system to be developed. It lays out functional and non-
functional requirements, and may include a set of use cases that
describe user interactions that the software must provide.
• Why SRS?
• In order to fully understand one’s project, it is very important that
they come up with a SRS, listing out their requirements, how are
they going to meet it and how will they complete the project. It
helps the team to save upon their time as they are able to
comprehend how they are going to go about the project. Doing this
also enables the team to find out about the limitations and risks
early on.
• What is Software Requirement Specification - [SRS]?
A software requirements specification (SRS) is a document that
captures complete description about how the system is expected
to perform. It is usually signed off at the end of requirements
engineering phase.
A System Requirements Specification (SRS) (also known as a
Software Requirements Specification)
Is a document or set of documentation that describes the
features and behavior of a system or software application.
It includes a variety of elements that attempts to define the
intended functionality required by the customer to satisfy their
different users.
In addition to specifying how the system should behave, the
specification also defines at a high-level the main business
processes that will be supported, what simplifying assumptions
have been made and what key performance parameters will need
to be met by the system
Types of
Requirements
QUALITIES OF
SRS
CHARACTERISTICS OF A GOOD
SRS
• Quality Characteristics of a good SRS
Following are the characteristics of a good SRS document:
• Correctness:
• User review is used to ensure the correctness of requirements stated in the SRS.
• SRS is said to be correct if it covers all the requirements that are actually
expected from the system.
• Consistency:
• Requirements in SRS are said to be consistent if there are no conflicts between
any set of requirements.
• Examples of conflict include differences in terminologies used at separate places,
• logical conflicts like time period of report generation, etc.
• Unambiguousness:
• A SRS is said to be unambiguous if all the
requirements stated have only 1 interpretation.
• Some of the ways to prevent unambiguousness
include the use of modelling techniques like
ER diagrams,
• proper reviews and buddy checks, etc.
• Traceability:
• One should be able to trace a requirement to design component and
then to code segment in the program.
• Similarly, one should be able to trace a requirement to the corresponding
test cases.
• Design Independence:
• There should be an option to choose from multiple design alternatives for
the final system.
• More specifically, the SRS should not include any implementation details.
• Testability:
• A SRS should be written in such a way that it is easy to generate test cases
and test plans from the document.
CHARACTERISTICS OF A GOOD
• SRS
Understandable by the customer:
• An end user maybe an expert in his/her specific domain but might not be an expert
in computer science.
• Hence, the use of formal notations and symbols should be avoided to as much extent
as possible. The language should be kept easy and clear.
• Right level of abstraction:
• If the SRS is written for the requirements phase, the details should be explained explicitly.
• Whereas, for a feasibility study, fewer details can be used. Hence, the level of abstraction
varies according to the purpose of the SRS.
• Modifiability:
• SRS should be made as modifiable as possible and should be capable of easily
accepting changes to the system to some extent.
• Modifications should be properly indexed and cross-referenced.
• Completeness:
• Completeness of SRS indicates every sense of completion including the
numbering of all the pages, resolving the to be determined parts to as
much extent as possible as well as covering all the functional and non-
functional requirements properly.
• Verifiability:
• A SRS is verifiable if there exists a specific technique to quantifiably
measure the extent to which every requirement is met by the system.
• For example, a requirement stating that the system must be user-friendly is
not verifiable and listing such requirements should be avoided.
• Ranking for importance and stability:
• There should a criterion to classify the requirements as less or more
important or more specifically as desirable or essential.
• An identifier mark can be used with every requirement to indicate its rank
or stability.
SOFTWARE REQUIREMENT SPECIFICATION (SRS) FORMAT
• 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 :
• Introduction
• Purpose of this document
• Scope of this document
• Overview
• General description
• Functional Requirements
• Interface Requirements
• Performance Requirements
• Design Constraints
• Non-Functional Attributes
• Preliminary Schedule and Budget
• 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-
requirements depending upon type of requirement.
• The interaction between different customers and
contractor is done because its necessary to fully
understand needs of customers.
SOFTWARE REQUIREMENT SPECIFICATION (SRS) FORMAT
• Depending upon information gathered after interaction, SRS is
developed which describes requirements of software that may
include changes and modifications that is needed to be done to
increase quality of product and to satisfy customer’s demand.
• Introduction :
• (i) Purpose of this Document –
At first, main aim of why this document is necessary and what’s purpose of
document is explained and described.
• (ii) Scope of this document –
In this, overall working and main objective of document and what value it will
provide to customer is described and explained. It also includes a description of
development cost and time required.
• (iii) Overview –
In this, description of product is explained. It’s simply summary or overall
review of product.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• 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.
• Appendices
:
In this, additional information like references from
where information is gathered, definitions of some
specific terms, acronyms, abbreviations, etc. are given
and explained.
SOFTWARE REQUIREMENTS SPECIFICATION DOCUMENT
WITH EXAMPLE
• A Software Requirements Specification (SRS) is a document
that describes the nature of a project, software or application.
• In simple words, SRS document is a manual of a project provided it is
prepared before you kick-start a project/application.
• This document is also known by the names SRS report,
software document.
• A software document is primarily prepared for a project, software
or any kind of application.
• There are a set of guidelines to be followed while preparing
the software requirement specification document.
• This includes the purpose, scope, functional and
nonfunctional requirements, software and hardware requirements of the
project.
• In addition to this, it also contains the information about environmental
conditions required, safety and security requirements, software quality
attributes of the project etc.
• A Software Requirements Specification (SRS) is a document that describes
the nature of a project, software or application.
• In simple words, SRS document is a manual of a project provided it is
prepared before you kick-start a project/application.
• This document is also known by the names SRS report, software
document.
• A software document is primarily prepared for a project, software or any
kind of application.
• There are a set of guidelines to be followed while preparing the software
requirement specification document.
• This includes the purpose, scope, functional and nonfunctional
requirements, software and hardware requirements of the project.
• In addition to this, it also contains the information about environmental
conditions required, safety and security requirements, software quality
attributes of the project etc.
• What is a Software Requirements Specification document?
• A Software requirements specification document describes the
intended purpose, requirements and nature of a software to be
developed. It also includes the yield and cost of the software.
TABLE OF CONTENTS
FLIGHT MANAGEMENT PROJECT AS AN EXAMPLE
FLIGHT MANAGEMENT PROJECT AS AN
EXAMPLE
• 1. INTRODUCTION
• 1.1 PURPOSE
• The purpose of this document is to build an online system to manage flights and
passengers to ease the flight management. <<Include the purpose as applicable to your
project >>
• 1.2 DOCUMENT CONVENTIONS • DB • Database
• ER • Entity Relationship