Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
Design and Implementation of an OO System in Java for a Formula 1 Championship

Objectives

Objectives
The objective of this assessment is for you to demonstrate your ability to design and implement an  OO system consisting of a set of Java classes and a client program. In particular:
1. To design and implement classes with suitable fields, constructors, accessor methods, and  modifier methods.
2. To conform to the standard conventions of Java.
3. To implement classes that are associated by inheritance, delegation, composition and  aggregation.
4. To write a client application that uses your classes to show that they function correctly.Foreword: You are required to build a Java application that provides a basis for storing and  processing details related to a Formula 1 Championship. Although there may be similarities to a real
Formula 1 Championship, and therefore it is logical that you may draw inspiration from this to  assist your understanding, this scenario is intended to be both hypothetical and fictional. To this extent, this specification should be strictly followed and a submission that does not resemble the provided specification will not receive any credit, where it does not meet the intended design or  programming logic.
The Scenario: A Formula 1 Championship comprises of several teams. Each team has two drivers  and many mechanics. Drivers and mechanics are both team members and therefore have a common  set of details (name and address) about them stored, as well as their annual salary. A mechanic has a particular role within the team, e.g. basic engineer, data strategist, driver support,  etc. They also are either based back at the factory or travel to races. A driver has a number of points, based upon their race results. This said, races and results are beyond the scope of the current system release and therefore hypothetical points may be added to a driver at any time.As well as having two drivers and a list of mechanics on their records, a team will also have a number of points, based upon the sum of the points of their two drivers, e.g. driver 1 has 20 points and driver 2 has 76 points then the team has 96 points. A team should be able to calculate their points at any time. The size of a team is based on the number of mechanics, as well as their 2 drivers.
A championship should be ordered based on teams and the points they hold, with the team in 1st position being the one that holds the most points.
Technical Information: The UML class diagram (overleaf) specifies all required classes, interfaces and their relationships. It also lists all fields, constructors and methods that you are required to  implement. You should strictly follow this specification. Note that classes Championship and Team both implement the Iterable interface, whilst class Team  implements the Comparable interface. The compareTo(…) method in the Team class should compare two teams based on their points – this will assist with sorting teams in the Championship  class. It is important to ensure that both teams’ points are calculated prior to comparing them. The  equals(…) methods you are required to override in the TeamMember and Details classes, should  compare each field within those respective classes. A toString() method should be present in each  class and output the current value stored in each of the fields.
Use Cases: You should have a test class, with a main method, that should complete the following use cases for the “Formula 1 Championship System” to show it works:
1. Create 5 teams, each populated with 2 drivers and a minimum of 4 mechanics.
2. Add these 5 teams to a championship, calculate each team’s points and order them on this.
3. Output in order the championship standings including team name, and points, as well as the  full name of each driver within the team and their respective points.
4. Calculate the total combined salary for all mechanics and drivers belonging to the current  championship leading team, and output this figure, along with the number of team members.

support
close