Introduction
In this paper, the concept of the Centrala Underground Ticketing System; the fundamental, managerial, and technical details of developing the ITS; Thirdly, the implementation and testing of the ITS. The graphically oriented front-end of the system was built utilizing the Tkinter toolkit in the Python programming language. The purpose of the solution is to provide the Centrala Transport Authority (CTA) of the requirement for the fully automated subterranean ticketing system in the city.
For students struggling to complete their projects on complex systems like the Centrala Underground Ticketing System, Native Assignment Help offers expert guidance. Our team of skilled writers provides high-quality, plagiarism-free solutions tailored to meet academic standards. With reliable Assignment Help, you can ensure timely submission and achieve better grades while understanding the technical concepts effectively.
Code Implementation
Functionality Overview
The implemented solution provides the following key functionalities:
- Display zones and stations
Figure 1: Output for stations and zones list
Underground zones and stations Names for both the upper and lower windows are produced by the show_zones_and_stations function(Pattan et al. 2023). The window is called “Stations and Zones” and after that a table with the table header ‘Zone No.’, ‘Zone Name’, and ‘Stations of each zone in alphabetical order’ appears squeezed into the window. The user is able to see the list of stations and the zones as an output.
- Zone selection for travel
Figure 2: Output for Zones selection
A new window for zone selection zone selection menu is started by the show_zone_selection_menu function(Ismael et al. 2022). The window with the label "Select Your Zones" has two dropdown menus on it: one as the starting zone and the other in order to select the destination zone(Taha and Khaled 2023). For the dynamic generation of the available zones the ZONES dictionary is employed. To pick the required zones offering, the output helps to make a choice depending on the needed characteristics.
- Ticket booking for different passenger types (Adult, Child, Senior, Student)
Figure 3: Output for giving the passengers details
This displays an entry area for the users to enter the number of tickets of adults, childrens, students seniors respectively and it also shows a welcome label(Pahr 2020). Before each entry field, there is an appropriate label which should guide the user as to the input to be made. It’s here that the user can input a value of their choice depending on their needs.
- Travel voucher generation and payment method
Figure 4: Output for generating travel vouchers and displaying voucher details
The input by the user, the generate_travel_voucher function establishes the fare and issues a voucher including; the zones to be covered, fare details, and total number of travelers. Also, it has a checkbox with the label ‘Pay as You Go’ and fields for payment details(Alvarez 2022). After the payment is complete, it shows the message confirming it, changes the totals at the bottom of the form and gives the options to print one more voucher or to print the totals and close(Kjønnerud et al. 2020). After receiving the input from the user the user of the system will be able to create the travel voucher and display details of the voucher. The user is also able to exit the application after clicking on the exit button of the interface.
- Real-time train schedules display
Figure 5: Output for displaying Train schedules list
After clicking the button ‘show real-time schedules’ the user can see the list of the train schedules.
- Feedback submission
Figure 6: Output of feedback window
After clicking the ‘Provide feedback’ button the user can give the feedback as per needs. Also, a message will be displayed ‘feedback submitted’.
- Administrative dashboard
Figure 7: Output of displaying Administrative Dashboard
Here in the administrative dashboard window, the admin can see the total tickets sold, total revenue, and the user-given feedback.
Input Validation
It implements basic input validation to improve the data integrity:
- Default Values: A missing value in the passenger counts input is defaulted at zero when creating a travel voucher.
- Type Conversion: while converting string inputs to integer, int() is used and if the inputs are not in string or is not integer then it will raise a value error.
- Dropdown Menus: Selection through zones is done through dropdown menus for the reason that options which the user may input are limited to a few, acceptable selections are the only options allowed.
Testing
Test Plan
The given test plan is created to ensure comprehensive testing of the Centrala Underground Ticketing System:
Test Case ID |
Description |
Test Steps |
Expected Result |
Actual Result |
Pass/Fail |
TC001 |
Display Zones and Stations |
1. Click "Show Zones and Stations" button |
A new window displays all zones and their respective stations in alphabetical order |
As expected |
Pass |
TC002 |
Zone Selection |
1. Click "Select Zones" button 2. Choose start and end zones |
A new window allows selection of start and end zones from dropdown menus |
As expected |
Pass |
TC003 |
Ticket Booking |
1. Enter passenger counts for each category 2. Click "Generate Travel Voucher" |
A new window displays the travel voucher with correct calculations |
As expected |
Pass |
TC004 |
Payment Method Selection |
1. Generate a travel voucher 2. Select payment method (Card/Applepay) 3. Check/uncheck "Pay as You Go" |
Payment method is recorded correctly |
As expected |
Pass |
TC005 |
Admin Dashboard |
1. Click "Admin Dashboard" button |
A new window displays total tickets sold and revenue |
As expected |
Pass |
TC006 |
Real-time Train Schedules |
1. Click "Show Real-time Train Schedules" button |
A new window displays sample train schedules |
As expected |
Pass |
TC007 |
Feedback Submission |
1. Click "Provide Feedback" button 2. Enter feedback 3. Click Submit |
Feedback is recorded and confirmation message displayed |
As expected |
Pass |
TC008 |
Exit Application |
1. Click "Exit" button |
All windows close and application exits |
As expected |
Pass |
TC009 |
Input Validation - Empty Fields |
1. Leave all passenger count fields empty 2. Generate travel voucher |
System handles empty inputs without crashing |
As expected |
Pass |
Test Results Analysis
Core functionality: The main purpose of the system includes ticket booking; indicating the zones; and voucher generation.
Interface: The GUI is fully functional and the buttons, the pull-down menus, and all the other paraphernalia associated with the GUI are functional.
Calculations: At least with the zone travel and fare calculations it appears that they are correct.
Input Handling: Default of the system count is set to zero for the passengers and it performs well in handling cases of no passengers.
Administrative Features: Basically, feedback mechanism and admn dashboard are working as per the defined strategy.
Evaluation Against Client Brief
Zoned System: The segregation of tickets with a zonal approach makes has been successfully accomplished in the system.
Automated Ticketing: It also helps to reduce the use of actual ticket offices since one has to go through this system to get the ticket.
User Interface: Ticket purchasing and navigating around are made simple by the GUI.
Fare Calculation: The kind of passenger as well as the zones covered are well taken by the algorithm to compute the fare successfully.
Conclusion
The Centrala Underground Ticketing System would, therefore, more than adequately meet the needs of the CTA for an automated ticketing system. This is because the system, created using Python and Tkinter, presents a user-friendly interface displaying a zone and ticket option and an insertion of travel vouchers option. The administrator dashboard, feedback submission and live train schedules are also provided. As such, the overall capabilities are fundamentally operational, but input validation may need improvement. The automated fare calculation system, which is the reason the ticketing system is provided with zonal ticketing options, was properly implemented. Further directions would be towards better error handling, more documentation, and scalability. This kind of solution really could help users of Centrala and its underground transportation system in terms of improvements with frequent patching and maintenance. Here it lists most of the features and achievements of the project and improvements spaces for the system. It's a short statement on what the system entails and what it could bring to Centrala's underground ticketing system.
Reference List
Journals
Pattan, D., Amaresh, A.M., Padmaja, K. and Gururaj, K.S., 2023. An Optimization Technique is Designed to Enhance the Performance of the Metro Rail System. SN Computer Science, 4(3), p.294.
Alvarez, N., 2022. USA Rail Planner: A user-focused web-scraping solution for rail travel planning in the United States (Master's thesis, University of Nevada, Reno).
Taha, M.N. and Khaled, N.G., 2023. Smart Bus System.
Pahr, M., 2020. Analysis and Processing of Smart City Data (Doctoral dissertation, University of Applied Sciences Technikum Wien).
Kjønnerud, A.R., Hylleseth, T., Bantii, E.D., Nordholmen, J. and Abamachu, D., 2020. Trye app (Bachelor's thesis, Universitetet i Sørøst-Norge, Fakultet for teknologi, naturvitenskap og maritime fag, Institutt realfag og industrisystemer).
Ismael, O., Othman, O. and Malhis, L., 2022. Bus Monitoring System.
Lappalainen, J., 2020. Testing and quality assurance of a multimodal public transportation routing system (Master's thesis).
Joshi, R., Madaiah, K., Jessell, M., Lindsay, M. and Pirot, G., 2021. dh2loop 1.0: an open-source Python library for automated processing and classification of geological logs. Geoscientific Model Development, 14(11), pp.6711-6740.
Dumont, A., 2021. Sustainable travel during the Olympic and Paralympic Games: A methodology to model public transport travel for Paris 2024.
Acharya, K., 2024. Online Job Portal Management System. Available at SSRN 4817534.
Mazaira Hernández, A., 2020. Front-end implementation for an automatized car parking.