Re-design and modify the code for a system AssignmentTutorOnline | Good Grade Guarantee!
CSCE 1040 Homework 4For this assignment we are going to re-design and modify the code for asystem to schedule flight crews and aircraft for Mean Green Airlines thatwe started in Homework 2 and Homework 3For this we will need the following entities, plus collections for each of theentities: Plane/Aircraft, Crew Member and Flight.The data for a Plane will contain at least the following: (no change from HW4)Make (e.g. Boeing)Model (eg 737)Tail Number (eg B171A)Number of Seats (eg 137)Range (e.g. 800 miles)minimum number of Cabin CrewYou may add other data needed for your implementation as well asyou will need accessor and mutator functions for the data.The data for a crew member will contain at least: (this has changed since HW4)NameID numberStatus (available, on leave, sick)The Crew Member class will be a base class for three child classes ofPilot, CoPilot and CabinPilot will need to add data for5 character rating codecumulative flight hours as pilotCoPilot will need data for4 character rating codecumulative flight hours as a CoPilotCabin crew will need data forPosition : First Class, Business Class EconomyFront, EconomyRear, LeadThere should be a virtual PrintInfo function that will print all the info for a given crewmember starting with the base information and then the details for the particular type.Note this function will be useful in the collection class reporting methods. It shouldfirst be declared in the base class.You may add other data needed for your implementation as well asyou will need accessor and mutator functions for the data.The data for a Flight (The transaction entity) will contain at leastthe following: (changed also)Plane ID (Tail number)Number of Pilots (flights over 8 hours require 2 pilots and 2 co-pilots)Number of Cabin Crew (flights over 8 hours require double the minimum)List of Pilot IDsList of Co-Pilot IDsList of Cabin Crew IDsStart Date/Time (in GMT)End Date/Time (in GMT)Starting Airport code (3 letters)Ending Airport Code (3 letters)Number of PassengersStatus (Active, Complete, Cancelled)You may add other data needed for your implementation as well asyou will need accessor and mutator functions for the data.You will need to use the Time class from C++ libraries to work with the timeinformation. We will discuss this in class and there will be some video and otherresources posted about this for your reference.For the collections of each of the 3 Entity Classes identified above youwill need to include the ability to:AddEditDeleteSearch/Find based on appropriate criteriaPrint a list of all entries in the collectionPrint the details for a single entity (do a find first)Note that the crew collection class will now be a mixed collection and will have to userun-time polymorphism for certain capabilities.for the Flights collection when you add a flight you will need to verify thata. the plane selected is available during the defined time periodb. the plane selected has number of seats sufficient for the passengersc. the crew selected are of the appropriate types and assigned to theproper roles, and that they are not already assigned to anotherflight at the same time. Also that they are available to assignNote that a particular plane or crew member could have multiple assignmentsas long as they do not conflict with dates or times. For this assignmentyou do not need to worry about verifying availability based on starting andending points.You will also need to provide in the Flights collection the ability toprint an assignment schedule for a particular aircraft or for a particularcrew member of all the active assignments. Also to print a list of flights basedon their status. You should also provide a means to delete all cancelledflights or all completed flights form the menu. You should also provide a meansto periodically update all flights from active to completed based on time and date.You will need to provide an appropriate menu system that can be multi-levelif you like.You will need to load and store the data. This can be done automaticallywhen the program starts and ends. You should also want to store after anadd, delete or edit to make sure changes to the data are preserved.For this design portion you will need to turn in an updated design including the sameelements you turned in for Homework 3 and 4 modified to include the inheritancerelationships and additional functionality and attributes. As a review this will consist ofthe items described below.A document set consisting of:
A title page with your name, assignment, course and title
a single class relationship diagram showing only the relationships between theentities
a set of nine individual class content diagrams showing the attributes and methodsfor each of the classes in #2
Step-by-Step algorithms for every method defined in every class inpseudo code. Again you can reuse homework 3 and only add the new or revisedmethods affected by this design change
A 2-3 paragraph minimum report about your experience with the redesign as wellas with implementing the inheritance component of this assignmentAll of these items should be gathered together, in order, in a single PDFFile that you will turn in on Canvas.Then you will need to modify the code from Homework 3 to implement the new featuresyou have designed. This will be worth 70% of the total grade for this assignment. Youshould collect all the cpp files and h files, as well as your makefile, design and report intoa single zip file.You should also include 1-2 paragraphs in your report about the developmentexperience in addition to the section about the design (as described above).There will be point deductions assessed for not zipping your code files together and fornot providing a working makefile.
QUALITY: 100% ORIGINAL – NO PLAGIARISM.
- **REMEMBER TO PRECISE PAGE NUMBER**
- Hit The Order Button To Order A **Custom Paper**