Ticket Reservation System
You are asked to implement a ticket reservation system for a travel agency so that staff can book flights for their passengers.
You are required to use CPP principles you have learned from the class to implement and to realize the basic system functions. The principles includes:
- Inheritance (single and multiple if any)
- Exception handling
- Well code organization (separation the declaration and implementation)
- Author's documentation
- File processing
There are 3 phases in this project: phase1(due xx/11/07), you are required to submit the initial user interface and the UML notation [using Rational rose ] of basic classes. Phase 2(due xx/11/07), you are required to implement the UML notation with updating if any. After phase 2 you may have chance to discuss with the TA during your lab section time and any time if the time of the TA excuse. Phase 3 the final version to be submitted before XX/12/07,
This is a description of Ticket Reservation Office, where any passenger can reserve a ticket for his/her journey. The agency has 2 type of employee, staff/assistance/clacker and administrator each with a specific operations
The ticket reservation agency assistant can use the system to:
1. Reserve tickets.
2. Query for suitable flights.
3. Modify reservation.
4. cancel reservation
When reserve ticket option is chosen, the assistant will ask the passenger(s) for the following:
- Departure and destination information (city, airport ………)
- date and time of the flight
- type of the flight (One-way or Return)
- Type of class (first class, second ….)
- number of tickets (for adults and children)
- Personal information for each person (name, age, ………..)
Before insertion the personal information, the system checks availability of the flight and display the ticket price for this flight.
When query option is chosen, the system prompts the assistant to choose search by:
- destination and time
- destination and number of tickets
the result of searching is a list of available flights according the searching attribute.
When modify reservation option is chosen …
you can update or change any attribute of data that you had entered before.
When cancel reservation option is chosen to cancel the reservation.
Ticket Reservation System stores Airplane information (name, capacity, no of seats of each class…..)
For each Flight, there are two types of list main list and reserved list , the first is with 20 seats for each class, and the second is with 6 seats. If one of passenger of main list decided to cancel reservation, one of the reserved list would travel .
The system stores the two lists, and any related information (passenger name, ) and uses the related information from Flight and Airplane .
1 - Add Flight
2 - Delete Flight
3 - Modify flight
4 - report: cancelled reservation (period)
5 - report: cancelled reservation (flight)
6 - report: reservation by staff
The administrator enter the information of a new flight line ( departure, destination, …..) to the stored data.
An existing flight to be removed from the flight list which stored in the system.
All or part of the information of a stored flight to be changed
ReportingOne role of the administrator of the system to monitoring the reservation process, one way is report generations.
Report: cancelled reservation (period)
For this operation the administrator to generate a report about the reservation where cancelled during an interval (start to end time)
Report: cancelled reservation (flight)
A report to be generate for the cancelled reservation of a specific flight
Report: reservation by staff
A report to list all reservation where cancelled by a specific staff.
- we talked about some functions/procedures of the system. you should extract more attributes, operations , classes and relationships relevant to Reservation Ticket System.
- Here are some suggested classes and files: You may drop or add new classes or files
o Classes Tickets (one way, return, chilled, adult ), reservation (cancelled ) ,flight, hup(destination, departure), date, time, class (first, economic), passenger(is a person), admin (is a person with privilege), staff/assistance (is a persona), list of passengers (main, wait)
o Files administrators' information, staff members' information, flight, passenger list ( main, wait), flight passengers' information, cancelled reservation,