Assignment 1: Design and test a class
This assignment counts 20% towards your module mark. The deadline for submitting your work via Blackboard is 23:59 Monday 11th November 2019.
To demonstrate your ability and understanding in the following tasks:
1. To design and implement a simple class.
2. To write a test program to create instances of your class and demonstrate its behaviour.
3. To collect output from the test program runs, and comment on it.
4. To conform to Java coding conventions, including documentation style comments.
You must create a general design for a class. Design, implement, test and document this class. You will need to make some assumptions and design decisions about the class. Ensure the class documentation makes the purpose and constraints of you class clear. You should strive to write your class so that it is potentially useful in other applications.
Submit four files via Blackboard. Replace <yourClass> with the name of your class:
<yourClass>.java ---source code of your class
<yourClass>Test.java ---test program for your class
output.txt ---output from the test(s) (plain text please)
report.txt ---short reflective report
Add your own observations at the beginning or end of the output files. For example, were the test outcomes as expected?
The report should be about 200-400 words with your reflections about your class, test program and results. You should comment on any assumptions that you made, and where improvements could be made to the design or implementation.
Assessment Criteria - Grade indicators
Pass (50 - 59): You have produced a class with appropriate fields, a constructor, and some modifier and accessor methods. There is a javadoc header describing the class. A test program creates an instance of the class and uses some methods. The code is suitably formatted, syntactically correct, and the test program executes, and output has been recorded.
Merit (60 - 69): Criteria for a Pass have been met. In addition, all standard naming and coding conventions have been met. There has been consideration of class design, which is evidenced by javadoc comments, programmer comments, or the report. There is an appropriate level of documentation throughout the class. All constructors and methods have been used in the test program. The report gives an insight into the design and implementation decisions.
Distinction (70+): Criteria for a Merit have been met. In addition, code style and documentation is to a professional standard. The class design is appropriate for the given scenario. Implementation is (almost) all correct and maintains the integrity of attributes where appropriate. The test program thoroughly exercises the methods and exposes any limitations, in addition to using an ArrayList