System Analysis and Design of An Online Train Ticketing System
System Analysis and Design of An Online Train Ticketing System
CONTENT
1. Introduction
2. Problem Statement
3. Proposed System
4. Requirement Analysis
5. System Architecture
6. System Design
8. Diagrams
9. References
1. INTRODUCTION
Nigeria is a massive country with 201 million people. The primary means of transportation in
Nigeria is by road, which generates a ridiculous amount of traffic. There is a need to diversify
the means of transportation adopted in Nigeria, which brings us to the Railway. There is a dense
railway network across Nigeria, and passenger trains circulate on several routes across the
country. Still, trains' sluggish speed and the low quality of service have hindered railway
transportation from genuinely taking off. With such a vast population, there is a need to take the
train ticketing system online without eradicating the physical ticketing system. The Online Train
Ticketing System(OTTS) solves the problem of low-quality service, time wastage, inefficient
utilization of resources, overcrowding, etc. It allows the users to book or cancel local train tickets
and receive a receipt online. It also allows users to see all possible and available routes. It also
has an option to connect with google maps to view the various available stations across the
country.
2. PROBLEM STATEMENT:
People have to waste their time standing in the queue, which will eventually lead them to miss
their train, making them waste money and resources. The counter clerks are not fast enough to
handle the crowd in the station and issue tickets. The smart Ticketing machines cannot
efficiently and effectively attend to every single customer. Sometimes, it isn't possible to validate
whether a person has a ticket or not, whether the ticket is fake or not, whether it is an already
used ticket or not, especially in a crowd. To overcome such difficulties, we introduce the Online
Train Ticketing System.
3. PROPOSED SYSTEM
The main aim of the proposed system is to reform the current season ticket booking process
(Ticket) for local travelling. i.e. with the help of this application travelers will able to book
tickets through their mobile using Wi Fi connectivity and GPRS.[1]
4. REQUIREMENT ANALYSIS
System login: For the user to login, valid login details are required before
granting further access.
Data encryption: The Online Train Ticketing System encrypts all
information before writing it into the database.
Maximum login attempts: This system allows a maximum of five
consecutive trials.
Transaction recordings: This system shall keep a record of all failed login
attempts with user login, terminal login and time.
Maintainability:
Availability:
5. SYSTEM ARCHITECTURE
Presentation Tier- The presentation tier is the front end layer in the 3-tier system and
consists of the user interface. This user interface is often a graphical one accessible
through a web browser or web-based application and displays content and information
useful to the end-user. This tier is built on web technologies such as HTML5, JavaScript,
CSS, or other popular web development frameworks. It communicates with other layers
through API calls.
Application layer tier: This is the application service layer. It is the core of this three-
layer structure. This layer handles the system functions and business logic. In this layer,
the system's business logic is encapsulated, the application service interface is provided
for the user interface layer and the system modules between the function calls. The
application service layer also updates data in the database according to the top layer's
service request. The middle tier is designed to capture information like: the user's login
details, booking a ticket, cancelling a ticket, making payment, etc.
Database tier: The database is used to hold data, including user registration information,
ticket ordering information, ticket information, payment information and all of the other
information.
Fig 1. Diagram Showcasing the Interaction between the 3 tiers in the systems
architecture
6. SYSTEM DESIGN
The system design includes business process design and database design. Database design
mainly realizes data tables and the relationship between data tables. Business process design
implements the order of various functions and links between the various parts.
ER diagram provides entities (ie data object), properties, and associated methods, in order to
describing the conceptual model of the real world. The basic elements of ER diagram are
constituted by entities, attributes and links. The representation is as following
Train
Payment
PK train_id
PK payment_id
train_name
payment_user_id
departure_time
payment_date
departure_date
payment_amount
PK arrival_date
payment_description
train_description
make
departure_location
User
arrival_time
PK user_id
arrival_location
name
PK distance
associate
email_address
password
has telephone
PK sex
Ticket
PK ticket_id
ticket_user_id
cancel
ticket_type
date_issued
ticket_description
ticket_price
book
seat_number
Payment (payment ID, user ID, ticket ID, payment date, payment amount, payment description)
Ticket( ticket ID, user ID, payment ID, train ID, ticket type, date issued, ticket description, ticket
price, seat number)
Train (train ID, train name, departure time, arrival time, departure date, arrival date, train
description, arrival date, departure location, arrival location, distance)
8. DIAGRAMS
Use case: a use case is a sequence of action a system performs that yields a result to the actor.
User
Train
Application Layer
Login
Register
Issue ticket
Choose source and destination
Book ticket
Make payment
Check availability
o Date
o Train name
o Reservation type
o Fill and Submit form
login <<extend>> register
book ticket
<<extend>>
<<extend>>
cancel booked ticket
make payment
<<include>>
issue ticket
if available
Validate booking
Update detail
Make Payment
Issue Ticket
Request cancellation
Perform cancellation
Validate cancellation
Update train