1 / 14

Online Airline Reservation System -- Detailed design

Online Airline Reservation System -- Detailed design. Pingping Ma Oct 19, 2006. Overview. Database design Activity diagram Class interface Fault tolerant issues. Database design. There are mainly 5 entities involved: Flight info. Customer info Reservation Purchase

tuyet
Télécharger la présentation

Online Airline Reservation System -- Detailed design

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Online Airline Reservation System--Detailed design Pingping Ma Oct 19, 2006

  2. Overview • Database design • Activity diagram • Class interface • Fault tolerant issues

  3. 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

  4. Database design diagram

  5. Activity Diagram

  6. Major class interface • Authenticate • Search • CreditCard • FlightInfo • ReservationInfo

  7. 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.

  8. Flight Interface • A class about the flight information with the following variables • FlightId • From_City • To_City • Dept_Time • Arr_Time • Num_Of_Seats • Price

  9. 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.

  10. Creditcard Interface • A class about the credit card information • Variables • User_id • Card_number • Type • Year • Month • Methods • Boolean IsValid() • String GetNumber() • String GetType() • Number GetYear() • Number GetMonth()

  11. Reservation Info • A class about the reservation information. • Variables • Reservation_id • User_id • Flight • Credit_card • Reservation_date • Num_of_seats • Passenger_name: an String array

  12. ReserveAndPurchase Method • Methods • Boolean Reserve(String Reservation_id, String User_id, Flight flightobj, Creditcard cc, Date Reservation_date, Integer Num_of_seats, String [] Passenger_name) • Boolean CancelReservation () • Reservation ReadReservation() • Boolean Purchase() • If the action is successful, return True; otherwise, return False.

  13. 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.

  14. Fault tolerant issues • Synchronization • Use monitor method in the Reserve method to make sure there is no client reserving the same ticket at the same time • Data replication • Use data replication techniques to improve the reliability of the system. • Use primary copy method to enhance the consistency of the data.

More Related