# Python辅导 | ITEC103 Assignment 1: Design Object-Oriented Program

ITEC103 Introduction to Software Design
Practical Assignment 1: Design Object-Oriented Program
Due date: 11:59PM, 8th December, 2019
Submission: online via Moodle
For this assignment, you will create a Point3D class to represent a point that has
coordinates in three dimensions labeled x, y and z. You will then use the class to
perform some calculations on an array of these points. You need to draw a UML
diagram for the class (Point3D) and then implement the class.
The Point3D class will have the following state and functionality:
 Three data fields, x, y and z, of type double, represent the point’s coordinates
 Additional data field, colour, of type String, represents the point’s color
 A no-arg constructor creates a point at position (0, 0, 0) and “Red” colour.
 Another constructor creates a point with specified coordinates and colour.
 A getter method is provided for each of the fields.
 A method named distance returns the distance between the current point and
another point passed as an argument.
 The distance method is overloaded to accept the coordinates of the other point.
Write a TestPoint3D class that will have a main method, and perhaps other methods as
required by good design, to test your Point3D class. It will not have user input because
this class will stand as a record of the tests you have applied and you will be able to run
it whenever you alter your Point3D class. For the TestPoint3D class you will need to do
the following:
 Test the basic state and functionality of the Point3D class. Each of the
constructors and each of the methods should be tested using some different data
values. The test code should display values so that they can be checked.
 Write some code to create an array of at least 10 Point3D objects.
 Write a method max, which will accept the array of points as an argument, and
will calculate and display the maximum distance between the points in the array,
and the pair of points for which the maximum occurs.
 Write a method min, which will accept the array of points as an argument, and
will calculate and display the minimum distance between the points in the array,
and the pair of points for which the minimum occurs.
You need to submit a folder which includes the java files (Point3D.java and
TestPoint3D.java) and a short discussion to explain the logic on how the problem has
been solved, UML diagram, and sample output.
Criteria Marks Pass CR DI HD
a. Execution:
Program launches,
executes and
terminates without
crashing; program
executes as specified.
1.0 Provide java and it
executes without
crashing towards
intended output
but a significant
number of
methods are
missing (up to 0.5)
Provide java file
and it executes
without crashing
towards intended
output but
one/two methods
are missing (up to
0.75)
Provide java file and
it executes without
crashing towards
intended output but
one method is
missing (up to 0.85)
Provide java file and
it executes without
crashing towards
intended output (up
to 1.0)
b. Program design &
implementation: Point
3D (3.0) and
TestPoint3D (3.0)
classes are
implemented as
specified, showing
good logic.
4.0 Implement Point3
D and TestPoint3
Dclasses with
some functions
and combine them
for testing (2.0)
Implement and
integrate
the Point3D and
TestPoint3Dclass
es with majority of
the functions for
testing (up to 3.0)
Implement and
integrate
the Point3D and Tes
tPoint3Dclasses with
all functions with
minor error (up to
3.4)
Implement and
integrate
the Point3D and Tes
tPoint3Dclasses with
all functions perfectly
by maintaining
logical flow (up to
4.0)
c. UML design: For
class Point3D.
1 UML with a
number of
components (up to
0.5)
UML with majority
of the
components and
their modifier,
argument, and
return type with
minor error (up to
0.7)
UML with all
components and
their modifier,
argument, and return
type with minor error
(up to 0.8)
UML with all
components and
their modifier,
argument, and return
type (up to 1.0)
d. Submission: The
documents with all
components such as
java files, class files
and discussion (i.e.
logic discussion on
how to solve the
problem within 400
words and sample
output)
1.0 Provide no
discussion
document but
provide a sample
to 0.5)
Provide
discussion
document in very
brief (well below
the expected
word limit) and
provide a sample
(up to 0.75)
Provide discussion
document within
word limit but not
enough explanation
the problem has
been solved, and
provide a sample
0.85)
Provide discussion
document within
word limit proper
explaining the logic
how the problem has
been solved, and a
sample outputs for