Software Requirement Specification
Software Requirement Specification
Format
Difficulty Level : Basic
Last Updated : 23 Jun, 2020
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-requirements depending upon type of requirement. The interaction
between different customers and contractor is done because its necessary to fully
understand needs of customers.
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.
1. 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.
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.
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.
Software Requirements Specification document with
example
By Ravi Bandakkanavar | July 4, 2018
202 Comments
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.
In this document, flight management project is used as an example to explain few
points.
Table of Contents
Suggested Read:
SRS report for a Lab Administration project
Latest Technology Topics
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
This document uses the following conventions. <<Include the conventions as per
your application >>
DB Database
ER Entity Relationship
CLIENT/SERVER SYSTEM
The term client/server refers primarily to an architecture or logical division of
responsibilities, the client is the application (also known as the front-end), and the
server is the DBMS (also known as the back-end).
A client/server system is a distributed system in which,
Some sites are client sites and others are server sites.
All the data resides at the server sites.
All applications execute at the client sites.
4. EXTERNAL INTERFACE REQUIREMENTS
4.1 USER INTERFACES
Front-end software: Vb.net version
Back-end software: SQL+
4.2 HARDWARE INTERFACES
Windows.
A browser which supports CGI, HTML & Javascript.
4.3 SOFTWARE INTERFACES
Following are the software used for the flight management online application.
<<Include the software details as per your project >>
Software used Description
Operating system We have chosen Windows operating system for its best support and user-friendliness.
Database To save the flight records, passengers records we have chosen SQL+ database.
VB.Net To implement the project we have chosen Vb.Net language for its more interactive support
B) NORMALIZATION:
The basic objective of normalization is to reduce redundancy which means that
information is to be stored only once. Storing information several times leads to
wastage of storage space and increase in the total size of the data stored.
If a database is not properly designed it can give rise to modification anomalies.
Modification anomalies arise when data is added to, changed or deleted from a
database table. Similarly, in traditional databases as well as improperly designed
relational databases, data redundancy can be a problem. These can be eliminated
by normalizing a database.
Normalization is the process of breaking down a table into smaller tables. So that
each table deals with a single theme. There are three different kinds of modifications
of anomalies and formulated the first, second and third normal forms (3NF) is
considered sufficient for most practical purposes. It should be considered only after a
thorough analysis and complete understanding of its implications.
5.2 SAFETY REQUIREMENTS
If there is extensive damage to a wide portion of the database due to catastrophic
failure, such as a disk crash, the recovery method restores a past copy of the
database that was backed up to archival storage (typically tape) and reconstructs a
more current state by reapplying or redoing the operations of committed transactions
from the backed up log, up to the time of failure.
5.3 SECURITY REQUIREMENTS
Security systems need database storage just like many other applications. However,
the special requirements of the security market mean that vendors must choose their
database partner carefully.
5.4 SOFTWARE QUALITY ATTRIBUTES
AVAILABILITY: The flight should be available on the specified date and
specified time as many customers are doing advance reservations.
CORRECTNESS: The flight should reach start from correct start terminal and
should reach the correct destination.
MAINTAINABILITY: The administrators and flight in chargers should maintain
correct schedules of flights.
USABILITY: The flight schedules should satisfy a maximum number of
customers needs.
Google it
https://www.startertutorials.com/uml/uml-diagrams-library-management-system.html