This assignment counts 20% towards your module mark. The deadline for submitting your work via Blackboard is 23:59 Friday 11
th November 2019. Assignment Objectives
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. Your Task 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
These indicators will be used as a basis for the assessment mark and will form your feedback. (20%) Java conventions, and quality of documentation.
· The class header documentation clearly describes the purpose of your class
· Javadoc comments have been provided for each method and constructor
· Javadoc param and return tags have been used appropriately
· You have complied with standard Java conventions for identifier names and indentation
Design and Implementation of the class. · Choose suitable fields, with appropriate data types
· Declare a default constructor, which appropriately initialises fields
· Declare a custom constructor, which appropriately initialises fields
· Standard setter and getter methods have been provided as appropriate
· A suitable toString method provides a textual representation of the current state · Other logical methods have been correctly specified and implemented
· Internal validation within methods has been considered where applicable
· Appropriate use of access modifiers (e.g. private, public) to encapsulate data
Test program and output. · The test program uses each constructor
· The test program calls each method at least once
· The test program thoroughly exercises your class
· The output file(s) show the outcome of test runs with your observations Correctness and Quality as evidenced by the overall submission.
· Your class broadly meets the given specification
· The code is syntactically and logically correct
· Your class or test program shows technical flair/creativity
· Your report gives an insight into your design and implementation decisions
Assessment Criteria - Grade indicators
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.
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