I need help with Homework 3

profilegymadler
CSCE1040Homework2-20201.pdf

CSCE 1040 Homework 2 For this assignment we are going to design a system to schedule drivers and passengers for rides in the Mean Green EagleLift system

For this we will need the following entities, plus collections for each of the entities: Driver, Passenger and Ride.

The data for a Driver will contain at least the following: Driver Id (6 digits) Driver Name (20 characters each for first and last name) Vehicle Capacity ( integer value for number of passengers) Handicapped Capable (Boolean) Vehicle Type (compact 2 dr, sedan 4dr, SUV, Van, other) Driver Rating (floating point value 0-5) Available (Boolean) Pets allowed (Boolean) Notes (String – could include days and hours of operation, coverage area, etc) You may add other data needed for your implementation as well as you will need accessor and mutator functions for the data. The data for a Passenger will contain at least: Name (e.g. Fred Smith) ID number (6 digits e.g. 123456) Payment preference (cash, credit, debit) Handicapped (Boolean) Default rating required (floating point) Has pets (Boolean) You may add other data needed for your implementation as well as you will need accessor and mutator functions for the data.

The data for a Ride (The transaction entity) will contain at least the following:

Ride ID (8 digit value auto assigned) Pickup location (string) Pickup Time (Time value) Drop-off location (string) Size of party (whole number) Includes pets (Boolean) Drop-off time (Time value – entered at completion) Status (Active, Completed, Cancelled) Rating by customer (floating point value) You may add other data needed for your implementation as well as you will need accessor and mutator functions for the data.

For the collections of each of the 3 Entity Classes identified above you will need to include the ability to:

Add Edit Delete Search/Find based on appropriate criteria Print a list of all entries in the specific collection Print the details for a single entity (do a find first) Print a list of all Rides for a particular Passenger Print a list of all Rides for a Particular Driver Print a list of all Active (future and current) Rides, all completed rides and all cancelled rides for the Rides collection when you add a Ride you will need to verify that a. the Driver selected is available during the defined time period b. the Driver selected has number of seats sufficient for the passengers c. The Driver has the appropriate pet policy d. The Driver has required Handicapped capability e. the driver has at least the minimum rating preferred by the Passenger

Note that a particular Driver could have multiple assignments as long as they do not conflict with dates or times. For this assignment you do not need to worry about verifying availability based on starting and

ending locations.

You will also need to provide in the Rides collection the ability to print an assignment schedule for a particular Driver or for a particular Passenger of all the active assignments. Also to print a list of Rides based on their status. You should also provide a means to delete all cancelled rides or all completed flights from the menu. You should also provide a means to periodically update all rides from active to completed based on time and date.

You will need to provide an appropriate menu system that can be multi-level if you like. You will need to load and store the data to a permanent disk file. This can be done automatically when the program starts and ends. You should also want to store after an add, delete or edit to make sure changes to the data are preserved.

For this design you will need to turn in the following: A diagram set consisting of: 1. A title page with your name, assignment, course and title 2. a single class diagram showing only the relationships between the entities 3. a set of six individual class diagrams showing the attributes and methods for each of the classes in #2

4. Step by Step pseudo code algorithms for every method defined in every class in the diagram from #2. You do not need to provide pseudo code for simple accessor and mutator functions (i.e. sets and gets)

5. A 1-2 paragraph report about your design experience. All of these items should be gathered together, in order, in a single PDF File that you will turn in on Canvas for the design, and a separate PDF for the report. That is a total of 2 documents. NOTE: This assignment is for the design only Nothing you turn in should look like C/C++ code