CS 630 - Computing Fundamentals I - Fall 2005
Project


Loyola College > Department of Computer Science > CS 630 > Project

Due

Monday, December 12th at the beginning of class. Projects will be penalized 20% for each day after the due date. Projects will not be accepted more than four days late.

Objectives

Introduction

For this project you will be developing a limited airline booking system. In total you will create three class. First, develop a class to represent an airline booking. In this system the attributes of a booking include the passenger's name and age, the flight number, date and time of the flight, the fare price, a meal preference, and a row and seat.

This particular airline only has one size plane, which has 32 rows and row 16 is always the exit row. Rows are numbered 1 to 32. Also, there are always six seats in a row labeled A to F. Seats A and F are window seats. Seats C and D are aisle seats. The others are middle seats.

The airline includes some special features. First, it gives a discount of 15% off the fare to children and seniors. Children include all passengers 12 and under. Seniors include all passengers 65 and older. They also offer special meals to passengers willing to pay an extra $10. This price is not discounted for any passenger. The special meal options are vegetarian, low carb, and kosher.

The airline imposes some rules when assigning rows, seats, and meals. Passengers must be assigned to a valid row, and children cannot sit in the exit row. Passengers must be assigned a valid seat, and passengers must either choose one of the special meals or have no meal preference.

In addition the airline offers group tickets. All passengers in a group must fly on the same flight. A group recieves an additional 10% discount off the entire price including any special meals if there 8 or more people in the group.

Assignment

Write a worker class called AirlineBooking. This class should have at least the following attributes:

You will also write a class AirlineGroupBooking which books a group of passengers that are all on the same flight. The class should include the following attributes:

You should also write a test driver, AirlineTest, to test your methods in both AirlineBooking and AirlineGroupBooking thoroughly. I'm interested in "white-box" testing where all paths are tested, especially exceptions.

Grading

Submissions

Email your source code for all three classes to me. Turn in a print out of your code in class. (Make sure it looks like to want it to. I will be grading the format of the code.)

This project may take between 30 and 40 hours to complete.