Skip to content

Latest commit

 

History

History
45 lines (23 loc) · 4.93 KB

README.md

File metadata and controls

45 lines (23 loc) · 4.93 KB

Nymble Assignment

This repository implements a software system that allows travel agencies to maintain their travel packages' itinerary and passengers.

Classes

TravelPackage: Represents a travel package, including its name, passenger capacity, enrolled passengers, and destinations. It provides methods for managing destinations, enrolling passengers, printing itineraries, printing passenger lists, printing passenger details and printing available activities.

Passenger: Passenger has attributes such as name, passenger number, type (e.g.,standard, premium, gold), balance, and activities. Passengers can signup for any activity using signUpForActivity method.

Destination: Represents a destination included in a travel package. It contains a name and a list of activities available at the destination.

Activity: Represents an activity available at a destination. It includes attributes such as name, cost, capacity, description, and destination.

PassengerType: It is enumeration type which represents passenger type(premium, gold, and standard).

Main : Driver program to run entire software system

Important Methods

printItinerary: This method prints itinerary of the travel package including travel package name,destinations and details of the activities available at each destination, like name, cost, capacity and description.

printPassengerList: This method prints the passenger list of the travel package including package name,passenger capacity, number of passengers currently enrolled and name and number of each passenger

printPassengerDetails:This method prints the details of an individual passenger including their name, passenger number, balance (if applicable), list of each activity they have signed up for, including the destination the at which the activity is taking place and the price the passenger paid for the activity using calculatePrice method.

printAvailableActivities: This method prints the details of all the activities that still have spaces available, including how many spaces are available.

The respository also have Junit test classes for above classes

ActivityTest: Test methods of Activity class

DestinationTest:Test methods of Destination class

PassengerTest: Test methods of Passenger class

TravelPackageTest: It tests methods for managing destinations, enrolling passengers, printing itineraries, printing passenger lists, printing passenger details and printing available activities.

Low Level Design

LLD Diagram

High Level Design

HLD Diagram