Flights

Function Walkthrough

  1. Add a flight

    The supervisor will be presented with a screen from which they can add a flight to the schedule.

    The system will assign a Flight Number to the flight. The fields on the screen are presented for the user to fill out.

    Then the departure city is entered. Any city can be entered here and it is assumed that the supervisor will not add a city that Flin Flon Airlines does not fly to. This is a raw input field and no error checking is performed here. The user will then TAB or click on the next field, the destination city.

    Next, the destination city is then entered. Any city can be entered here and it is assumed that the supervisor will not add a city that Flin Flon Airlines does not fly to. No error checking is done on this input. The user will then TAB or click on the next field, the date of departure.

    The date is entered in the format Month, Day, Year (as defined in the data dictionary). Error checking is performed on date so as to make sure that the date entered is on or after the current date. The departure time is entered next.

    The departure time is entered in 24 hour format as described in the data dictionary. Error checking is done here to see if the time entered is not prior to the current time. Error checking is also performed to make sure the time is greater than 0 and less than 24 hours. The minutes are also checked for validity (being greater than 0 and less than 60). Then, the scheduled arrival time is entered in the same format. The same error checking is performed as above. The arrival time must be after the departure time.

    The distance of the flight is entered now. This field is entered by the supervisor and error checking is performed to ensure that it is a positive value.

    The plane assignment is specified here. This must be a plane that has no conflicting flights assigned to it for the duration of the flight.

    The prices of the tickets are entered now. There are three prices which need to be input. The first is First Class Price. This number is a dollar value. Error checking is done here to see if it is a positive value. The second price is the Second Class Price. This number is also a dollar value and must be less than the First Class Price. Finally, the Third class Price is entered. This number is also a dollar value and must be less than the Second Class Price.

    After entering this information, the user will select the ADD FLIGHT button at the bottom of the screen. This will prompt the user to confirm the addition of this flight in a box. If the user selects YES, the flight is added to the schedule. If the user selects NO, this information is discarded and the screen is returned to its original state. A flight is only added if the plane is available at the scheduled times (i.e.there is no overlap for another flight by the same plane).

  2. Delete a flight

    Only the supervisor user will have access to this function. The supervisor will be presented with a screen from which they can enter the flight number they want to delete. If the flight number does not exist, then the user is shown an error message saying "This flight does not exist,please try again". If the flight does exist, then the user is shown a dialogue box stating "Are you sure you want to delete this flight?" and presented with a choice of . If the user selects , the flight is removed from the flight schedule. If the user selects , the flight is left on the schedule.

    Flights can also be deleted by searching on the other attributes of the flight. The user can enter the departure point and a list box will appear listing all of the scheduled flights for that departure point into the future. From this displayed information, the flight number can be located and then deleted in the manner specified above.

    Any passengers on the flight must be rebooked on the next available flight to the same destination. This is done by showing the next available flight in a window and the supervisor is prompted "Do you wish to add the bumped passengers to the next available flight?". The next available flight number and time/date are shown to the supervisor. A choice is presented for this. If is chosen, the passengers are added to the next available flight (if there is space available on it). If there is not enough space, they are put on the following available flight. If there is space for the passengers, they are added to the flight manifest for this flight and the flight manifest is updated.

  3. Modify a flight

    The supervisor will be presented with a screen to enter the flight number of the flight they wish to modify. If the flight number does not exist, then the user is reprompted for this information and the appropriate error message is shown. If the flight does exist, the user is shown a screen containing all of the pertinent flight details including Flight Number, Destination, Departure Date and Time, Scheduled Arrival Time and Plane Number.

    All of these fields are modifiable by the supervisor. The same error checking is done on this information since the supervisor will not be able to modify the Departure Date to a date prior to the current date. After the appropriate modifications are made, the supervisor is prompted with "Are you sure you wish to make these changes?" and asked for a confirmation. If is selected, the changes are saved. If is selected, then the changes are discarded and the flight information is left unchanged.

Flight Table

This is a picture of the flight table that will be represented in the flight database.

Flight number, departure date, departure time, arrival date, arrival time, departure point, arrival point, distance, first class price, second class price, and plane name are the respective fields displayed in the columns of the database table. Plane Name attribute is associated with the Aircraft Entity. Each row will represent an actual flight record.

ff001January 1, 19961030January 1, 19961100LethbridgeCalgary 200120.00100.7580.75Rosey
ff002March 15, 19960000March 17, 19960700Flin FlonNew York 1400306.95250.00225.00Hammer
ff003May 25, 19960900May 25, 19961700OttawaVancouver 1700412.00385.63337.87MrBig
ff004July 4, 19960130July 6, 19961500TokyoLondon 35001120.03976.10955.10Chuck
.
.
.

Pseudocode

These functions will access the Flight Table. They will be able to read/write from it in order to make the necessary modifications.

Adding a flight:

User will push Flight tab in main menu
 - Flight sub menu is shown to user

User will push Add Flight tab on screen
 - add flight screen is shown
 - all flight fields will appear empty to the user, except the Flight 
 Number

Computer will assign a sequential Flight Number to the new record

User inputs Departure Point
 - the computer will do no error check and this will be a straight
     entry field

User then inputs Arrival Point
 - this is a straight entry field as well, no error checking is done

Departure Date is entered by the user
 - if departure date is an invalid day, month or year,
   if the departure date is not in correct format,
   or if departure date occurs after arrival date then 
   an error message is displayed, and user is prompted
   to change input

Departure Time is entered by the user
 - if departure time is an invalid time then
   an error message is displayed to the terminal, 
   and user is prompted to change input

Arrival Date is entered by the user
 - if arrival date is an invalid day, month or year,
   if the arrival date is not in correct format,
   or if arrival date occurs before departure date then 
   an error message is displayed, and user is                  
   prompted to change input.

Arrival Time is entered by the user
 - if arrival time is an invalid time then
   an error message is displayed to the terminal, and user is  
   prompted to change input

Distance field is entered by the user
 - if distance is a negative integer or
   if distance is greater than 99999 then
   an error message is displayed, and user is prompted to change 
   input

First Class Price is then entered by the user
 - if the amount entered is not positive or
   if the entered value is not correct format for dollars and   
   cents then
   an error message is displayed, and user is prompted to change 
   input

Second Class Price is then entered by the user
 - if the amount entered is not positive,
   if the entered value is not correct format for dollars and   
   cents,
   or if the amount entered is greater than first class price then
   an error message is displayed, and user is prompted to change 
   input.

Third Class Price is then entered by the user
 - if the amount entered is not positive,
   if the entered value is not correct format for dollars and   
   cents,
   or if the amount entered is greater than second class price then
   an error message is displayed, and user is prompted to change 
   input.

Plane Name is entered by user
 - this provides a link to the Airplane entity.
   if the airplane specified is not available for this flight then
   an error message is displayed, and the user is prompted to change
   this field.

After these fields have been entered, the user will push the  
add button
 - if all fields have not been entered then 
   an error message is displayed, and user is prompted to fill 
   in all input fields.

A confirmation box will appear on the screen and the user must   
select ok to add the desired flight record to the flight table.  

Once this is confirmed the record is then added to the database  
and can be referenced at a later time.

User has option of pushing cancel button at any time during the  
input of the fields
 - if cancel button is pushed then
   all data is discarded and user is returned to main menu.
Modifying a flight:

User will push Flight tab in main menu
 - Flight sub menu is shown to user

User will push Modify Flight tab on screen
 - modify flight screen is shown

User enters flight number

Search the Flight Table
 - If no flight number entered, perform a dynamic search on the entered fields
   and show the hits in a list box
 - If not enough information entered, the list box will show no hits.

Display a listbox of the hits

User will select the appropriate hit from the list box
This information will be displayed as on the Add Flight screen
 - Check the Departure Date and Arrival Date to ensure it is not before the 
   current date.
   Check the Departure Time and Arrival Time to ensure it is not before the 
   current time.
   Check the Departure Time and Arrival Time to ensure it is in the correct 
   format (i.e.0 <= hours < 24 and 0 <= minutes < 60).
   Check the Distance to ensure it is a positive value.
   Check the First Class Price compared to the Second Class Price compared to
   Third Class Price

If user selects OK, the changes are updated in the Flight Table.
If the user selects CANCEL, the changes are discarded and the Flight Table
   is left unmodified.

Notes:
------
  The fields are modifiable (except for Flight Number). Any changes
  are error checked for validity as defined on the Add Flight
  pseudocode (i.e. the dates and times must be valid. The prices must
  be valid).
Deleting a flight:

User will push Flight tab in main menu
 - Flight sub menu is shown to user

User will push Delete Flight tab on screen
 - delete flight screen is shown.

All flight fields will appear empty to the user
Each entry field will be a combo box that can be pushed upon by  
the user to see all the flights listed in the database

The user proceeds to add entry fields into the combo boxes
 - as new entry fields are entered the unfilled combo boxes will have 
   a shorter and shorter listing.
   if an invalid field is entered then
   an error message will be displayed and the user is prompted 
   to change their input or informed that the entry was not    
   found.

Once enough of the combo boxes are filled in order to get a unique 
flight all the fields will become filled
 - the user then proceeds to push delete 
   confirmation screen appears, and user pushes ok
 - the database is updated and the flight record is removed from the 
   flight database table
 - the main screen is then displayed to the user


Flight Tests