Question: I really need help with this homework. It first starts off with the design then the code comes after. If you cant zoom in to
I really need help with this homework. It first starts off with the design then the code comes after. If you cant zoom in to read the question then I can email them to you. I couldn't post the pictures on Chegg the way i wanted to.
For this assignment we are going to design a system to schedule flight crews and aircraft for Mean Green Airlines. For this we will need the following entities, plus collections for each of the entities: Plane/Aircraft, Crew Member and Flight. The data for a Plan will contain at least the following: Make (e.g. Boeing) Model (eg 737) Tail Number (eg B171A) Number of Seats (eg 137) Range (e.g. 800 miles) Status (out, in, repair) 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 crew member will contain at least: Name ID number Type (Pilot, CoPilot, Cabin) Status (available, on leave, sick) 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 Flight (The transaction entity) will contain at leat the following: Plane ID (Tail number) Pilot ID CoPilot ID Crew IDs for 3 Cabin Crew Members Start Date/Time with TZ End Date/Time with TZ Starting Airport code (3 letters) Ending Airport Code (3 letters) Number of Passengers Status (active, cancelled, completed) 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 collection Print the details for a single entity (do a find first) for the Flights collection when you add a flight you will need to verify that a. the plane selected is available during the defined time period b. the plane selected has number of seats sufficient for the passengers c. the crew selected are of the appropriate types and assigned to the proper roles, and that they are not already assigned to another flight at the same time. Also that they are available to assign Note that a particular plane or crew member 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 points. You will also need to provide in the Flights collection the ability to print an assignment schedule for a particular aircraft or for a particular crew member of all the active assignments. Also to print a list of flights based on their status. You should also provide a means to delete all cancelled flights or all completed flights form the menu. You should also provide a means to 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-level if you like. You will need to load and store the data. 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 UML 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 #1
4. A set of State Diagrams for any stateful variables (depends on your design but probably 2-3 at least)
5. Step by Step algorithms for every method defined in every class in pseudocode
For this assignment we are going to implement Mean Green Airlines that we designed in Homework 3. For the purposes of this assignment you will need to create a user interface menu that matches your design as well as implement each of the entities as classes in C++. Note we will be using C++ and you will need to use the g++ version of the compiler. You may use any of the C++ STL at this time. You may NOT use Inheritance at this time. It is STRONGLY recommended, in fact it is required, that you use a pattern-based solution such as the transaction pattern we have discussed, just as you created in your design. Other methods or designs will significantly increase your development time, stress level, as well as the degree of difficulty for this assignment. And you will lose a portion of the points since it is required. Be sure that your implementation reflects the information in your updated UML design, based on any feedback you received from the grader or instructor. You may need to modify your design from Homework 3 based on grader comments and class discussion. You will need to turn this updated design in as well as use it for the basis of your program Be sure to attend class lectures, as we will discuss many of the topics you will need to complete the assignment! Program Requirements Your program will be written in C++ not any other computer language. You will include the steps in your algorithm in your code. You may, of course, paraphrase them if you like. Your program will be graded based largely upon whether it works correctly on a CSE Department Linux machine. Your program will also be graded upon your program style. At the very least your program should include:
A consistent indentation style as recommended in the textbook and in class. It should also use meaningful variable names.
A block header comment section that includes: Your Name and Email Address, and a brief description of the program. Your program's output should initially display the department and course number, program number, your name, and your email address as in Homework 1. Be sure to create appropriate test data and execute tests for proper and improper data on all functions. You will submit your program source file to the BB Learn website under the "Homework 4" drop box. Make sure you submit your program before the due date and time. You must also submit your updated UML Design file, and a short report about your efforts. Each class should have its own header (.h) and code (.cpp) file as well as a .cpp for main and, if needed, a .h file for main if any other functions of constants are needed. This means you will be turning in 2 PDFs (updated UML document and report) , 7 cpp files (6 classes and 1 main) and at least 6 header files (1 for each class). If you create a .h for main then you will have 7 header files. You should also create a makefile to make it easier to compile your code for both you and the grader. Finally zip all of these files into a single zip file named hw4xxx.zip, where xxx represents your initials. Please be sure and test your program to make sure it is working properly. You can either do this by hand (calculating some test values on paper to see if they match what your program says), or temporarily display various intermediate values you're calculating in the process and desk check the results to make sure they are correct. The more test cases you try and you get correct answers, the more certain you will be that when the grader uses his own test cases that your program will produce the correct result.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
