18-04-2014, 04:57 PM
Online Airline Reservation System --Detailed design
Online Airline Reservation.ppt (Size: 285 KB / Downloads: 70)
Database design
There are mainly 5 entities involved:
Flight info.
Customer info
Reservation
Purchase
Creditcard info.
Please see the entity diagram in the next slides
Major class interface
Authenticate
Search
CreditCard
FlightInfo
ReservationInfo
Authenticate Interface
Variable username, password, email
Boolean Authenticate (String username, String password);
This method checks if the user name and password input is a valid input.
If true, it will return true; otherwise, return false.
Boolean Register (String username, String password, String email)
This method is used to register a new user.
If the register is successful, return true; otherwise, return false.
Boolean IsAlive (String username)
This method checks to see if the user is still active when it doesn’t reponse in a certain amount of time.
Search Interface
This class has only one method Search. Maybe can be combined with the Flight class.
Flight Search_oneway (String from_city, String to_city, Date dept_time, Date arr_time, int num_of_Seat)
Flight Search_round (String from_city, String to_city, Date dept_time, Date return_time, int num_of_Seat)
Given the search criteria, searches the database looking for flights that match the criteria.
Fault Tolerant issues
A failure in any transaction step causes the whole transaction to be lost.
Possible Solution: two phase commit procotol can be used. Or make full use of the COMMIT, ROLLBACK command in the database.
How to identify a client or server failure?
Implement an IsAlive function which ping the client or server to make sure that it is still active.