Railway Ticket Reservation by Vinay Madhukar (CS-B, 4th Sem 2011), JNIT College
Railway Ticket Reservation by Vinay Madhukar (CS-B, 4th Sem 2011), JNIT College
Railway Ticket Reservation by Vinay Madhukar (CS-B, 4th Sem 2011), JNIT College
PROJECT REPORT
ON
2011-12
B-TECH IV SEM.
CS-B, Batch 2
A
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
1
SYSTEM REQURIEMENT SPECIFICATION
ON
2011-12
B-TECH IV SEM.
CS-B, Batch 2
PREFACE
ACKNOWLEDGEMENT
2. RICHHPAL KUMAWAT
DATE:
INDEX
1.
Project Introduction 1
1.3 Overview 2
2.
General Description 5
3.
System Analysis 8
13
4.
System Design
4.1 Scope 14
31
5.
Interface Requirements
34
6.
7 40
.
Non Functional Attributes 40
7.1 Security 40
7.2 Reliability 40
7.3 Maintainability 40
7.4 Portability 41
7.5 Reusability 41
42
8.
Security 43
8.1 Description 44
8.4 Risk
46
9.
Operational Scenario
47
10.
Conclusion
References
1. INTRODUCTION:
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
9
1.1 PROJECT INTRODUCTION:
This is a project based on train reservation. The program helps us to enter, display or alter the
details of different trains. Moreover & most importantly the program helps us to reserve or
cancel a train ticket. The program also helps us to know the present status of a reserved ticket,
i.e. whether the ticket is confirmed or not. It includes various function programs to do the above
mentioned tasks.
1.4 OVERVIEW:
1. PRODUCT PERSPECTIVE:
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
10
It enables us to maintain the railway train details like their timings, number
of seat available and reservation billing and cancelling the tickets.
• USER INTERFACE:
• HARDWARE INTERFACE:
Printer Normal PC
• SOFTWARE INTERFACE:
MS WORD
C OR C++
• OPERATING ENVIRONMENT:
The OS types are:
Windows 7
Windows XP
2. PRODUCT FUNCTIONS:
It tells the short note about the product.
• TRAIN DETAILS:
Customers may view the train timing at a date their name and number of tickets.
• RESERVATION:
After checking the number of seats available the customers reserve the tickets.
• BILLING:
After reserving the required amount of tickets, the customer paid the amount.
• CANCELLATION:
If the customers want to cancel the ticket, then half of the amount paid by the
customer will be refunded to him.
• USER CHARACTERISTICS:
• PERFORMANCE REQUIREMENTS:
It is available during all 24 hours. Variety of compartments based on comfort:
AC First Class
AC Sleeper
First Class
Sleeper class
Reliable
Available
Secure
• DOCUMENT APPROVAL:
The bill passed on any proposals related to railway management needs approval
of Ministry of railway department.
2. GENERAL DESCRIPTION:
• TRAIN DETAILS:
Customers may view the train timing at a date their name and
number of tickets. For Checking Train Details take the Train No or Train Name
Form the user, and check it is valid or not. If Not then display appropriate
message to user else display the Train No, Train Name, Source, Destination,
Arrival Time, and Departual Time.
• RESERVATION:
After checking the number of seats available the customers reserve the tickets.
• CANCELLATION:
If the customers want to cancel the ticket, then half of the amount paid by the
customer will be refunded to him. For Canceling Reservation OR Booking, it
necessary that before 10days from journey date passenger can cancel ticket.
For Cancel Ticket take the PNR No from the User/Passenger, check PNR No is
valid or not. If not valid then display appropriate message to user else display the
details of that PNR No and ask sure user want to cancel ticket if yes then cancel
the reservation of that PNR No.
ONLINE BOOKING: With the help of this people can book their tickets online through
internet, sitting in their home by a single click of mouse. Using their credit cards people
COUNTER BOOKING: This is the oldest method of booking the tickets. The reservation
counters are there at railway department from where people can get the tickets to their
respective destinations.
• If you wish to know the route and the timings click on “Show Route”. If you want
to know the availability of seats/berths, click on “Show Availability”.
• To get the fare, click on “Get Fare button. The fare appearing is for a single adult
Passenger excluding the service charges charged by IRCTC and by the Bank(Credit
Card/Direct Debit).
• If you wish to select other train, click on “Select Other Train” button.
3. SYSTEM ANALYSIS:
This system is basically concerned with the reservation and cancellation of railway tickets to the
passengers. The need of this system arose because as is the known fact that India has the largest
railway network in the whole of the world and to handle it manually is quite a tough job. By
computerizing it, we will be able to overcome many of its limitations and will be able to make it
more efficient. The handling of data and records for such a vast system is a very complex task if
done manually but it can be made much easier if the system is computerized.
To be more specific, our system is limited in such a way that a train starting from a particular
source will have a single destination.
The basic functions being performed by our system are reservation and cancellation. These
functions will be handled with the help of following sub functions: -
• PRODUCT FUNCTIONS:
It tells the short note about the product.
• TRAIN DETAILS:
Customers may view the train timing at a date their name and number of tickets.
• RESERVATION:
After checking the number of seats available the customers reserve the tickets.
• BILLING:
After reserving the required amount of tickets, the customer paid the amount.
• CANCELLATION:
If the customers want to cancel the ticket, then half of the amount paid by the customer
will be refunded to him.
• System must be stable and fulfill all the requirements of the user.
• Systems have to work efficiently and speedily and must enable all software
components which are used in the system.
FEASIBILITY CONSIDERATIONS:
• Economic feasibility
• Technical feasibility
• Behavioral feasibility
TESTING: Testing is the process of exercising software with the intent of finding errors
and ultimately correcting them. The following testing techniques have been used to make
this project free of errors.
Content Review: The whole content of the project has been reviewed thoroughly to
uncover typographical errors, grammatical error and ambiguous sentences.
Navigation Errors: Different users were allowed to navigate through the project to
uncover the navigation errors. The views of the user regarding the navigation flexibility
and user friendliness were taken into account and implemented in the project.
• A unit can be compiled /assembled / linked/loaded; and put under a test harness.
• Unit testing done to show that the unit does not satisfy the application and or its
implemented software does not match the intended designed structure.
• Integration testing done to show that even though components were individually
satisfactory, the combination is incorrect and inconsistent.
• Concern: issues, behaviors that can only be exposed by testing the entire
integrated system (e.g., performance, security, recovery)
• Each form encapsulates (labels, texts, grid etc.). Hence in case of project in V.B.
form are the basic units. Each form is tested thoroughly in term of calculation,
display etc.
Regression Testing: Each time a new form is added to the project the whole project is
tested thoroughly to rectify any side effects. That might have occurred due to the
addition of the new form. Thus regression testing has been performed.
Brute Forcing: This is the most common category of debugging which involves loading
the source code with write statements and tracking line by line execution to isolate
possible errors.
Operations:
• Any Reservation counter from 8 am to 8 pm.
• Prior to 60 days of Journey.
• One form for 6 persons only.
• Reserved ticket done through pre defined Logic.
• To save time & queues Agent is others guides
3.2.2 TECHINICAL:
If you believe that the requirement is substantially met but in a way that appears to be
different from the descriptive statement, please explain the difference.
• If the requirement is not provided as part of the base system but you propose to deliver it
as a customization, please describe the customization required and include costs
associated within the customization in your proposals cost schedule.
• If you take exception to a requirement, please state the exception, its reason, and propose
an alternative approach and solution.
This system is basically concerned with the reservation and cancellation of railway tickets to
the passengers. The need of this system arose because as is the known fact that India has the
largest railway network in the whole of the world and to handle it manually is quite a tough
job. By computerizing it, we will be able to overcome many of its limitations and will be able
to make it more efficient. The handling of data and records for such a vast system is a very
complex task if done manually but it can be made much easier if the system is computerized.
To be more specific, our system is limited in such a way that a train starting from a
particular source will have a single destination.
The basic functions being performed by our system are reservation and cancellation. These
functions will be handled with the help of following sub functions:
Assume that domain analysis is complete and DAD is ready for reference. The analyst also has a
fair knowledge of the system and the system environment. For the sake of convenience and to
reduce complexity at this stage in OOA, we are ignoring certain conditions, constraints and
features that the real system may have.
System Requirement
The passenger has a prior knowledge of the reservation and ticketing system. The passenger
arrives at the railway ticket counter and interacts with the counter clerk first through an enquiry
and then follows the process of form filling, tendering, payment and collecting the tickets.
The actors in the system are the passenger, the counter clerk and the reservation system
consisting of form processing, reservation, fare computation, ticket processing, ticket printing,
collection of fare amount and posting as sub-systems. The passenger is a passive user–actor who
initiates the process and obtains the ticket(s), a goal of measurable value. The counter clerk is an
active user–actor, who triggers the system and has the role of issuing the tickets with the
responsibility of collecting the correct fare amount from the passenger, which is a measurable
value. Predesigned and deployed ticket reservation system at the back end is a system actor–user
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
22
to ensure that ticket processing is done correctly and different system statuses are updated on
issuing of tickets. This actor has an active role and responsibility at the back end.
Based on the system observation by the analyst, a high-level activity diagram is drawn modeling
the process of reservation and issue of tickets to the passenger.
The activity diagram brings everybody concerned with the system on the ground to a common
understanding of the system as it functions.
We use this activity diagram of the process to develop use cases, which together achieves the
goal of issuing the ticket.
The system has three users, eight roles and eleven use cases. To illustrate the process of
identifying the use cases, let us take the passenger (a user of the system). A passenger as a user
may play one or more of three roles. The roles are
• Enquiring about the availability of tickets on particular dates to a destinationand the fare
per ticket.The role is enquiring.
• Cancelling the tickets after issuing and payment .The role is cancelling.
As explained in the case of passenger, the roles are use cases. Similarly, one can probe into the
roles and use cases for counter clerk and reservation and ticketing system.
1. Passenger submits information about the date and train, and requirement of tickets to the
counter clerk
4. If OK, the passenger proceeds to book the ticket through a requisition form.
5. If not OK, the passenger changes the date or train and requests availability.
Figure 15.4 shows the steps in the activity diagrams of use case enquiry to issue of Tickets.
Here use case goal is to convey the ticket availability status to the passenger on the requested
date and train. If the status is ‘available’, the passenger proceeds to book the ticket or may leave
the counter. If the status is ‘not available’, the passenger may leave the counter or seek
availability for a new date or new train
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
26
Steps involved in this use case are:
• Cancellation
• Process reservation data
• Form data entry
• Process ticketing
• Form processing
• Process cancellation
• Ticket printing
• Status updating
When the analyst has completed all use cases in the system, s/he has described and modeled the
requirement of reservation and ticketing system. It is possible that in first go s/he may not be able
to identify actors and hence use cases. But s/ he will come across their presence in the modeling
exercise, and will then go back and analyze further to introduce more actors and use cases. OOA
is an intuitive process. Use case–driven OOA up till now has given us broad system requirements
in terms of use cases. The OOA model using use cases is to be packaged to model the system.
Figure 15.7 shows the packaging of use cases considered in the R and T system.
• Enquiry
• Ticketing
• Reservation
• Cancellation
The remaining use cases are sub-use cases, or, in other words, these four use cases are further
decomposed to bring clarity to main use case scenario.
How many case scenarios are necessary to represent the system and then to spell out the
requirement? There are no set rules or guidelines on this point. More use cases may not
necessarily bring better understanding or more clarity. A lot depends on users’ and developers’
level of comfort. What is definitely required is a use case for each major scenario: that is, for
enquiry, reservation, ticketing and cancellation. Use cases for different scenarios arising out of
smaller input variations need not be modeled. For example, cancellation could be part of a
journey, reduced number of tickets and so on. Amongst five recommended processes of analysis,
use case–driven analysis for ascertaining system requirement is considered best as it considers
users’ perspective of the system. When the system is modeled into different case scenarios it not
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
29
only goes down to the level of function and features, but also reveals relationships and behaviors
amongst different system components.
Each use case scenario is an instance in the system that has clarity regarding goals and how they
are to be achieved. The system can be decomposed from major use case at higher level going
down to lowest level. This means that lower level use case scenarios together build the major
scenario.
In use case–driven analysis, so far we have only understood in addition to domain knowledge.
The data flow diagram is a graphical representation that depicts information flow and the
transforms that are applied as data moves from input to output. The DFD may be used to
represent a system or software at any level of abstraction. In fact DFD may be partitioned into
levels that represent increasing information flow and functional detail.
The level 0 DFD or a context model represents the entire software element as a single bubble
with input and output data indicated by incoming and outgoing arrows, respectively.
In level 0 diagram shown below, the passenger fills either the reservation or cancellation form as
input. He gets the ticket as the output and the report is sent to the administration.
Waiting info
To
Admin
Enquiry
Down Up Storage
Storage
Reservati
Reservati Repor
on Confirmati
on t
on
Query Reservati
on Process
Proces
s Search Waiti
ing ng
Reservati
on Proce
ss
Passenger Process
Waitin
Cancellat g Ticket
Inquir
ion Generati
y
on
Process
Railwa
process
y dept
Reservation
table
Cancelati
Waiting Generate
on table
table Ticket
Generate
report
Level 2 DFD
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
33
DESCRIPTION OF FLOW CHART: The program flowchart shows how the system proceeds
from the input form to the output form of the system. It explains how the system is actually
processed step by step. It represents the flow of control as the system is processed.
1. Input flow chart: This flowchart depicts the basic input operations in the system. In
railway reservation system, first of all the password is checked then if the password is valid then
we process the input form if the data is valid then the entries are updated in the data base
otherwise the form is refilled.
2. Output flow chart: This flowchart depicts the basic output operations in the system. The
user is required to enter the criteria for output. If it is for the reservation then the availability if
seats is checked. If the seats are available then the confirmed ticket is generated otherwise the
user is asked for waiting and if he wants then waiting ticket is generated. If the user wants the
seat to be cancelled it is done and the cancelled ticket is generated for the user. The information
about all the above transactions is then transferred to the related databases.
3. Report flow chart: This flowchart depicts the basic operations for the generation of
reports. If the entries from the processed database are valid the concerned reports are generated
otherwise the process will have to be repeated.
Entity relationship diagram expresses the overall logical structure of a database graphically. It
shows the relationship between different entities. The entities can have composite, multivolume
or derived attributes. The entities and their attributes are:
Passenger
• Name
• First name
• Middle name
• Last name
• Gender
• Address
• House no.
• Street
• City
• Age
• Phone no.
Form
• Form no.
Ticket
• Ticket no.
• Waiting
• Confirmed
• Cancelled
Reservation counter
Administrator
Train
• Train no
PROCESS
DATA FLOW
5. INTERFACE REQUIREMENTS:
A GUI uses a combination of technologies and devices to provide a platform the user can
interact with, for the tasks of gathering and producing information.
The WIMP style of interaction uses a physical input device to control the position of
a cursor and presents information organized in windows and represented with icons.
Available commands are compiled together in menus, and actions are performed making
gestures with the pointing device. A window manager facilitates the interactions between
windows, applications, and the windowing system. The windowing system handles
hardware devices such as pointing devices and graphics hardware, as well as the
positioning of the cursor.
In personal computers all these elements are modeled through a desktop metaphor, to
produce a simulation called a desktop environment in which the display represents a
desktop, upon which documents and folders of documents can be placed. Window
managers and other software combine to simulate the desktop environment with varying
degrees of realism
• Passengers and travel agents use terminals to reserve the tickets and to get
information about the available seats on particular trains.
Mobile telephone based SMS enquiry service. A new mobile phone Based facility for rail
users’ viz., Country wide extension of Universal Rail Enquiry number
Specify the logical characteristics of each interface between the software product and the
hardware components of the system. Include such matters as what devices are to be
supported, how they are to be supported, and protocols.
Printer
Normal PC
CPU – INTEL CORE 2DUO E7300
RAM – 1GB (MIN)
HARD DISK – 160GB
OPERATING SYSTEM – WINDOWS XP WITH SERVICE PACK 3 (CHT)
• Define the interface in terms of message content and format. It is not necessary
to detail any well-documented Interface but a reference to the document defining
the interface is required.
6. PERFORMANCE REQURIMENT:
The following sections list the performance requirements for the system.
User Requirements:
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
44
User Requirements Description of Requirement
For Design Environment
Location(s) and Number(s) of Users Guangzhou, Nanjing, Shanghai
User Expectation
Application Requirements:
Since no specified service is indicated, then we have listed the applications as best efforts. This
may change as we learn more about the application.
The communication package is determined to be busty in nature, with small data sizes and
frequent transmissions. We can consider this application to be interactive-burst, while the
database transaction-processing application is described by the CRM as transferring large
amounts of data (initial estimates are 1 MB/transaction), we have listed this application as
interactive-bulk.
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
45
Categorizing Best-Efforts Application
Applications Locations
Host Requirements:
AC first class.
AC sleeper.
First class.
AC three tier.
AC chair car.
Sleeper class
Ordinary chair car.
44 types of quotas.
1 types of trains.
9 types of classes.
7.1 SECURITY
Extent to which access to software or data by unauthorized people can be controlled The
Railway reservation system should not compromise the customer information at any time. The
user information will never be sold to other parties and will be kept secure at all times. Users
will be authenticated to ensure that no unauthorized users gain access to private information.
7.2 RELIABILITY
This system must be highly robust. amount of computing resources and code required to perform
function extent to which program performs with required precision
7.3 REUSEABILITY
This requirement is present, as this system will interact with user.
7.4 PORTABILITY
The Railway reservation system will be developed so that it uses all type of functions and fulfill
all the requirements of the system it uses the class hierarchy and pre inbuilt library functions
which is completely utilized in the system designing and coding.
It should be fast enough to produce the output The RRS system will be considered correct when
the CRM approves the prototype presented and agrees that all the functions they require are
implemented as stated in the Software Requirements Specification.
7.7 MAINTAINABILITY
Time: The project should be completed within the stipulated time period
Cost: The cost involved in marketing the project should be less.
8. SECURITY:
From security point of view, authentication will be done by password checking. If correct
password has been entered by the user, the user will get further access to the system, otherwise
he will have to re-enter the password. The facility to change the password has also been provided
but for that the user will have to first enter the old password. The password can be four
characters long.
8.1 DESCRIPTION:
SOFTWARE DISCRIPTION:
Windows provides a broad range of graphical functions for drawing lines and geometric
shapes and changing color. It also provides library functions for accessing screen, printers,
keyboard, mouse and functions for working with various other types of objects like menus,
bitmaps, icons etc. These libraries are a part of operating system
The system-defined functions that an application can call are provided by an interface
known as the Application Programming Interface, or API. It is the interface between an
application and Windows environment
Every Windows environment has its unique API. The API that supports Windows95, 98,
2000, XP are 32 bits API that is, all the functions supported by the API can work with 32
bits of information. The API of Windows 2000, XP has some special features for file
security and support for multiple processors. This collection of working functions is
maintained in files stored in the SYSTEM32 directory in the hard disk drive. This is
created when the Windows is installed
HARDWARE DISCRIPTION:
The software requires IBM compatible machines with the following recommended specification
PROJECT DESCRIPTION:
Rail transport is a commonly used mode of long-distance transportation in India. Almost all rail
operations in India are handled by a state-owned company, Indian Railways, under the federal
Ministry of Railways. The Indian Railways issues railway tickets for the citizens, so
that they can use the rail transport facility. There are many categories of classes,
for example, air-conditioned class, first class, sleeper class and general class. Each has its
own features. Sleeper classes used for traveling more than a day
Reservation:
For long-distance travel, reservation of a berth can be done for comfortable
travel up to t w o m o n t h s p r i o r t o t h e d a t e o f i n t e n d e d t r a v e l . D e t a i l s
Jagannath Gupta Institute of Engineering and Technology
Plot no. IP-2&3,Phase IV,Sitapura Industrial Area,
Opp.Chokhi Dhani,Jaipur
51
such as the name, age and concession (if eligible) are required and are
r e c o r d e d o n t h e t i c k e t . T h e t i c k e t p r i c e usually includes the base fare which
depends on the classification of the train (example s u p e r - f a s t s u r c h a r g e i f t h e t r a i n
i s c l a s s i f i e d a s a s u p e r - f a s t ) , t h e c l a s s i n w h i c h o n e wishes to travel and the
reservation charge for overnight journeys.
Fare Calculation:
The fare is calculated on the basis of the distance (in km) and the class
• Data redundancy: It means that same data fields appear in many different files and
often in different formats. In manual system, it poses quite a big problem because the
data has to be maintained in large volumes but in our system, this problem can be
overcome by providing the condition that if the data entered is duplicate, it will not be
entered, otherwise, updating will take place.
• Difficulty in accessing the data: In manual system, searching information is time
consuming but in our system, any information can be accessed by providing the
primary key.
• Unsatisfactory security measures: In manual system, no security measures were
provided but in this system, password security has been provided. The person can
access the system by providing the correct password otherwise he is denied the
access.
ESTIMATING COSTS:
• Decompose the system and estimate costs of components; this is easier and
more accurate than directly estimating cost for the whole system
8.4 RISK:
• Unauthorized Access.
• Data Ambiguity.
• Data redundancy.
• Data Damage.
Other Risks
9. OPERATIONAL SCENARIO:
USER CHARACTERISTICS:
Knowledgeable user
No voice user
Expert user
10. CONCLUSION:
The project entitled “railway ticket system” has been developed to maintain and manage all
the reservation procedures include in the generation of a railway ticket
for s e n i o r a n d n o n - s e n i o r c i t i z e n s . W e b e l i e v e t h a t , t h i s p r o j e c t w i l l
h e l p t h e c o m p u t e r operator of Indian railways (south zone) to carry out the
railway ticket reservation, to c a n c e l t i c k e t s a n d t o i m p l e m e n t t h e n e w l y
p r o p o s e d j o u r n e y p l a n n e r w i t h o u t a n y difficulties, if this project is implemented in
Indian railways (south zone). We had tried our level best to produce the project in its present
form during the course of the project work, it was found to be very user interactive and effective
than the existing system. The flexible attitude of visual basic helps to maintain the “railway
ticket system” more effective.
DIFFICULTIES ENCOUNTERED:
There were many difficulties that came in our way in the process of development of this real
time project some of them are illustrated below.
• Real time transfer of the file with minimum time delay.
• Searching an efficient security package and studying its usage.
• Enabling the multi user environment and simultaneous usage of files.
FUTURE ENHANCEMENT:
• Extra and user defined security needs can be employed during request and response.
• Records of client activities can be maintained.
• Another enhancement would be to add more modules to cover all information off the
system.
Rather than designing manually we have made use of computer as once that data are input it
performs accurate function. There is no chance of fault or miscalculation if the data are fed
correctly. Use of the computers has solved many problems, which are faced while manual
calculation.
This is not the end but beginning of the versatile, efficient and outsourcing railway reservation
system. This is the one which is Railway Reservation System compatible to all operating system.
11. REFERENCES: