Software Requirements Specification
November 8, 2016
Railway Reservation System
-Akash Gupta
15114004
1.0. Introduction
1.1. Purpose
Overall aim of this document is to present a detailed description of the Railway Reservation System.
This document will try to explain the purpose and features of the system and will also describe the constraints
under which it might operate and how the system will react to stimuli.
1.2. Scope of Project
This software system will be enable a digital revolution in Railway Reservation System. This system
will be designed to maximize the Indian Railway’s efficiency by providing tools to make reservation system
aster and reliable.
More specifically, this system is designed to allow Indian Railways to manage and communicate across
their network so that it will enable ticket reservation in any train from any railway station or internet available
device. The software will facilitate communication between ticket makers, reviewers, availability checkers via
live adaptation.
1.4. References
IEEE. IEEE Std 830-1998 IEEE Recommended Practice for Software Requirements Specifications. IEEE
Computer Society, 1998.
Railway reservation System 1 November 8, 2016
[Link] Description
2.1 System Environment
Figure 1 - System Environment
The Railway reservation System has one active and 2 passive actors and one cooperating system.
The ticket checker, maker, or Reviewer can access the Online Journal through the Internet. The Server is main
access granter and makes and save all the changes made in a database and maintains a database for reserved and
unreserved seats directly.
Assumption: For payment, we assume availability of a different server to handle the same.
Railway reservation System 2 November 8, 2016
2.2 Functional Requirements Specification
This section outlines the use cases for each of the active readers separately. The passenger is the main
and active actor.
2.2.1 Passenger Use Case
Use case: Search, Reserve, cancel, purchase, view and pay
Diagram:
SearchTrain
Reserve
Ck Status
Passenger
Cancel
Pay
Figure 2 - Passenger Use Cases
Brief Description
The Passenger can search trains, reserve a seat, cancel a ticket, purchase a ticket, view details, pay the money.
2.2.2 Database Use Case
In case of Queries for availability of seat or piece of journey, database replies with corresponding answer to the
query.
Use case: Forward message, respond
Diagram:
Forward/respond
Railway reservation System 3 November 8, 2016
Database
Brief Description
The database is a passive actor which ca either respond or take a forward message.
2.2.3 Ticket Clerk Use Case
Use case: Respond
Diagram:
Search
Reserve
Cancel
Clerk
Payment
Availability
Brief Description
The ticket clerk here acts as a server system to manage every request from verifying login credentials to
generating unique session id for a session with user to maintain the database of reserved and unreserved seats
and also allows communication between passenger and bank for enabling online payment service.
2.3 User Characteristics
The Passenger is expected to be computer and Internet literate and be able to use an e-commerce
website. The main screen of the Online reservation system Website will have the login function. Passenger must
have credit/debit card or internet banking account for making an online purchase of ticket. However, Passenger
is only required an account in the official website to check the trains availability and seats or reservation/PNR
status. The passenger should also have a web browser installed in is desktop and a reliable internet connection.
Railway reservation System 4 November 8, 2016
2.4 Non-Functional Requirements
The Online Reservation System will be on a server named as Ticket Clerk with high speed Internet
capability. A separate server is required for making payments and that should be maintained by banks. The
server is a web based server and is therefore accessible to all. The server will use required services and source
coed to maintain the database for any update is database for seat availability as well as train availability between
stations.
3.0. Requirements Specification
3.1 External Interface Requirements
The website will be the link to the reservation system. The login credentials will be verified by the
server and then it will allow the access to his/her account and then Passenger may describe about his journey for
checking trains between stations and checking the seat availability. The server will then process the request and
book the desired ticket only after making the payment which is made by making another query to the bank
server for making a purchase. The Passenger/user may then see any ticket booked or its status or can cancel
his/her ticket any time before 2 hours of departure of train from its source station.
3.2 Functional Requirements
The Logical Structure of the Data is contained in Section 3.3.1.
3.2.1 Search Train
Use Case Name Search Train
Trigger The Passenger makes a request for searching train between
stations in Online reservation website.
Precondition The page is displayed with respective text boxes to fill required
information.
Basic Path The Passenger fills the details and then database is invoked for
getting results for the query
Postcondition The passenger receives list of trains with availability.
Exception Paths The Reader may logout his session at any time.
3.2.2 Reserve
Use Case Name Reserve
Trigger The user reserves a seat in desired train with desired source and
destination.
Railway reservation System 5 November 8, 2016
Precondition The page is displayed with list of trains and seats availability
status.
Basic Path Website will ask the user to fill the details of passenger travelling
and then after confirmation of the details, link to the payment
page will be generated.
Postcondition The seat is reserved with a unique PNR number and ticket
generated.
Exception Paths The Passenger can return and change the plan for train selection
only before confirmation to payment portal page.
3.2.3 Purchase
Use Case Name Purchase
Trigger The user clicks make payment for reserving the desired seat in
desired train with desired source and destination.
Precondition The user is on the Payment page linked from the Reservation
platform and bank’s server.
Basic Path The page asks for respective details for mode of payment and
then payment is processed. If successful, ticket is generated else
error message will be prompted.
Postcondition The payment status is returned to the website’s server.
Exception Paths If at any time page is refreshed or request is made twice,
payment is rejected and session expires.
3.2.4 Cancel
Use Case Name Cancel
Trigger The user clicks on cancel a reserved ticket button.
Precondition The user in on the reserved tickets page
Basic Path The Passenger selects the ticket and request to cancel the ticket.
Postcondition The clerk cancels the ticket and generates the confirmation
receipt
Exception Paths If train has already departed, ticket cannot be cancelled
3.2.5 View Schedule
Use Case Name View Schedule
Trigger The user clicks on any train/train number
Precondition Passenger is on search result page on website.
Basic Path The Passenger clicks on the train and website shows its schedule
Postcondition Schedule of the respective train appears in a dialogue box.
Exception Paths None.
Railway reservation System 6 November 8, 2016
3.2.6 Forward
Use Case Name forward
Trigger Clerk forwards the message to database.
Precondition Any reservation or cancellation request be updated in data base.
Basic Path The Passenger makes a reservation or cancels his ticket and clerk
forwards the request to update the database
Postcondition The clerk gets the response confirming the update.
Exception Paths Any discrepancy makes the updating process to fail and error
message is generated accordingly.
Railway reservation System 7 November 8, 2016