CS_Database Programming Project_Solution

$30.00 $24.00

Introduction In this project, you will design and implement a relational database system to support the operations of an online travel reservation system. You will use HTML for the user interface, MySQL for the database server, and Java, JDBC for connectivity between the user interface and the database server. You will have to install your…

5/5 – (2 votes)

You’ll get a: zip file solution

 

Description

5/5 – (2 votes)

Introduction

In this project, you will design and implement a relational database system to support the operations of an online travel reservation system. You will use HTML for the user interface, MySQL for the database server, and Java, JDBC for connectivity between the user interface and the database server.

You will have to install your own virtual machine with a web server that will host your web application as well as a MySQL server. Everything will be under the AWS (Amazon Web Services). Many resources and recitations will be provided about how to do everything so don’t worry.

You are to work in teams of four or five.

Project Specification

As you probably know, there are a multitude of online travel reservation systems on the web. Some popular ones are expedia, skyscanner and kayak. I suggest that you visit these web sites to get an understanding of the look-and-feel of a travel web site and how such a system is supposed to function.

The basic idea behind your on-line travel reservation system is that it will allow customers to use the web to browse/search the contents of your database (at least that part you want the customer to see) and to make flight reservations over the web. Your web site should allow users to make both domestic and international reservations. It should also allow users to query the database for available flights (direct or indirect) between a pair of cities for a given date and “approximate” time.

Actual travel sites allow you to do a lot more than simply make flight reservations. For example, you can book a rental car or a hotel room. Due to time limitations, we will stick to flight reservations.

Your database system must be based on the specifications and requirements that follow.

1 System Users

The users of your system will be the customers (passengers) that use your system to make a flight reservation, customer representatives who provide customer-related services, and the site’s admin. You should assume that the computer knowledge of the users is limited, and thus your system must be easy to access and operate.

The data items required for the travel reservation database can be classified into six categories:

airlines, aircrafts, airports, flights, tickets, customers and employees.

The above classification does not imply any particular table arrangement. You are responsible for arranging the data items into tables, determining the relationships among tables and identifying the key attributes. Finally, you should specify and enforce integrity constraints on the data, including referential integrity constraints.

You will first create an E-R diagram of your online travel reservation system before developing your relational model according to the functional requirements described below.

2 Functional Requirements

Every airline company owns a number of aircrafts and it is associated with a number of airports from where it operates. Each airline has a two-letter ID from which it is being identified uniquely. For example, the ID for American Airlines is AA, and the ID for United Airlines is UA. Similarly, each airport has a three-letter ID. For example, EWR, LGA, and JFK are well known local airport codes.

A flight is operated by an airline and a specific aircraft, and operates on a given set of days of the week (e.g. every Monday, Wednesday). Flights can either be domestic or international. For every flight, it must be recorded its flight number (unique only within that airline), the departure and destination airports, as well as the departure and arrival time.

Customers should be able to make reservations, buy tickets and if there are not available seats for a specific flight, they should be able to get into the flight’s waiting list. Customers should first be able to search for specific flights by providing information about the departure and arrival airport as well as the date they wish to fly. The flight ticket can either be one-way, round-trip and they should be able to set if they are flexible about flight dates (+- 3 days).

A flight ticket has a unique number and is for just a single passenger. Each ticket is associated with a sequence of flights. For example a ticket might be associated with just one flight if it is one-way and direct or with 2 flights if it is direct and round-trip or more than 2 if it has stops (either for one-way or round-trip). Each ticket must include all the associated flights and include: from-airport, to-airport, flight numbers (along with its airline), departure date and time, special meal ordered, seat number, and class (economy/business/first). It also has the following attributes: total fare, and date and time when ticket was purchased. In case the class of the ticket is economy, the customer should not be able to change/cancel their ticket unless a fee is paid. For business/first

class, customers should be able to change their ticket with no fee. Finally, a flight ticket also has an associated booking fee, which is how your company makes money.

A customer may partake in any number of flight transactions and s/he is associated with one account which includes a reservation portfolio, indicating all the flight history held in this account (past flights and upcoming).

Your online reservation system should have the following functionality:

Admin-Level Functionality

The admin should be able to:

  • Add, Edit and Delete information for a customer representative or customer

  • Obtain a sales report for a particular month

  • Produce a list of reservations by flight number or by customer name

  • Produce a summary listing of revenue generated by a particular flight, airline or customer

  • Determine which customer generated most total revenue

  • Produce a list of most active flights (most tickets sold)

  • Produce a list of all flights for a given airport

Customer-Representative-Level Functionality

Customer Representatives should be thought of as reservation agents and should be able to:

  • Make flight reservations on behalf of users

  • Edit flight reservations for a customer

  • Add, Edit, Delete information for aircrafts, airports and flights

  • Retrieve a list of all the passengers who are on the waiting list of a particular flight

Customer-Level Functionality

Customers should be thought of as online airline ticket buyers and should be able to easily browse your online travel reservation system on the web and buy flight tickets. In particular, they should be able to search and make the following types of reservations:

  • One-Way

  • Round-Trip

  • Flexible Date/time

A customer should also be able to:

  • sort flights by different criteria (price, take-off time, landing time)

  • filter the list of flights by various criteria (price, number of stops, airline)

  • cancel their flight reservations (if it is business or first class)

  • enter the waiting list if the flight is full

  • view all the past reservations with their details

  • view all the upcoming reservations with their details

3 User Access Control

Your database system should provide controlled access to the data by distinguishing between the different types of users: admin, customer representatives, and customers.

  • Customer Representatives should not be able to perform manager-level transactions;

  • A customer should not be allowed access to other customers’ account information, or to any employee information.

4 User Interface

HTML and its successors provide facilities for creating pop-up and pull-down menus, value lists, input/output forms, labels and customized reports. You should make use of all of these capabilities, and in the process come up with a system that caters to users with only limited computer knowledge. We don’t care about having a beautiful UI. It only has to work!

Good luck!

Important Dates – Deadlines

ER diagram due

October 9th

Relational schema due

October 20th

Login page due

November 10th

Final submission due

December 8th

CS_Database Programming Project_Solution
$30.00 $24.00