/FlightReservationSystem

IS2103 Flight Reservation System - a back-end server system pair project for Enterprise Systems Server-side Design and Development module.

Primary LanguageJava

IS2103 Enterprise Systems Server-Side Design and Development (Pair Project 2020)

This pair project is one of NUS School of Computing (Information Systems [IS] major) core IS modules.

Business Rules

  1. Every entity class has a unique key identifier.
  2. Not all entities must perform CRUD (Create, Remove, Update & Delete) operations, only FlightSchedulePlan entity must.
  3. The core logic lies in Create Flight Schedule Plan and Search Flights.

Rationales

  1. By having a unique key identifier, which is a primary key, data objects are retrieved easily and directly with its own ID.

Assumption

  1. We assume that there will be 30 aircrafts and tracking of aircraft based on its tail number is not required.
  2. We assume that row numbers and seat letters are sequential with no skipping. Such that it is not essential to skip letters that may be confused with numbers (e.g. I, O, Q, S or Z).
  3. We assume that Merlion Airlines does not operates only in its home hub in Singapore Changi Airport and Taoyuan International Airport, it can also operate in other airports like Narita and Incheon International Airport.
  4. We must consider that different countries have different time zones.
  5. We assume that there is a fixed 4hrs period for layover.\
  6. For connecting flights, we assume that 2 hrs is needed for the transit, so flights between this period will not be taken into consideration during this 2hr period after landing of the first flight to the departing of the next flight.

High-level architecture of Flight Reservation System [FRS]

This project also known as FRS, consists of 3 parts:

  1. FRS Management Client
  2. FRS Reservation Client
  3. Holiday Reservation System

Alt Text

FRS Management Client (for Merlion Airlines Employees)

Data Initialisation [FRS System]

  • Create New Employee
  • Create New Partner
  • Create New Airport
  • Create New Aircraft Type

Employee Session Bean [FRS Management Client]

  • Employee Login
  • Employee Logout

Aircraft Configuration Session Bean [Flight Planning Module]

  • Create Aircraft Configuration
  • View All Aircraft Configurations
  • View All Aircraft Configuration Details

Flight Route Session Bean [Flight Planning Module]

  • Create Flight Route
  • View All Flight Routes
  • Delete Flight Route

Flight Session Bean [Flight Operation Module]

  • Create Flight
  • View All Flights
  • View Flight Details
  • Update Flight
  • Delete Flight
  • Search Flight
  • Reserve Flight

Flight Schedule Plan Session Bean [Flight Operation Module]

  • Create Flight Schedule Plan
  • View All Flight Schedule Plans
  • View Flight Schedule Plan Details
  • Update Flight Schedule Plan
  • Delete Flight Schedule Plan

Seats Inventory Session Bean [Sales Management Module]

  • View Seats Inventory

Flight Reservations Session Bean [Sales Management Module]

  • View Flight Reservations
  • View My Flight Reservations
  • View My Flight Reservation Details

FRS Reservation Client (for Customers)

Customer Session Bean

  • Register As Customer
  • Customer Login
  • Customer Logout

Alt Text

Holiday Reservation System (External Party - Web Services)

  • Partner Login
  • Partner Search Flight
  • Partner Reserve Flight
  • View Partner Flight Reservations
  • View Partner Flight Reservation Details
  • Partner Logout