Reference no: EM13311341
The course objectives met by this assignment include:
• Course specifications are available online from the USQ website <https://www.usq.edu.au/course/specification/>. Always check the website for the latest version.
Part A
You are required to do the following questions from your text book:
1. Question number 5 page 169
2. Question number 3 page 419
For each question you must start a fresh application - in accordance with the instructions in the Study Book.
Each application must adhere to the object oriented principles covered by this course material. This means that for each application there must be at least two classes, but as many more as required depending on the question.
As a third year course you need to provide source code written clearly, logically and concisely at a high level of proficiency.
You must define each class in accordance to the object oriented principles that means a class needs to be complete in regards to the information it contains and the actions it takes. Any updates must only occur within a class and only through the use of setters and getters.
Each question must ensure that, where appropriate, correct display, correct formatting, correct order, user friendly error messages, correct input validation, and appropriate use and content of array is applied in accordance to the instruction given in the question and in alignment with the course material (text book and study book).
Part B
Provide details about your design of software development 3. For that you need to:
Read software development 3 specifications carefully a number of times before and while you create your class design.
List the names of all the business layer classes that are required to write the solution for the software development 3 (assignment 3) in the table below. The business layer classes contain the data and process the data (including reading from and writing to file). Everything processing that needs to be done with data needs to be in the business layer classes.
Indicate which of these classes is the driver class.
DO NOT provide the functionality that would be handled by the GUI layer (keyboard entry). DO NOT provide any GUI layer classes.
List all class fields (data) that these classes will contain.
Do not list the setters and getters.
List all public and private processing methods. Processing of the data in the class must be done in the class that contains the data. Do not write the source code for these methods for this assignment.
You must indicate which classes are going to process the collections (see comment about collections above). As this course requires you to have prior programming experience, and while we have not yet covered how Java handles arrays and collections, the English word collections (such as stamp collections indicates that there is more than one stamp) reflects more than one item.
Use the table template provide below to provide the above information.
Business Layer Class name
|
Relationship to other classes
|
Class fields (including collections)
|
Public methods
|
Private methods
|
|
Application class
|
|
|
|
|
Driver class
|
|
|
|
|
|
|
|
|
In NetBeans create the following:
Create the application class using an appropriate application name. This name must reflect the whole solution for software development 3.
Add the driver class and name it appropriately.
Add the classes listed in your table above.
Using one class of your choice, write the whole class definition. As you will not have any of the other classes at this time, you are permitted to hard code some of the data into the driver class to enable you to test the class definition by creating instances, using argument constructors and processing methods. You will need to remove this hard coded data later. Implement object-oriented principles in this class definition. In other words, if you are planning to use a parent class, include this parent class as well. As the processing is shared between the parent and child class, they will be regarded as one for this assessment. This applies also if your child class has more than one ancestor.
Test the class by placing the hard coded data into the driver class, which then instantiates your class and calls its instance method. Pass the hard coded data into the constructor and/or method. Test all scenarios - if you have a number of argument constructors, then provide the same amount of instantiation to test each of these argument constructors. Provide all the instance method calls to test all functionality and processing. We have done this in our weekly exercises so you should be familiar with this process. Leave all the hard coded data in the driver class - there must not be any hard coded data in the other classes - so that the marker can see what you have tested. DO NOT cater for GUI or console for this class. This will be needed in your software development 3.