Software Requirements Specification document with example

A Software requirements specification document basically describes the intended purpose and environment for software/application under development. It completely describes the yield, cost, nature of the software/application.

This post explains how a Software Requirements Specification document is prepared for a project/application. In this post, I have taken airline database project as an example to explain few points with example. There are certain guidelines to be followed while preparing the software requirement specification document (more often, used as SRS Document/Report). You need to include purpose of your project, scope of the project, environment where your project will be run, hardware required for the project, software required to run or implement the project, safety and security requirements, software quality attributes of the project etc. This SRS document has been written using standard guidelines.

Table of Contents

1.   Introduction

1.1       Purpose
1.2       Document Conventions
1.3       Intended Audience and Reading Suggestions
1.4       Project Scope
1.5       References

2.   Overall Description

2.1       Product Perspective
2.2       Product Features
2.3       User Classes and Characteristics
2.4       Operating Environment
2.5       Design and Implementation Constraints
2.6       Assumptions and Dependencies

3.   System Features

4.   External Interface Requirements

4.1       User Interfaces
4.2       Hardware Interfaces
4.3       Software Interfaces
4.4       Communications Interfaces

5.   Other Nonfunctional Requirements

5.1       Performance Requirements
5.2       Safety Requirements
5.3       Security Requirements
5.4       Software Quality Attributes



The purpose of this document is to provide the software requirement specification report for the  airline database.


DB Data base
DDB Distributed Data base
ER Entity relationship


This project is the college level project and is implementing under the guidance of college professors. This project is useful to everyone who travels in flights.


The purpose of the online system is to create convenient and easy-to-use online system for passengers, trying to buy airline tickets. The system is based on a relational database with its flight management and reservation functions. We will have a database supporting dozens of major cities around the world as well as hundreds of flights by various airline companies. Above all, we hope to provide a comfortable user experience along with the best pricing available.


  • fundamental of database systems by ramez elmarsi and shamkant b.navathe



A distributed Airline database System stores the following information as shown below .

    It includes the originating flight terminal and destination terminal, along with stops in between, number of seats booked/available seats between two destination etc.
    It includes customer code, name, address and phone number. This information may be used for keeping the records of customer for any emergency or for any other kind of information.
    It includes customer code number, flight number, date of booking, date of traveling .


The major features of  airline data base system as shown in below entity–relationship model (ER model)

layout of airline database system - class diagam for Software Requirements Specification document

diagram shows the layout of airline database system – entity–relationship model


Users of the system should be able to retrieve flight information between two given cities with the given dates/times of travel from the database. A route from city A to city B is a sequence of connecting flights from A to B such that: a) there are at most two connecting stops, excluding the starting city and destination city of the trip, b) the connecting time is between one to two hours. The system will support two types of user privileges, Customer and Employee. Customers will have access to customer functions, and the employees will have access to both customer and flight management functions. The customer should be  able to do the following functions:

  • Make a new reservation
    o One-way
    o Round-Trip
    o Multi-city
    o Flexible Date/time
    o Confirmation
  • Cancel an existing reservation
  • View his itinerary

The Employee should have following management functionalities:


o Get all customers who have seats reserved on a given flight.

o Get all flights for a given airport.

o View flight  schedule.

o Get all flights whose arrival and departure times are on time/delayed.

o Calculate total sales for a given flight.


o Add/Delete a flight

o Add a new airport

o Update fare for flights.

o Add a new flight leg instance.

o Update departure/arrival times for flight leg instances.

Each flight has a limited number of available seats. There are number of flights that go from/to different cities at different dates and time.


Operating environment for the AIRLINE DATABASE is as listed below

  • distributed database
  • client/server system
  • operating  system : windows xp.
  • database: sql+ database
  • platform:


i) The global schema, fragmentation schema, allocation schema.

ii) SQL commands for above queries/applications

iii) How the response for application 1 and 2 will be generated. Assuming these are global queries. Explain how various fragments will be combined to do so.

iv) Implement the database at least using a centralized database management  system.


Let us assume that this is a distributed airline database system and it is used in the following application:

  • A request for booking/cancellation of flight from any source to any destination, giving connected flights in case no direct flight between the specified Source-Destination pair exist.
  • Calculation of high fliers (most frequent fliers) and calculating appropriate
    reward points for these fliers.

Assuming both the transactions are single transactions, we have designed a distributed
database that is geographically dispersed at four cities Delhi, Mumbai, Chennai and Kolkatta as shown in fig.2 above.



The airline reservation system maintains information on flights, classes of seats, personal preferences, prices and bookings.

Of course this project has high priority because it is very difficult to travel across countries without flights.

    • Search for Airline Flights for two Travel cities
    • Displays a detailed list of available flights and make a “Reservation” or Book a ticket on a particular flight.
    • Cancel an existing Reservation.

Distributed database implies that a single application should be able to operate transparently on data that is spread across a variety of different databases and  connected by a communication  network as shown in below figure.

Distributed database located at four different cities

Distributed database located at four different cities


A client/server system is a distributed system in which,

(a) some sites are client sites and others are serer sites.

(b) all data resides at the server sites.

(c) all applications execute at the client sites.

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).



  • Front-end software: version
  • Back-end software:       SQL+


  • Windows XP.
  • Browser which supports CGI, HTML & Javascript.


Softwares used description
Operating  system We have chosen Windows XP operating system for its best support.
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.


This project supports all types of web browsers.

We are using simple electronic forms for the reservation forms, ticket booking etc.



The steps involved to perform the implementation of airline data base are as listed below.


E-R Diagram constitute a technique for representing the logical structure of a database in a pictorial manner. This analysis is then used to organize data as a relation, normalizing relation and finally obtaining a relation database.

ENTITIES :   Which specify distinct real-world items in an application.

PROPERTIES/ATTRIBUTES :  Which specify properties of an entity and relationships.

RELATIONSHIPS :  Which connect entities and represent meaningful dependencies between them.

Entity Relationship diagram of airline database for Software Requirements Specification document

diagram shows the ER diagram of airline database


The basic objective of normalization is to be 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 gives 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.


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.


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.


  • 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 correct destination.
  • MAINTAINABILITY: The administrators and flight in chargers should maintain correct schedules of flights.
  • USABILITY: The flight schedules should satisfy maximum number of customers needs.
Please Share: Tweet about this on TwitterShare on FacebookShare on Google+Share on RedditPin on PinterestShare on LinkedInDigg thisShare on StumbleUponShare on TumblrBuffer this pageShare on VKEmail this to someone

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. Hi Admin,

    Kindly assist me with SRS document for a location based Vendor engagement app. Need it urgently. Really appreciate

  2. Will you please send me a SRS of vehicle sharing website Project ( its very urgent and need it on immediate basis in full detail.

  3. Hello there!
    Impressive blog you guys have going on here. I would like assistance preparing a SRS and System Scope. Can anyone please advise me ?

      • Hi Ravi, Thanks for your response. I have recently started working on small project and I am keep to prepare project management documents. For starters, I need to prepare Software requirement specifications similar to the provided in this blog. ( this one is quite complicated ). Also I need to prepare Software Scope.

        • Hi Kate,

          This document is application for big projects.

          For small projects you can cut down few points. You can refer to following contents.

          1. Introduction

          1.1 Purpose
          1.2 Document Conventions
          1.3 Intended Audience and Reading Suggestions
          1.4 Project Scope
          1.5 References
          2. Overall Description

          2.1 Product Perspective
          2.2 Operating Environment
          2.3 Design and Implementation Constraints
          2.4 Assumptions and Dependencies

          3. System Features

          4. External Interface Requirements

          4.1 User Interfaces
          4.2 Hardware Interfaces
          4.3 Software Interfaces

          5. Other Nonfunctional Requirements

          5.1 Performance Requirements
          5.2 Safety Requirements
          5.3 Security Requirements

  4. Hi, will you please send me a srs of ERP Project. its very urgent and need it on immediate basis in full detail with a example of ERP SYSTEM project DETAILS.

    Ved Prakash

      • Hi Ravi,

        Thanks for your response. Like I stated earlier its an inter-state bus ticketing app. Just like the app “Cheap Flights” (you can see details on google play). In this case its for bus services. The application will run only on android devices. That’s basically what the app is all about.

        • Henry,

          That’s interesting. Good choice.

          So for SRS document, you will have to prepare usecases that defines all the operations/failities available in your app.

          The software and hardware requirements are quite clear here.

          Draw a class diagram based on the operations present in your app.

          Other details include the explanation in few lines about your app.

          Good Luck..!

  5. i need srs for delhi metro app which contains route between two station and map and other details like recharge parking information. can u plz help me

  6. Dear admin, I m unable to understand which connectors to be used between entities in ER diagrams, data flow diagrams, schema diagrams and what not. Will U help me in same matter of showing relationships among entities or different blocks and tables?

  7. I need help help to complete my FYP SRS plx any one help project name is “digitization of hand drawn sketches” it is android based application.i need help in the diagrams(Use cases and ER diagram)

  8. plz i want functional requirements and uml diagrams of hierarchical energy optimization for data center network plz help me

    • Swathi, UML diagrams and functional requirements should be prepared based on your project.

      “”A Software requirements specification document basically describes the intended purpose and environment for software/application under development. It completely describes the yield, cost, nature of the software/application.””

  9. i need a sample of a srs for a web application which can be used in arestaurant by people to view, add, rate, and comment on adifferent recipes

  10. hi my dear frnd i want sample srs for “performence assessing system for client requirements”. plz help me
    ur site is very helpful for us thanks a lot….

    • Hi logesh,

      SRS document must be prepared based on your project’s requirements and hardware/softwares used for your project.I have mentioned the format/prototype how it should be done. Hope based on it you can create it easily. Let me know for any concerns.

    • HI Unnati,

      If you refer the SRS document, it involves your project related matter and the hardware/software requirements for your project. Since I do not have any idea about your project I cannot help you regarding this. Refer the document just the replace the content of your project wherever it is necessary.
      You can contact me if you come across any difficulties.

  11. sir i want a complete srs format of ticket booking and match schedule for odi cricket match series.
    so please help me out…!!!

  12. sir i want a full described srs of ticket booking and schedule plan for odi cricket match series…
    so please kindly help me out..!!

  13. I want to know that How to design the SRS (software requirement Specification)
    for project
    my project topic is for this website (


    • For “Time table of college” project what all you can need ??
      List hardware and software requirements, programming language which you are going to use, Database query language etc.
      Don’t think that your project must include all the factors mentioned in the above post. Some of them may not be applicable to all kind of projects.