airlinegroup10

advertisement
BILKENT UNIVERSITY
ENGINEERING FACULTY
DEPARTMENT OF COMPUTER ENGINEERING
CS 352
DATABASE MANAGEMENT SYSTEMS
TERM PROJECT
Proposal Report
Group #10
http://airlinegroup10.wikispaces.com/
Ezgi Özge Öztürk
Aylin Deveci
Kübra Gümüş
20502868
20501353
20501628
Sec: 03
Sec: 04
Sec: 04
Table of Contents
Introduction....................................................................................................................................3
Problem Statement.........................................................................................................................3
Requirements..................................................................................................................................4
Limitations of the system...............................................................................................................6
Definitions………………………………………………………………………………………..7
ER Diagram....................................................................................................................................8
Data Dictionary…………………………………………………………………………………...9
Conclusion and Website................................................................................................................13
2
1. Introduction
This report defines and outlines our CS352 project named as Airline Company Data
Management System. Our aim is to build a model of the airline reservation system as closely as
possible. We will design and implement a system for flight reservations of an airline company. This
report provides the description of our system and ER diagram for the required database design.
2. Problem Statement
Airline Company Data Management System basically arranges flight reservations of
an airline company. As it is described in following section, system will keep track of planes, cities,
airports, flights, crew, passengers, sales, reservations, and staff. Passengers will be able to buy or
reserve their flight tickets by specifying their destinations from where to where and departure date,
return date, one way or round trip, number of passengers (categorized adults, children, infants in a
seat), cabin service preferences (economy, business class, first/premium class) and also airports.
The system allows only registered passenger to make reservations. Guest users can only view flight
schedule, they cannot make reservation. Registered passengers can make reservation and change or
view their flights as they wish. Every passenger has passenger details like username, password, age,
sex, nationality, address, phone and passport id etc. The system also stores official profiles that
make reservation for others and they can access reservation database. Official profiles contain
officials’ personal details such as username, password, age, sex, nationality, phone and address. As
a result of different user categories such as passengers and officials, we will give different levels of
permission for users of the system. The system gives flight summary after passenger specified
his/her restrictions. Flight summary includes airport name, gate number, flight no, passenger no,
etc. There will be payment operation after flight summary then electronic ticket will be created.
Additionally, all events will be logged in order to prevent data loss and keep the system
safe. Also the system should be easily backed up.
The system can also be implemented with using data structures such as using files,
however by using database for managing data; it will be much more reasonable and efficient. It is
obvious that the advantages of relational database concept have proven, so we decided to design our
system by using a relational database. Rather than implementing our own database, using a wellknown database server application is more feasible. We should also provide a user interface in
order not to interact directly with the database's storage and management details. We will manage
an understandable and clear user interface to provide easy and fast usage of the reservation system
to users.
3
3. Requirements
We will implement an application which is based on web environment that is
computerized system used to store and retrieve information and conduct transactions related to air
travel. This airline reservation system project is intended to provide information needed to reserve
seat(s) on certain flights.
Our reservation system will contain some features that satisfy the detailed user
requirements. These features are given below item by item:
Ø Separate profiles for users, containing all their personal data:
The system will support two types of user that are passenger and official. Passengers will have
access to passenger functions, and the officials will have access to both passenger and flight
management functions.
The passengers can use the system as a guest or registered user. However, guest users cannot
make reservation only can see available flights.
The registered passenger is able to do the following functions:
• Make a new reservation.
o One-way
o Round-Trip
o Multi-city
o Flexible Date/time
o Child/infant/adult/student/65 years
o Cabin class such as business class/economy class/first class etc
o Route
o Fare of seats and availability of seats
o Confirmation.
• Cancel an existing reservation:
When the user wants to cancel reservation, he/she enters a confirmation number and the
system will delete this reservation from its passenger table.
• View his itinerary.
The Official should have following management functionalities:
• Passenger functions
• Reporting
o Get all passengers who have seats reserved on a given flight.
o Get all flights for a given airport.
o View flight rooster, schedule.
o Get all flights whose arrival and departure times are on time/delayed.
o Calculate total sales for a given flight.
4
• Administrative
o Add/Delete a flight
o Add a new airport
o Update fare for flights.
o Add a new flight leg instance.
o Update departure/arrival times for flight leg instances.
Ø Possibility of multiple bookings per profile
Ø Finding flight schedule information according to various constraints and conditions:
A user can reach flight schedule while making reservation. In the flight schedule, there will be
origin-destination city and airport choice, departure and return time, cabin class, age interval
options. Also, if there are multiple stops and multiple airports in city, flight schedule displays these
options to user. He/she makes selections according to his desires and gets the available flights if it
exists.
Ø Handling of different kinds of schemes for frequent fliers, and for flights:
The system gives reservation priorities to frequent users, inform them about some campaigns
and also discount the ticket price. Also, the system keeps the frequent flights and according to this,
offers new flights are added to schedule.
Ø Confirmation Number:
The system will give a confirmation number after the reservation. This number is a string that is
composed of the date (mmddyy), time, flight number, and a random number in the range [1-5000].
Ø Notifications:
The system notifies the registered users about the changes in their flights and cancellation of
flights due to the inappropriate weather conditions and some troubles.
Ø Appropriate error checking;
While the registered user is making reservation, the system checks for asked informations are
filled completely or not. If it is not full, the system gives an error. Also, if the user tries to make
reservation for not applicable seat, system gives warning to user. The system updates flights
schedule according to changes in the flights.
5
4. Limitations of the System:
l
Reservation can only be made by registered user or official user with user name and
password which is given by the system to the user when the user is first signed up to the
system. Guest cannot make any reservation; s/he can only see the available flights so s/he
has to be registered to the system.
l
There is no difference between employers who work at different departments of airport
while making reservation. However, administrator has privileges to access reservation
database.
l
There will be at most 50 flights in reservation system.
l
Registered user can not view its reservation without entering confirmation number to
system.
l
Between first time user and frequent user see same user interface, so there is no access
privileges between them. They are all considered as normal user.
6
5. Definitions
1. Airport: An airport has a name, the city it is in, and its airport id.
2. Airplane: This specifies the physical conditions of plane. Every plane has certain capacity of
cabin classes such as business class, economy class, first class, club class, smoking, non
smoking. Also, every plane has plane id and name.
3. Official: An official who works at airport can book tickets for others and also cancel
reservations. Also, official can access the complete list of passengers boarding a flight. Official
has user name, password, name, age, nationality, department id, address and phone.
4. Passenger: Passenger has user name, password, name, e-mail, address, phone, age, sex and
nationality.
5. Flight: A flight is identified with its flight number and denotes a unique “plane”, i.e. one
which is scheduled to run at a certain time, from one place to another. Also, flight has departure
airport and destination airport, ticket price and capacity.
6. FlightLeg: FlightLeg is a flight segment that involves a stopover, change of aircraft or
change of airline. FlightLeg is a weak entity; its existence depends on the existence of Flight.
FlightLeg has leg number. One leg instance consists of a nonstop flight.
7. Reservation: A registered user can make reservation. A reservation has confirmation
number, booking profile, number of passengers, discount, seat no, credit card number, and
expiration date.
8. Ticket: A ticket is uniquely identified by a ticket id. A ticket is booked on a flight for a route
at the flight is associated with. A passenger ticket contains details about the passenger. Ticket
has also booking date, fare paid, gate and status.
9. Fare: Fare has fare code, payment amount and restrictions. Fare is price charged for
transporting passengers. This price often changes from season to season, week to week, even
day to day. In our reservation system, cheaper the fare more restrictions on it such as 21 days
advance purchase, minimum or maximum stopovers, or travel only on certain days of a week.
7
6. ER - Diagram
8
7. Data Dictionary
List of Tables in the Database with Constraints
1. Table Airport
Fields
Domains
Constraints
Description
airportName
varchar(100)
Not null
Name of airport
city
varchar2(100)
Not null
City of airport
airportId
char(5)
Primary Key
Unique ID
2. Table Airplane Type
Fields
Domains
Constraints
Description
typeName
Char(10)
Primary Key
Name of plane type
first_seats
Integer
----
bus_seats
Integer
----
Seat capacities for
various classes
(Max_seats)
econ_seats
Integer
----
Fields
Domains
Constraints
Description
airplaneID
Char(5)
Primary Key
Unique Type ID
no_seats
Integer
----
Seat numbers
3. Table Airplane
4. Table FlightLeg
FlightLeg is a weak entity; its existence depends on the existence of Flight.
Fields
Domains
Constraints
Description
legNumber
Integer
Primary Key
Number of flight leg
9
5. Table Flight
Fields
Domains
Constraints
Description
flightNumber
Integer
Primary Key
status
varchar(10)
Not null
route
varchar2(10)
Not null
Number of which
flight
* Denotes the status
of flight
The route of flight
weekdays
varchar3(10)
Not null
Denotes days of
week i.e. Monday,
Tuesday
*The status will be either active, passive or cancelled according to whether the flight is yet to fly,
has flown or has been cancelled.
6. Table LegInstance
A leg (segment) is a nonstop portion of a flight. A leg instance is a particular occurrence of a leg on
a particular date.
Fields
Domains
Constraints
Description
legId
Integer
Primary Key
Leg ID
noOfAvSeat
Integer
Not null
date
varchar(8)
Not null
Number of available
seats
Date of leg
Fields
Domains
Constraints
Description
seatNo
Integer
Primary Key
Seat number
7. Table Seat
8. Table Fare
Fare is a week entity; its existence depends on the existence of Flight.
Fields
Domains
Constraints
Description
fareCode
Integer
Primary Key
Fare code
amount
Integer
Not null
Amount of
transporting
restrictions
varchar(100)
----
10
9. Table Ticket
Fields
Domains
Constraints
Description
ticketID
char(10)
Primary Key
ID of ticket
bookDate
Date
----
Date of booking
status
varchar2(10)
----
*Status of ticket
farepaid
Float
----
Fare paid including
restrictions
* Status of the ticket may be active, passive or cancelled. Active means valid ticket booking,
passive means the ticket has been invalidated due to a flight cancellation. And cancelled means the
ticket has been cancelled by the user.
10. Table Official
Fields
Domains
Constraints
Description
username
varchar2(20)
Primary Key
password
varchar2(20)
----
Username of the
official
Password for profile
name
varchar2(100)
----
address
varchar2(160)
----
age
Integer
----
sex
Char(1)
Sex: ‘M’, ‘F’
email
varchar2(100)
----
nationality
varchar2(30)
----
phone
Integer
----
Officials’ personal
details
This table contains all the information about an official. It is kept separate for independence
from user profiles, and different requirements as regard to information storage for the users and
officials.
11
11. Table User
Fields
Domains
Constraints
Description
username
varchar2(20)
Primary Key
Username of the user
password
varchar2(20)
----
Password for profile
passportID
Char(10)
----
name
varchar2(100)
----
address
varchar2(160)
----
age
Integer
----
sex
Char(1)
Sex: ‘M’, ‘F’
email
varchar2(100)
----
nationality
varchar2(30)
----
phone
Integer
----
Users’ personal
details
12
8. Conclusion
In this report we tried to describe our project “Airline Online Reservation System” by defining its
properties and designing its conceptual database design.
Our website which includes our project reports can be found at:
http://airlinegroup10.wikispaces.com/
13
Download