7CS508 - Object Oriented Design and Implementation - Eutopia Trains

Verified

Added on  2023/06/11

|30
|7189
|419
Report
AI Summary
This report presents the design of a web application for the Eutopia Train Company, focusing on online railway reservations. It includes a requirement analysis, detailing both functional and non-functional requirements, such as user registration, timetable viewing, ticket booking, and payment processing. Use case diagrams illustrate user interactions, including registration/login and ticket booking processes. The report also outlines other important features like journey reminders and location listings. A candidate class list and class diagram are provided to show the system's object-oriented structure. The design adheres to object-oriented programming principles, aiming to create a user-friendly and efficient online ticket booking system. Desklib offers additional resources including past papers and solved assignments for students.
Document Page
Running head: EUTOPIA TRAIN COMPANY WEB APPLICATION
Eutopia Train Company Web Application
Name of the Student:
Name of the University:
Author note:
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
1
EUTOPIA TRAIN COMPANY WEB APPLICATION
Table of Contents
Introduction................................................................................................................................2
Requirement Analysis................................................................................................................3
Functional Requirements.......................................................................................................3
Non-functional Requirements..............................................................................................11
Use Case...................................................................................................................................15
Extended Use Cases.................................................................................................................17
Registration/Login Use Cases..............................................................................................17
Ticket Booking Use Cases...................................................................................................19
Other Important Features.....................................................................................................21
Candidate Class List.................................................................................................................22
Class Diagram..........................................................................................................................25
Conclusion................................................................................................................................25
Document Page
2
EUTOPIA TRAIN COMPANY WEB APPLICATION
Introduction
Railway is one of the major forms of transportation for human beings all over the
world. It connects various parts of a country and carries more than billions of people all over
the world. The native system that is used since ages asks the passengers to visit the rail
stations and collect their train tickets by paying for it (Profillidis 2016). Humongous queues
of people are observed before the railway ticket counters in the rush hours. It is certainly
necessary but hectic in the same time. However, with the advancement of time, human life is
tending to become faster. Wasting a minute in queue can cost tremendously in the long run.
Therefore, it is necessary to realize the situation and come out of the traditional ticket
booking approach as soon as possible (Suki and Suki 2017). Several countries and their
railway agencies have already sorted a way out of all these hustle and bustle. According to
modern trends, going online is the key to success. Taking any form of customer interactions
online seems to have vigorously enhanced the life of many which includes both the business
holders and the clients. In case of a railway reservation system, an online platform can greatly
help in the growth of the nation and its transportation (Ghosal et al. 2015).
Eutopia is fast-growing nation with a very busy passenger railway network that runs
through the country. This extensive railway network is operated by the Eutopian government
railway agency. As stated earlier, similarly, the passengers here has to buy tickets for their
rail journeys by visiting the ticket counters and paying for the tickets. They can also make
telephonic call to the railway customer service and then make draft payment, in which case
the tickets sent to them over the post. However, having realized the need for an online
railway reservation system, the Eutopian railway agency wants to implement a web
application into the ticket booking system. This would include a web application that will be
used by the customers through any web browser, online. The customers will use this system
to view railway time-tables, view ticket availabilities and also book tickets for their journeys.
Document Page
3
EUTOPIA TRAIN COMPANY WEB APPLICATION
Once purchased, the customers may choose to either receive these tickets via mail post or
they may also choose to collects the tickets by visiting the ticket counters, physically. The
users will also be provided with other added features to make their travelling experience more
enhanced.
This report aims at throwing light into the depths of website development by outlining
and explaining all the necessary steps that are needed in the process. This will include the
listing of all functional and non-functional requirements for the website. Furthermore, the
report will present the use case diagrams and their detailed explanations alongside the class
diagrams that will help the readers to read the system details with better understandability.
The system design will adhere to the Object Oriented Programming principles and other
necessary principles (Coad, Yourdon and Coad 2012).
Requirement Analysis
Functional Requirements
Functional requirement listing is a software engineering procedure that lists down and
explains all the detailed functionalities of a computer system or its components. The
functions are described based on the types of inputs and outputs for the system (Wiegers and
Beatty 2013). Here, the functional requirements that will describe the core details of the
Eutopian railway ticket booking web application are as follows:
1. Customers must be able to sign up into the system using their personal details.
2. Each new customer will have a unique ID.
3. The web application must be able to allow customers to view train time-table.
4. The web application must allow customers to view available train tickets.
5. The web application must be able to allow customers to set reminders or save their
upcoming plans for journey and be notified via mail.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
4
EUTOPIA TRAIN COMPANY WEB APPLICATION
6. The application must give a detailed listing of all the available stations along with
route details, which the customers must know before they proceed with the booking
(Molchanova et al. 2015).
7. The web application must allow customers to book tickets according to their choices
by selecting the proper source and destination stations and finally the trains they
would like to book for.
8. Each new ticket will have a unique ID.
9. The application must allow users to view the booking status of their last booked
ticket.
10. Different price charts must be presented for adult and child tickets.
11. Customers must be allowed to view the bookings they made before payment
procedure.
12. The customers are to be allowed to make payments using their valid VISA or
MasterCard credit cards.
13. Options must be presented to the customers in order to choose between postal
deliveries for their tickets or counter collection.
14. If the customer chooses to get their tickets delivered via post, the customer’s address
must be validated by the system.
15. An option must be presented for the user to cancel bookings or report errors in the
booking after the payments have been made.
16. A helpline module must be implemented into the website via email assistance or
FAQ.
17. After logging in into the system, the system will allow the users to view their ticket
booking history.
Document Page
5
EUTOPIA TRAIN COMPANY WEB APPLICATION
18. Logged in users must be allowed to access their favorite or most visited train
destinations.
19. Administrator login must be allowed to update necessary information in the website’s
backend.
20. The backend database must allow access boundaries for the various types of users.
Explanation
User Registration and login: One of the most basic features of any software or web
system is the ability of the user to sign up into it using their personal details.
Similarly, the Eutopian Railway Web application must also allow new users to sign
up for their account in the website. This account must store the basic identity details
of the personality including their name, password, email id, contact details, address,
date of birth and a social identity card number. The system administrators must ensure
that these data are well preserved. Details on the security of the system will be
discussed in a later section of the report under the non-functional requirements
(Kaufman 2009). Furthermore, the registration process must verify the identity of the
personal by sending a verification link to the individual’s mail account. The user will
then be required to login into their provided mail id and then click on the link to
verify the account. This process helps the system to reject any registration requests
that comes from users who try to register with false or inactive email accounts. Once
signed up for the website, every step taken by the user within the website will be
saved under their own profile and hence this increases reliability of the system. This
makes it easier for the system to distinguish between various profiles and their
bookings and other whereabouts. Finally, the users can therefore login into the system
once their account is verified and created. In addition, the system should also allow
provisions to allow users to gain access to their accounts if they have supposedly
Document Page
6
EUTOPIA TRAIN COMPANY WEB APPLICATION
forgotten their password. The system should send an email to the registered mail id of
the individual and ask him or her to visit the mail inbox to change their password.
Features should also be presented for the users to edit and update their provided
information at any point of time. However, proper validation measures must be taken.
This sign-up/login option should be displayed on top of every webpage within the
website application to allow users to login whenever they feel like. Also, a logout
option is to be presented for the already logged in users.
Time-Table: It is always necessary for any railway reservation system to allow their
customers to view the train timetables with keen details that will allow them to make
their reservation or journey plans. This feature will allow the customers to view the
time-table of the trains. The time-table data will be taken from a backend database
which can be updated by the system administrator according to needs and situation.
This will help the system to remain updated in real-time. The feature can also include
a search box that will allow the users to search for a particular destination and
accordingly gain train information for the same.
Tickets availability: This is a very crucial feature that will help the passengers who
are planning for long rides. This will allow them to view the number of tickets that are
remaining for a particular train. This can be done in two ways. A graphical
representation of the booked seats and the un-booked seats can be presented to the
user. This will allow the user to get a better understanding of the actual booking status
for the train that they are going to book. This will also help them to choose the seats
with better precision. However, it must be made sure that the ticket availability option
is not presented to those customers or passengers who are willing to book a ticket for
a local train journey. Through this feature, the passengers must also be allowed to
search for trains by their preferable journey times and or other categories.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
7
EUTOPIA TRAIN COMPANY WEB APPLICATION
Journey Reminders: This option will allow the web application to notify the users
with their upcoming ticket bookings a day prior to the scheduled date and 6 hours
prior to the time. This will help the passengers to not miss their trains or bookings.
The users are to be notified via an email or messaging service that will contain the
ticket code, the date/time of booking and the status of ticket collection. This option
shall also allow the users to set their own customized journey reminders. Another
interesting feature of this application will be to inform the willing passengers when
there is a ticket available for a train they enquired about. This is a very necessary
feature and must be a key implementation in the process.
Location Listings: The web application must have the features to allow its users to
view the cities or towns that the railway routes connect. Through this the passengers
will be able to choose their boarding and departing stations from a presented list. This
will also avert the chances of erroneous input into the system like when a passenger
enters a wrong station name and the ticket is wrongly generated. A distance calculator
should also be displayed that will display the distance of the total journey to be made
for the particular booking between the mentioned locations. If a passenger wishes to
book tickets based on the search results for particular trains, the journey routes must
also be displayed in a textual or graphical map visual. This will prove to be a very
useful user interface feature for the application.
Booking status: According to (Mohapatra 2013)This is one of the most important
feature of any e-commerce application. To view the status of the ordered products is a
basic necessity for any customer centric e-commerce website. Here, the passengers
must be offered the chance to view the status of the tickets that they have booked
currently. They must be presented with all the detailed information about their
bookings. If the user chooses postal servicing for obtaining the tickets then the order
Document Page
8
EUTOPIA TRAIN COMPANY WEB APPLICATION
status must be updated on the user’s portal at dispatch, en-route and delivery
instances. For passengers who have got their tickets in waiting list must also be
notified with updates about their booking status. Booking status is a method that helps
to keep the client content at hours of mistrust or order complications. If the customer
feels that he is being cheated or a delivery is being late, this feature will allow the
users to view the real-time status and gain comfort about the same.
Price Charts: The price-chart of the entire train routes must be displayed on the web
portal when a user logs in. This will help them to plan their long journeys according
to the price. The price chart should have two different sections. First where the
distance to and from a particular station to another shall be depicted alongside the
price for the tickets. This will include price for both the children and the adults. In
addition, a price calculator can be added that will allow the system to calculate the net
price of the bookings made under a particular profile. This will keep track of the
number of tickets bought by the individual, the price of each depending on the
number of adults or minors (Hetrakul and Cirillo 2014).
Booking confirmation: Through this feature, the customer must be made aware of
the bookings they made just before they proceed with the payment procedure. This
will help them to confirm that they have not made any mistake while in the process.
Ticket collection and delivery options: The application should decide whether the
user is eligible for choosing the ticket delivery by post option. This shall be done by
taking into consideration the address of the customer. Ticket delivery by post can only
be availed by those passengers who live in Eutopia. For the rest they will have to
collect their tickets by visiting the railway counters. Eutopians can also avail this
option if they wishes so.
Document Page
9
EUTOPIA TRAIN COMPANY WEB APPLICATION
Payment: This is another very important feature of the system that must be presented
with utter precision and security. In the words of Ur Rehman and Coughlan (2013),
the security aspects of the system regarding payment and other modules are extremely
important and must be considered with utmost priority. A trusted 3rd party payment
gateway should be implemented into the system that will allow the users to make
hustle-free payments. The gateway must allow the users to choose between their
VISA and MasterCard for making the payments (Roy and Venkateswaran 2014).
Furthermore, the validity of the cards must be judged. The rest will be taken care of
by the responsible gateway. Finally, a printable invoice of the tickets should be
presented to the user.
Ticket cancellation or escalation: Through this option, the passengers who have
already booked their tickets, will have the ability to cancel their tickets or escalate
mistakes that might have been made during the process. The application should
provide all necessary details to the user before they proceed with this option. On
cancellation of a ticket, the ticket must be made available for the rest to buy, keeping
in mind that there is no other individual with a “waiting” ticket status. In such case,
the ticket will be assigned to the first person in the waiting queue. For escalated
bookings, the management will be informed and they can have the liberty to get back
to the client as soon as possible to amend the changes.
Helpline system: Every computer application must be presented with a well defines
set of help options for the clients to communicate with the administrators whenever
they face a difficulty. Similarly here, all sorts of options that might be able to help a
customer at their hour of doubts and need must be presented. These include an online
chat system, where the user can chat with an admin personal and convey their
discomforts and gain instant solutions. In addition to that, the use can avail the e-mail
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
10
EUTOPIA TRAIN COMPANY WEB APPLICATION
help option through which the customer will be given the liberty to mail their issues
or feedbacks to the Eutopian Railway authority. Aziz, Kamaludin and Sulaiman
(2013), states that in order to provide prompt answers to the most general problems
that a new user might face with the application, an FAQ section must be present in the
website. This will contain pre-written answers to the most predictive problems that
one may face on this website. Finally, the helpline numbers and the links to the social
media handles of the website must also be provided. The users can call the respective
numbers to discuss their grievances and get prompt solution to their queries. The
social media handles will provide a discussion forum for the railway authority. The
passengers will be able to share their thoughts openly in these platforms. The
authority can make notes of these and then proceed on with the needed changes in
their application. This will not only help in the process of improving the website but
will also attract more visitors to use the online system for booking their tickets.
Ticket booking history: All logged in users would be presented with the option to
view their ticket booking history. This will include the entire set of tickets that they
have booked under the respective profile.
Favorite Destination: To make bookings simple and more agile, the users can be
given the opportunity to add their source and destination stations directly from the list
of favorites they have. The list of favorite can be auto generated by the application
based on the frequency of the station choices made by the users on a daily basis. This
will not only save time for the user but will also provide interface supremacy to the
application.
Administrator Operations: The administrators must be able to login into the
backend system and make necessary amendments. These might include price changes,
Document Page
11
EUTOPIA TRAIN COMPANY WEB APPLICATION
changing the train timings, ticket quantities or may be editing the ticket records of
required individuals.
Access Specifications: Being and open-end application that will be used by both the
general customer-end users and the administrators as well, it must have a detailed
layout of the access level for each set of entity who are allowed to login into the
system. A customer can only book tickets, view train details and enjoy other front end
operations, whereas an administrator should have all the prior said operations in
addition to making amendments to the underlying information.
Non-functional Requirements
The set of requisites that define how a system is supposed to work is known as the
non-functional set of requirements. This highlights the overall requirements of any
application system. According to Chung et al. (2012), the non-functional requirements of a
system helps to understand the reliability, sustainability and security features of a system.
The basic non-functional requirements of the Eutopian Railway application are as follows:
1. Accessibility
2. Security
3. Usability
4. Performance
Explanation
Accessibility: Accessibility defines the reach out features of any website application.
Better accessibility means users from all around can access the website aloof of all the
versatilities involved. This brings the users closer to the application both emotionally
and functionally. An application with improved accessibility traits will preferably
remove all barriers that prevent interaction with, or access to websites for the users
chevron_up_icon
1 out of 30
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]