Java代写:CSE100F Flight Operations

代写Java的基础作业,实现一个航班管理系统。整个作业全是琐碎的工作量。

Assessment Objectives

  • to design programs that conform to given specifications
  • to practise combining multiple classes and methods into a whole program
  • to implement programs in Java.
  • to practice using arrays of objects.

Submission Details

Full instructions on how to submit electronic copies of your source code files from your latcs8 account are given at the end. If you have not been able to complete a program that compiles and executes containing all functionality, then you should submit a program that compiles and executes with as much functionality as you have completed. (You may comment out code that does not compile.)

Problem Background

Flight operations on an aircraft carrier are very complex and potentially dangerous. They involve launching aircraft (take off), monitoring aircraft in flight and recovering aircraft (landing). All phases of these operations need to be carefully coordinated to prevent accidents.

Assignment C explored all aspects of these operations, using just 2 Planes. This proved to be such a success that now it has been decided to scale up the program to handle a full air group of 90 Planes.

Planes can now have more than one Crew, but still must have at least one Crew assigned to the Plane before it can be assigned a mission and the Plane must not already be on a mission. When the Plane is on a mission, it is flying, also known as being airborne. It is not possible to have a Crew without there being a Plane first. It is possible to have a Plane without a Crew.

When a Plane is first created, it is placed (added) on the flight deck of the carrier. This means, of course, that when a Plane is first added, it has no Crew, is not on a mission and is not airborne.

As the Plane (and the assigned Crew) fly more missions, the experience level of the Crew increases. The experience level must case insensitive.

  • If the Crew has flown less than 5 missions, then their experience level is trainee

  • If the Crew has flown 5 missions or more, but less than 11 missions, then their experience level is regular

  • If the Crew has flown 11 missions or more, but less than 25 missions, then their experience level is veteran

  • If the Crew has flown 25 missions or more, then their experience level is elite

As soon as the Plane (and all associated Crew) are assigned a mission, the number of missions for all the Crew, of that Plane, is incremented by 1 and the Plane takes off successfully and is airborne.

To end a mission, the Plane must first actually be airborne, if this is the case, then the Plane is considered to have landed safely and is no longer airborne.

Further changes from Assignment C

Every time the program goes through one cycle of the main menu, each Plane that is on a mission has the time that it has been on a mission incremented by 1.

Since there now can be Planes with more than one Crew, how a Plane is assigned a mission has changed.

The user is asked to enter the experience level required for the mission. You may assume that the user enters one of the four experience levels that apply to the Crew.

As before the first thing that must occur is that the program must find that Plane with the tail number, as entered by the user and check that the Plane is not already on a mission. If both these conditions are true, then the user enters the required experience level of the mission.

To be assigned the mission, the average experience level of all the Crew in that

Plane must be equal to or greater than the experience level of the mission as entered by the user.

How to determine the required experience level.

  • If the required experience level of the mission is Trainee, then the Plane can undertake this mission (if the tail number matches and the Plane is not on a mission, of course). This is because the experience level of all the Crew in that Plane must be at least Trainee (the starting level)

  • If the required experience level of the mission is Elite, then only if every Crew, of that Plane, has the Elite experience level could the Plane be assigned the mission. Even one Crew member below Elite experience level would disqualify the Plane.

  • If the required experience level was Regular, for example, and there were four Crew members, if that Plane, one at Trainee, two at Regular and one at Veteran, then the average experience level rating of the whole Crew is Regular and the Plane could be assigned the mission.

  • If the required experience level was Veteran and 3 out 4 of the Crew, of that Plane, were Veterans, but one was Regular, then the average experience level is below the required mission experience level and the Plane could not be assigned the mission.

On the other-hand if 3 out 4 of the Crew were Veterans and the other Crew member had an Elite experience level, then that overall average is above Veteran and the Plane could be assigned the mission (assuming all other conditions are met)

Using code not taught in OOF

Please also note carefully that whilst we encourage innovation and exploring java beyond what has been presented in the subject to date, above all, we encourage understanding.

The assignment that follows can be solved using techniques that have been presented in lectures, lecture / workshops and labs so far.

These are the techniques and knowledge that we will later be examining in the Real Time Test (20 marks) and the exam (60 marks).

Code and techniques that are outside the material presented will not be examined, of course. You are free to implement the program below in any way, with one condition.

Any assignment that uses code that is outside what has been presented to this point must be fully explained at the marking execution test. Not being able to fully explain code outside what has been presented in the subject so far will result in the assignment being awarded a mark of 0, regardless of the correctness of the program.

Submitting an assignment with code outside what has been presented so far and not attending the marking execution test will result in an automatic mark of 0, regardless of the correctness of the submission.