Skip to content

jlyon805/csm20final

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#CSM20 Final Group Project

This is the Design Document for the CSM20 Final Group Project for the right group. The goal of the assignment was to create an Airline Reservations System in C++.

##Design Strategies

We all worked together to create a design plan for the application. Strategies included simplifying tasks to specific classes, optimizing code size by relying on containers, and focusing on the requirements of the assignment. We started by outlining what classes we would need, including PassengerData.h, and FlightData.h classes. We then discussed separating the data from the interface by creating two classes: AirlineInterface.h would handle the program output and interface, and FlightManager.h would handle the creation, storage, and calculation of the data. We tried to focus on how an actual Airline Reservations System might work.

##Project Architecture

###AirlineInterface.h

AirlineInterface.h is the main interface class for the program. Its responsibilities are to hold the FlightManager data member, and provide input/output interface for the program. displayMenu() is designed to be used in main inside a while loop. It returns false when the user wishes to quit.

AirlineInterface.h
data : FlightManager
displayMenu()

###FlightManager.h

FlightManager.h is the main data class. It is responsible for holding AVL trees of PassengerData objects and FlightData objects. It's constructor reads the input files and fills the trees. The constructor also calculates the distances between airports and calculates the seatmaps for each flight and the waitlist. FlightManager.h also provides traversal functions to the AirlineInterface.h class for the private data members.

AirlineInterface.h
passengerList : AVLTree<PassengerData>
flightList : AVLTree<FlightData>
waitList : AVLTree<PassengerData>
flightMap : FlightMap
FlightManager()

###FlightData.h

FlightData.h

###PassengerData.h

PassengerData.h
firstName : string
lastName : string
seatClass : size_t
reservationNumber : size_t
flightNum : size_t
PassengerData()
setFirstName()
setLastName()
setMembership()
setReservationNum()
setFlightNum()
getFirstName()
getLastName()
getMembership()
getReservationNum()
getFlightNum()
operator ==
operator >
operator <

About

CS M20 Final Group Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 100.0%