Answered step by step
Verified Expert Solution
Question
1 Approved Answer
2 0 2 2 , Southern Alberta Institute of Technology 1 Student Name: Weight: 2 0 % Student ID: Marks: / 1 0 0 Assignment:
Southern Alberta Institute of Technology
Student Name: Weight:
Student ID: Marks:
Assignment: Abstract Classes, EventDriven Applications
and Exception Handling
Scenario
A local travel agency, Traveless, has hired your company to implement a new flight reservation
management system to improve its productivity and services. After meeting with the agency,
you realize that to tackle this complex request, you must break down the solution to three major
parts:
Frontend GUI
Backend
Functional front end connected to the backend
Equipment and Materials
For this assignment, you will need:
Visual Studio IDE
Supplied data files:
o flights.csv
o airports.csv
Instructions
Review the scenario, and then carefully read the Traveless program Details and
Program Guidelines sections of this document.
Working outside of class time, complete the submission sections of this assignment.
Review the grading criteria for the group submissions.
See the course schedule andor Brightspace for due dates.
Submission
Create the code for a program that meets the requirements described bellow.
Test your code against the expected output provided.
Check your program against the detailed marking criteria at the end of this document.
Southern Alberta Institute of Technology
Submit the following to Brightspace as a group Only one copy is required per group,
and any of the group members may submit:
Github URL for your program code invite your instructor to be a member of the
project repository
A copy of the test output txt file
Peer Assessment
Each student must also complete a peer assessment of their group members. Your instructor
will provide further submission details.
Southern Alberta Institute of Technology
Program Details
Create a functional, eventdriven program that manages the travel agencys data contained in
the provided data files and allows a user to do the following:
Find flights:
o A travel agent can find a flight by providing the origin airport, the destination airport
and the day of the week the flight departs.
Make a reservation:
o A travel agent can make a flight reservation for a traveller.
o A reservation code is generated and assigned to the travellers name and
citizenship.
Find reservations:
o A travel agent can find existing flight reservations using the reservation code, andor
the airline andor the travellers name.
Modify an existing reservation:
o A travel agent can update the travellers name and citizenship.
o An existing flight reservation can be softdeleted, marking it as inactive and freeing
up a seat on the flight.
Southern Alberta Institute of Technology
Detailed Requirements
When the graphical user interface is launched, the user can choose to either search flights and
make a reservation, or search for and modify a reservation.
Find Flights
The findFlights method receives as its input arguments: the originating airport, the destination
airport, and the day of week. The method returns a List of any matching Flight objects. If no
matches are found, the list control is empty.
Make Reservation
When a travel agent selects a flight from the list, the text fields are populated with the selected
flight code, airline, day, time and cost. The travel agent enters the travellers full name and
citizenship. The flight code, airline, day, time and cost cannot be edited. An error message is
displayed if:
A reservation is to be made but no flight is selected
The name field is empty
The citizenship field is empty
The makeReservation method receives as its input arguments: a Flight object, the travelers
name and citizenship. An exception is thrown if the flight is completely booked, or the flight is
null, or the name is emptynull or the citizenship is emptynull If there are no exceptions thrown
a Reservation object is created, saved to the binary file and returned by the method.
Find Reservations
A travel agent can search for an existing reservation that contains the specified reservation
code, andor airline andor travellers full name. The list is populated with any reservations that
are found. Each row in the list displays the code of the corresponding reservation record.
The findReservation method receives as its input arguments: reservation code, airline andor
travelers full name. The method returns a list of matching Reservation objects. If no matches
are found, the list control is empty. If the user doesnt enter any input, then all the reservations
are displayed in the list.
Update Reservation
When a reservation in the list generated by the findReservation method is selected, the
corresponding fields are populated, displaying the following information:
Reservation code
Flight code
Airline name
Cost
Southern Alberta Institute of Technology
Name
Citizens
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started