/* * A simple system to manage airline schedules and reservations * Created: May 16, 2008 */ //Creates the facade code in directory called Airline namespace Airline //Classes which deal with flights and the airline namespace Airline.flights class Airline{ 1 -- * RegularFlight; } class RegularFlight{ Time time; unique Integer flightNumber; 1 -- * SpecificFlight; } class SpecificFlight{ unique Date date; } //Classes which deal with people namespace Airline.humanResources class PassangerRole { isA PersonRole; immutable String name ; 1 -- * Booking; } class EmployeeRole { String jobFunction ; isA PersonRole; * -- 1 EmployeeRole supervisor; } class Person { settable String name; Integer idNumber; 1 -- 0..2 PersonRole; } class PersonRole{} class Booking{ String seatNumber; } //Associations between subcomponents association { * EmployeeRole -- * SpecificFlight; } association { * Booking -- 1 SpecificFlight; } association { 1 Airline -- * Person; }