Software Requirements Specification document with example

By | January 8, 2017

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 document, flight management project is used as an example to explain few points. 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.

Suggested Read:


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 .

  • Flight details:
    It includes the originating flight terminal and destination terminal, along with stops in between, number of seats booked/available seats between two destination etc.
  • Customer description:
    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.
  • Reservation description:
    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.

Author: Ravi Bandakkanavar

A Techie, Blogger, Web Designer, Programmer by passion who aspires to learn new Technologies every day. It has been 6 years since I have been publishing articles and enjoying every bit of it. I want to share knowledge and build a great community with people like you.

Suggested read for you:

123 thoughts on “Software Requirements Specification document with example

  1. Pediredla subrahmanyam

    Hey I want know,what my srs document project is game designing..

  2. Joy

    i would like to know about SRS. our project is school attendance record like student and staff details,admission date,dept,Salary,time table etc..
    how can i write the test cases in test link (test management tool )??
    please let me know asap.

  3. komal

    hi. sir I need sample project report for android application….
    please mail me if any 1 of u hav that.
    reply fast……..

  4. Vipul Suryawanshi

    Can you please give me SRS for online shoping system large project with one of the Example in php

    1. Ravi Bandakkanavar Post author

      Good question Joella.

      This field is an optional. While planning for a project implementation, you would need to handle multiple conditions. Constraints are the drawbacks of your project which stop your project to work in all conditions.

      Let me find an example for you.

    1. Ravi Bandakkanavar Post author

      Hi Bhavya,

      Entity Relationship diagram describes the relationships between instances and entity types. It is primarily used for database structures.
      There are different symbols for nouns, adjectives, relationships, entities, attributes, primary etc.
      You can get more details online.

    1. Ravi Bandakkanavar Post author

      Hi Bhavya,

      Your choice of project sounds great. We have not received what course of development will be done as part of Smart city project.
      However we can list out few important developments in Communication, technology usage, connectivity etc.
      I can help you with few ideas.

  5. Vipul Walia

    Above srs is an example of can follow the index of it and change the content according to your requirements….. For making SRS document you just need to be good in English and basic technical knowledge (ratio of 70 : 30 % ) according to my view.
    Thank you so much guru for helping us out keep updating the format of it.
    Thank you for all the developers and programmer for having discussion about it cuz that’s make any content more handful.

  6. sagar

    I want to make srs on my project which is work on LAN by which a remote system have java environment and with its help other system can run java code without install java in LAN.
    Please help me to complete my srs.

  7. ngaraju

    Hi sir,
    The above SRS was very understandable & clear
    Could you pls help me out for gameing SRS .

  8. Jeet Dadhania

    Hi admin….
    thankyou for your explanation about this…
    now I want srs of linked website for project

  9. Henry

    Hi Admin,

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

  10. Ayesha

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

  11. Kate Fln

    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 ?

      1. Kate Fln

        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.

        1. Ravi Bandakkanavar Post author

          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

        2. arati

          can you give me the explanation about non functional requirements.

        3. Ravi Bandakkanavar Post author

          Good question Aarati.

          Non functional requirements mainly deal with non coding part of the project.
          Non functional requirements concentrate on how a application should work rather than what your application should does (functional requirements).
          So non functional requirements includes performance of the the project, availability of the the project, security, compliance, documentation, deployment etc.

          An example would be – high level design like overall architectural view of your application.

          Let me know if you have further questions.

      2. priyanka n hemali

        we are just new in this field. we have get an project and we have to know that how we start this. where we should go? what question should we ask? n all. please help us. we r very scared about this. let we know ur regard. as soon as possible

  12. ved prakash

    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

      1. Henry

        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.

        1. Ravi Bandakkanavar Post author


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

      2. ITACHI

        Hiii Ravi

        i want to make offline cloud for my project what are the SRS of that project
        in short i want to make a drop box offline.

  13. sagar pradhan

    i need a srs for training and placement management system can you help me out to make a srs please

    1. Ravi Bandakkanavar Post author

      Hi Sagar,

      To prepare an SRS document I would need all your project details.
      It should be prepared based on your requirements and implementation.

  14. aniket bhalerao

    sir i need help in creating srs of watch manufacturing company…..plzz do the needful help

    1. Ravi Bandakkanavar Post author


      You need to prepare SRS document based on your project. SRS document would explain the requirements and technology used and provide the highlights of your project.

  15. mahesh gunjkar

    sir I want srs for cloth store management system any srs that you know please send it

  16. Harmeet Singh

    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

  17. Dipam Lad

    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?

    1. Ravi Bandakkanavar Post author

      Hi Dipam,

      For ER diagram, following types of connectors exist
      1. a double line indicates a participation constraint, totality or surjectivity all entities in the entity set must participate in at least one relationship in the relationship set; arrow from entity set to relationship set indicates a key constraint, i.e. injectivity: each entity of the entity set can participate in at most one relationship in the relationship set;
      3.a thick line indicates both, i.e. bijectivity: each entity in the entity set is involved in exactly one relationship. underlined name of an attribute indicates that it is a key: two different entities or relationships with this attribute always have different values for this attribute.

  18. vineela

    i want srs document for Online books exchange OLX site…please help me

  19. mounika

    i want srs document for cooking app this aplication helps the ingredients to book the online

    1. Ravi Bandakkanavar Post author

      Hi Mounika,

      You have to list the software and hardware requirements for your cooking app and also the environment/places where this app can be used

  20. dilip yadav

    i want a readymade project flight management or any but client server please send

  21. rifa

    Ravi Bandakkanavar will you help me out little bit i provide the proposal of FYP.. I need help :(

  22. rifa

    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)

  23. swathi

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

    1. Ravi Bandakkanavar Post author

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

    1. Ravi Bandakkanavar Post author


      SRS document should be prepared based on your project and requirements. Without this knowledge it would be difficult for me to guide you.

  24. khusheeram

    Hello.. i need simple SRS on travel enquiry management for operations.

    [email protected]

  25. nikhil malegaonkar

    can you please send me srs or project report on “vehicle route optimization”?

  26. siraj vaal

    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

  27. logesh

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

    1. Ravi Bandakkanavar Post author

      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.

  28. Unnati

    My project is on Log analysis manager.
    Please send ER diagram and class diagram to my mail id

    1. Ravi Bandakkanavar Post author

      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.

  29. nischitha Kurunji

    please send me the ER diagrams for an IT company.
    along with use case and sequence diagram.

  30. prashanti

    hi…can anyone help me wit SRS for ‘ONLINE JOB PORTAL’

  31. raj

    hi…can anyone help me wit SRS for “extracting metadata from audio/video files”

  32. dave

    Dear,I want to get full SRS documentation on title Hospital management system

  33. krishna

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

  34. krishna

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

  35. sunlight

    plz send me srs diagram of university site and also designing of university website in dreamviewer as soon as posible

  36. zuha

    please send me the ER diagrams for an IT company.
    along with use case and sequence diagram.

  37. chaitra

    Please suggest me how to write SRS, SDD, Testplan and Testcase

  38. qaisar

    please give me suggestion
    How to write SRS
    my email id is
    [email protected]

  39. qaisar

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

  40. Pragya

    I need SRS and SDS for CD & Journal Management System…..
    please forward me if anyone has it.
    my email id .. [email protected]

  41. Sneha

    It’s very useful…
    plz keep on updating with more stuffs………

  42. RAMYA


  43. Rajan


    I’m looking for someone to prepare SRS document for about 12 application software, proposed to be developed.

    Send out your interest to me [email protected]


  44. susan

    can u provide the product perspective for my project which handles the online books website

  45. deepti jain


  46. Neel Vora

    I need sample project report for android mobile application….
    please mail me if any 1 of u hav that.
    my email id .. [email protected]

    1. admin Post author

      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.

  47. chibichibi

    Mr/Miss admin tnk u to your reply, Im enlightened now:) tnx a lot!!

  48. chibichibi

    how to make a Hardware Specification?,do you have example please post!!! Tnx:-)

  49. mojahedul islam

    It is very helpful to me to create my first srs……


Did it help? Comment here..