Bus Ticket Reservation and Management System Project using Java and Swing

1. Introduction

1.1    Purpose

The purpose of this document is to describe the Software Requirement Specifications of a Bus Ticket Management System. It aims to lay down guidelines that have to be followed while developing the bus ticket management system. It also includes a description of the software and the IDEs used.

1.2    Intended Audience and Reading Suggestions

  • Section 2 of this document provides an overview of the domain that the proposed Bus Ticket Management System will support.
  • Section 3 includes screenshots of the actual developed Bus Ticket Management System.
  • Section 4 organizes the functional requirements for the major services provided by the Bus Ticket Management System.
  • Section 5 describes the nonfunctional requirements of the Bus Ticket Management System.

2.    Overall Description

2.1    Product Perspective

The Bus Ticket Management System that is to be developed is a new self-contained product that will contain information about a set of buses and passengers traveling on that particular bus. The perspective of the product is to replace the travel books used by travel agents and replace them with a well-maintained, reliable soft copy of the travel details.

Figure 2.1: Logic Diagram of the Software

2.2    Product Functions

A software system needs to be developed to maintain a Bus-Ticket Management System.

The software includes functionalities for 

1. User

2. Administrator                           

The user can book/cancel tickets.

  • To Book a ticket He / She selects the SOURCE Station & DESTINATION Station (for a given Date), upon which a list of buses plying on the chosen route is displayed. The user selects a bus, which results in the displaying of the Seat Matrix of the bus showing the available seats and booked seats.

            The user selects a seat and enters details like

            1. Name

            2. Address

            3. Contact No. 

            4. E-Mail

            after which the ticket describing all the travel details is generated.

  • To cancel a ticket He / She enters the Bus Number, Seat Number, and Date of Journey.

The ticket is canceled and the canceled seat is shown to be available in the seat matrix.

The administrator of the Bus-Ticket-Management system has to verify his/her identity by entering the password, which will give him/her administrative privileges.

The administrator can 

  1. Modify routes of buses
  2. Alter schedules of buses
  3. Modify the Prices of the tickets
  4. Add or remove buses

The changes made by the administrator are updated and the user sees the latest updated information.   

2.3    User Classes and Characteristics

It identifies the various use classes that will use the system. The system will be used in a Travel agency. The administrators, front-desk staff, and passengers will be the main users.

Assumptions: They are responsible for checking seat availability and reserving it for the appropriate passengers.

2.4    Operating Environment

The Bus Ticket Management System is developed on the Netbeans IDE and compiled as a Java Project. The source code files are put together in an src folder and included under one package.

This can be run on Operating Systems which have the Java Development Kit along with the Java Run Time Environment installed on it. 

3. External Interface Requirements

3.1 User Interfaces

The Bus Ticket Management System will not be a web-based application.  As can be seen above, the main interface includes a Book ticket button which will resume only after the source and destination of the user are inserted with the date. It also includes a button for canceling tickets if the user changes their mind. The third button is for the Admin to log in, once pressed it will ask for their username and password and the system retrieves the admin menu.   

The Admin Menu Page contains 4 fields which are labeled as ‘Add a bus’, ‘Modify a bus’, ‘Book a Ticket’ and ‘Remove a bus’. The admin can enter values to these required fields by clicking on the respective button.

There shall be other pages that have functionality related to customer operations and admin tool operations. The example figures are added.

The bus list is a table containing the Company name along with the details of the bus:

  • Amenities: gives all extra features present in that particular bus
  • Route number: to differentiate between buses of the same company
  • Type: tells the user whether the bus is a sleeper/nonsleeper and if It has A/c.
  • Price: Amount to be paid
  • Date: date of departure
  • Start and End time: The time of departure and arrival

At the bottom, the user has to enter the route number and choose the seat position from the seat matrix given. Once finished choosing the user can use the confirm button.

The cancel page is also present to remove a reservation placed on a seat on any specific bus.

Enter the details of the bus: the date, the route number, and your seat number.

 3.2 Software Interfaces

Both the client and server computers do not need an internet browser to work online.

The Bus Ticket Management System is developed on the Netbeans IDE and compiled as a Java Project. The source code files are put together in an src folder and included under one package.

This can be run on Operating Systems which have the Java Development Kit along with the Java Run Time Environment installed on it.

3.3 Communications Interfaces

This software can only be used on a local computer and thus communication functions like e-mail, web browsers, and network servers are not included. Any changes made are reflected immediately and the user who uses the system next will see the latest updated information.

Use Case Diagram for the Bus Ticket Management

4. System Features

4.1 Functional Requirements

Book Ticket:

  • Check Availability: The passenger must be allowed to see all available options for a journey and see if a particular seat is available or not. He should be able to view all the buses plying on a given route on a specific day and be able to check seat availability on all the buses.
  • Book Ticket: Then if the ticket is available then the seat should be booked, by entering the passenger details like Name, Contact No., E-mail id, and Age.

Report Generation:

  • Bus List: The Bus Ticket Management System should contain files that contain the list of buses traveling on a particular route.
  • Passenger List: The Bus Ticket Management System should contain files that contain the list of passengers traveling on a particular bus.
  • Seat Availability: The Bus Reservation System should generate reports on seat availability.       
  • Passenger-related Information: Each passenger should have the following mandatory information: first name, last name, phone number, and Bus details.
  • Bus-related Information: Each bus should have the following information: bus number, no of seats, bus type: normal, AC, Sleeper, Source, and Destination.
  • Update Bus Information: The Bus Reservation System shall allow the Administrator to update any of the bus information like type, source, destination, and ticket price.  

2 Replies to “Bus Ticket Reservation and Management System Project using Java and Swing”

Leave a Reply

Your email address will not be published. Required fields are marked *