This case study concerns a simplified flight booking system for a travel agency. A travel agency has asked you to design a flight booking system. The interviews with domain experts resulted in the following information.
-
Airline companies offer various flights.
-
A flight is open to booking and closed again by order of the company.
-
A customer can book one or more flights and for different passengers.
-
A booking concerns a single flight and a single passenger.
-
A booking can be cancelled or confirmed.
-
A flight has a departure airport and an arrival airport.
-
A flight has a departure day and time, and an arrival day and time.
-
A flight may involve stopovers in airports.
-
A stopover has an arrival time and a departure time.
-
Each airport serves one or more cities.
Construct a UML class diagram for this model.
The code presented here corresponds to the UML diagram discussed in class. The project is split into two modules (or packages): one handles flight information and the other handles booking information.
The code also contains independent unit tests for each package, integration tests for the combined system, and system tests for testing the complete product.