Software Engineering Undergraduate

Java

Percentages behind each paragraph signify the % of your grade determined by each part.
0) Code compiles (10%)
1) You need to develop a flight management system for an airline. Each flight is characterized
by its flight number, origin airport, destination airport and distance. Airports are
characterized by their three-letter airport code and country code. Airplanes have a type
name, range in km and number of seats. Passengers have a name and integer passport
number. (53.3%)
2) Each flight stores a list of passengers. (6.7%)
3) Passengers store a list of flights they are taking. When a passenger is added to a flight, this
flight also needs to be added to the list of flights stored by the passenger. (3.3%)
4) Each flight has an airplane type. Before a plane is added, the method needs to check
whether the planes range is sufficiently large for the flight distance. If successful, the
method needs to return true. If unsuccessful, it needs to return false. (6.7%)
5) A method is needed to determine whether the flight is overbooked i.e. it checks whether
there are more passengers on the flight than seats on the plane. If the number of passengers
is larger than the number of seats, the method needs to return by how many passengers the
flight is overbooked. If not, the method needs to return zero. (6.7%)
6) Flights can be domestic (i.e. origin and destination have the same country code) or
international (i.e. origin and destination have different country codes). We need a boolean
method that determines whether a flight is international or domestic. (6.7%)
7) The airline needs a list of any passengers on a particular flight who have not yet entered
their passport numbers, which is signified by a passport number of 0 in the system. (3.3%)
8) Passengers receive frequent flyer points for every flight they take. 1 point for domestic
flights, 3 points for international flights. Based on a passengers list of flights, the system
needs to calculate their total number of points. (3.3%)
Skills Required
Java
Javascript