Software Requirements Specification document with example

By | July 4, 2018

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

Contents in Software Requirements Specification document

Suggested Read:



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


This document uses the following conventions. <<Include the conventions as per your application >>

DB Database
DDB Distributed Database
ER Entity Relationship


This project is a prototype for the flight management system and it is restricted within the college premises. This has been implemented under the guidance of college professors. This project is useful for the flight management team and as well as to the passengers.


The purpose of the online flight management system is to ease flight management and to create a convenient and easy-to-use application 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 server supporting hundreds of major cities around the world as well as thousands of flights by various airline companies. Above all, we hope to provide a comfortable user experience along with the best pricing available.




A distributed airline database system stores the following information.

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


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

layout of airline database system for software requirements specification document

The 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 date/time 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
    • One-way
    • Round-Trip
    • Multi-city
    • Flexible Date/time
    • Confirmation
  • Cancel an existing reservation
  • View his itinerary

The Employee should have following management functionalities:

    • Get all customers who have seats reserved on a given flight.
    • Get all flights for a given airport.
    • View flight schedule.
    • Get all flights whose arrival and departure times are on time/delayed.
    • Calculate total sales for a given flight.
    • Add/Delete a flight
    • Add a new airport
    • Update fare for flights.
    • Add a new flight leg instance.
    • Update departure/arrival times for flight leg instances.

Each flight has a limited number of available seats. There are a number of flights which depart from or arrive at different cities on different dates and time.


Operating environment for the airline management system is as listed below.  <<Include the details as per your application >>

  • distributed database
  • client/server system
  • Operating system: Windows.
  • database: sql+ database
  • platform: 


  1. The global schema, fragmentation schema, and allocation schema.
  2. SQL commands for above queries/applications
  3. 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.
  4. Implement the database at least using a centralized database management system.


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

  • A request for booking/cancellation of a 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. below.



The airline reservation system maintains information on flights, classes of seats, personal preferences, prices, and bookings. Of course, this project has a high priority because it is very difficult to travel across countries without prior reservations.

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

Other system features include:


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 in four different cities

Distributed database located in four different cities


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.



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


  • Windows.
  • A browser which supports CGI, HTML & Javascript.


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.


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 database are as listed below.


The E-R Diagram constitutes 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.
The diagram shows the ER diagram of airline database

the diagram shows the ER diagram of airline database


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.


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


Suggested articles for you:

182 thoughts on “Software Requirements Specification document with example

  1. cooperativetechnologies

    Hi Admin i am trying to write an SRS for a car pool app tho i dont have all the use cases…..I want to know where the Architectural, High-Level and Detailed design goes in the document and if not where does it go…. and also do i make use of UML for each design level????

    2.) i also have a question for test case but after im done with the SRS

    1. Ravi Bandakkanavar Post author

      HLD document would contain system architecture and database design.
      LLD document would contain Detailed design of HLD components.

      These two are generally part of a design document.

      Usually, the entire project is depicted using a single Class diagram/UML. It connects each system involved in the project. An example is available in the article.

      To explain different functionalities in the project, you can make use of sequence diagrams.

      The final SRS Report can contain all of the above.
      Example –

  2. Prabhakaran

    Thanks a lot. Now got an idea how to start. We have developed project for Imitation Jwellery. But Documentation not done. With your above idea/concept we shall start doing that. Once again thanks.
    From Prabhakaran, Manager-Admin,Sivasakthi Software Services Private Limited,Coimbatore.

  3. Salman

    Hi sir, i have a question in Exam.
    Software project passes through a series of development phases during its development life cycle. As a result of these development phases, different documents are produced like Software Requirement Specification (SRS), Design document, Testing document and Software manual etc. These documents might also incorporate multiple levels of data flow models to represent the flow of data in a system.

    Can these multi-level data flow models be incorporated partially or fully in the SRS document of the project? Provide your answer in 4-6 lines with valid justification.

  4. Dhruvi Chandarana

    Many websites say that use cases are a part of SRS, what is the actual case for that?

  5. Kecy Man

    Excellent article and very nice workflow/writeup. What software/tools you used for ER Diagrams and other use-case diagrams? I’m looking for a good open-source UML modeling software.

    1. Ravi Bandakkanavar Post author

      Hi Kecy,

      Thank you! Many online sites provide good graphical visuals. You can prepare there and download them. The best software would be Microsoft Visio but it is not at all for free.

  6. Dominic

    hI ADMIN, i have a small project at hand to submit tommorow latest noon, i am planning on using this your work, it is just for a school, please what should i cut out

  7. Gopisetty Prudhviraj

    How about of adding function requirements with use cases and exception scenarios?

  8. hafsa tariq

    can you give me the SRS document for online shopping based on OLX system in .Net language?

  9. Jitendra Singh

    Hi Ravi – Its really awesome SRS. How I can write a perfect SRS? I am really interested in learning SRS. What are the key factors in creating SRS?

    1. Ravi Bandakkanavar Post author

      Hi Jitendra,

      SRS is a “document” for the overall preparation of your project/application.
      To write a perfect SRS, you should have a thorough knowledge of your project or application. When you are clear on what you need to implement and what are the required software/hardware/technology to implement your application/project, you will be in a better position to document everything. Hope this answers your question. Thanks.

  10. manas pandey

    hey admin i want srs for ebooks like kindle where should i get it

  11. Richieee

    sir, plzz help me my project is sports academic system… how can i make a SRS….


    Sir can i get security requirement for flower ordering system

      1. Muhammad Asif Khan

        Hi Sir,

        Can you provide me e commerce srs dox???

  13. Shraddha Rathore

    How to create a Project Implementation Document ??

  14. K

    What are the parameters to compare one standard SRS template to the others?

  15. Mohan

    Any body interest to prepare srs document for my project very urgent cost no problem

    1. brianmark

      hey, i would like to know what reporting requirements are in SRS document and even what the high level technology architecture is?

    1. Ravi Bandakkanavar Post author

      Hi Sathya,

      Is it for a particular design of a jewelry? If so, you can talk about the specification of your design like it should be curved, thin etc.

      functional requirements: A functional requirement describes what a software system should do, the way it functions. E.g. Flight starts from one point and reaches the second point.

      1. sathya

        MR. Ravi, its not for a particular design, its for the software product for jewelry industry, its a total end to end product used by jewelry retail and wholesale biz , in jewelry industry.

  16. Muhammad

    can u please tell me the examples of all types of requirement

    1. Ravi Bandakkanavar Post author

      Hi Muhammad,

      functional requirements: A functional requirement describes what a software system should do, the way it functions. E.g. Flight starts from one point and reaches the second point.
      non-functional requirements: non-functional requirements deals with operations and constraints on how the system will do so. E.g. It could be a flight delay, overlap, application hack, latency, efficiency etc.
      Non-functional requirements are not straight forward requirement of the system rather it is related to usability.

  17. Gabson

    Hi all, I am told to prepare a system specification for “customers website” kindly assist what things I should include as this is my first time I am doing this. Thanks

  18. siva

    i need the functional and non functional components for spice jet srs .can u just sent me ?

  19. anu

    I need to prepare an SRS for my project “health management app” what all information i need to collect?

    1. Ravi Bandakkanavar Post author

      Hi Anu,

      Follow the contents given. You will understand what to be filled in.

      for instance,
      1.1 Purpose – For hospital management ......
      1.2 Document Conventions – Acronyms, if used...
      1.3 Intended Audience and Reading Suggestions – audience could be patients, doctors, visitors
      1.4 Project Scope – how useful your project would be. It is extension of the purpose
      1.5 References – sources from where you gathered the information

  20. Josh Fleming

    Hi there thanks for the informative article. I was wondering if you can help me with a sample of srs for classified ads app . I have been looking around but an unable to find anything.

    1. Ravi Bandakkanavar Post author

      Hi Josh,

      Thanks for your comments
      The SRS differs from project to project. It needs to be prepared as per your project. We do not have an SRS ready for “classified ads app”.

  21. Jahir hussain

    can I get a UML diagrams for flight management sysyem

  22. sandeep rajput

    can you give me explanation about Software requirement specification(SRS)

    1. Ravi Bandakkanavar Post author

      Hi Sandeep,

      Software requirement specification(SRS) is a document that explains the purpose and the characteristics of your project/software/application.

      1. Ankit Punamiya

        hi ravi,
        I am new to this field and we have a project in inline reservation/e-ticket …and i dont know how to do this…ur article is great but it would be great if you could help me in my project.. i couldnt understand anything and i am really scared…it would be great of you to help

  23. Sudhir


    We are working on mobile surface launcher for defence for the first time. It’s QNX platform based system wherein we are manufacturers & we hired a software agency to develop software. They are asking for a SRS document. I had searched on internet / Wiki but not received specific details. Can u send me typical surface launcher SRS document?

    1. Ravi Bandakkanavar Post author

      Hi Sudhir,

      I am sorry. We do not prepare SRS documents for projects. You can refer to this format and prepare your document accordingly.

  24. Pediredla subrahmanyam

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

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

  26. komal

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

  27. Vipul Suryawanshi

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

  28. Joella

    What does Design and Implementation Constraints include?

    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.

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

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

  31. ngaraju

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

  32. Jeet Dadhania

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

  33. Henry

    Hi Admin,

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

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

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

  36. 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. Ravi Bandakkanavar Post author

      Hi Henry,

      If you brief about application I can help you with the report as the SRS contains an overview of your project.

      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.

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

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

  39. mahesh gunjkar

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

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

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

  42. vineela

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

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

  44. dilip yadav

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

  45. rifa

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

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

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

  48. nikhil malegaonkar

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

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

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

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

  52. nischitha Kurunji

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

  53. prashanti

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

  54. raj

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

  55. dave

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

  56. krishna

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

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

  58. sunlight

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

  59. zuha

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

  60. chaitra

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

  61. qaisar

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

  62. Sneha

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

  63. RAMYA


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


  65. susan

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

  66. deepti jain


    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.

  67. chibichibi

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

  68. chibichibi

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

  69. mojahedul islam

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

  70. shosho

    short and very good presented. thank you very much


Did it help? Comment here..